Florent Le Coz
a38b17692e
Support multi-prefix
...
See http://ircv3.net/specs/extensions/multi-prefix-3.1.html
ref #3103
2016-01-04 13:47:27 +01:00
Florent Le Coz
7e2427148e
Use references instead of raw pointer, to store the “parent” object
...
In Bridge and IrcClient
2015-12-21 14:51:26 +01:00
Florent Le Coz
1f6eea62f4
Add an ad-hoc command to disconnect a user from one or more IRC server
...
fix #3077
2015-12-03 21:15:22 +01:00
Florent Le Coz
241768836d
Add the outgoing_bind option
...
Lets the admin choose a local address to bind each outgoing (IRC) socket.
2015-12-01 16:08:40 +01:00
Florent Le Coz
e8386bd14e
Provide an adhoc option to let user pass the cert verif for some IRC servers
2015-11-05 02:17:19 +01:00
Florent Le Coz
0a4041f7e9
Fix the initial IRC nickname (was using realname, by mistake)
2015-11-02 17:14:21 +01:00
Florent Le Coz
6fb4cf5e4d
Do not forget to implement a method
2015-10-31 06:23:51 +01:00
Florent Le Coz
34fc1d4010
Implement a basic webirc support
...
See https://kiwiirc.com/docs/webirc
fix #3135
2015-10-31 06:17:35 +01:00
Florent Le Coz
2c932cf0f7
Fix the double sending of the USER command
2015-10-31 05:36:33 +01:00
Florent Le Coz
142516a69b
Fix some trivial issues reported by cppcheck
2015-10-26 20:09:39 +01:00
Florent Le Coz
1aa2c2d857
Introduce the realname_from_jid option
...
When set to true, the realname and username are extracted (by default) from
the user’s JID
fix #3136
2015-10-12 17:14:29 +02:00
Florent Le Coz
84aafab604
Provide the “realname_customization” option
...
ref #3136
2015-10-12 16:47:27 +02:00
Florent Le Coz
6512f830fa
The realname is also saved as an IrcClient member
2015-10-12 16:35:50 +02:00
Florent Le Coz
f904d57940
Provide username and realname IRC server options
...
Used in the USER command when connecting to the IRC server, instead of the
first nick.
fix #3028
2015-09-23 18:47:29 +02:00
Florent Le Coz
7247228e97
Connection may be closed from our side too
2015-09-22 03:50:08 +02:00
Florent Le Coz
ceec989077
Add a field (in the configure form) to specifiy an after-connect IRC command
2015-09-21 18:56:37 +02:00
Florent Le Coz
890cfe9099
Provide Ports and TLS Ports IRC-server ad-hoc options
...
This let any user choose which ports to use when connecting to the IRC
server. This also lets the user choose whether or not to force TLS usage (by
setting no non-TLS port).
fix #2731
2015-09-21 04:27:23 +02:00
Florent Le Coz
532228a3ce
Send a PASS IRC command if the “pass” config is sot by a user, on an IRC server
...
fix #3068
2015-09-18 22:09:26 +02:00
Florent Le Coz
73573ebb2a
Trivial cleanup in irc_client.cpp
2015-09-06 18:57:35 +02:00
Florent Le Coz
4cfcc79114
Check the number of argument of every IRC command received from the server
...
Each IrcClient callback has a max and min size of argument, we call the
callback only if the parsed message has a correct number of arguments,
otherwise it is ignored (with a warning logged).
2015-09-06 18:55:48 +02:00
Florent Le Coz
ece4b4969b
If hostname resolution fails, do not try all possible ports
2015-07-09 15:30:24 +02:00
Florent Le Coz
e454c12bd7
Do not forward CTCP commands (PING, VERSION…) to the user as private messages
...
Some XMPP client ping themselves inside MUCs, to know if they are still in
there, this created a flood of PING message in private. If the user is
interested in knowing when they receive a ping or version request, they can
still read their XML logs
2015-05-19 06:43:38 +02:00
Florent Le Coz
fa466f33f4
Ignore commands that flood the user with private messages when listing chans
...
ref #2472
2015-05-19 06:21:59 +02:00
Florent Le Coz
7fe0dc2667
Fix the case of the nick for ping requests
...
fix #3041
2015-05-11 05:31:11 +02:00
Florent Le Coz
221ed2553d
Two trivial fixes
2015-05-07 17:18:40 +02:00
Florent Le Coz
163ace553f
Handle all unknown IRC command by forwarding the arguments as a message body
...
This way, the users can receive the result of any IRC command (although not
parsed nor formatted in anyway) when biboumi doesn’t support it
fix #2884
2015-05-07 17:17:01 +02:00
Florent Le Coz
0a6b673b14
Support raw IRC messages
...
Messages received on an IRC server JID are forwarded as raw IRC messages.
fix #2486
2015-05-07 17:01:17 +02:00
Florent Le Coz
a8225dc54c
Properly check for connecting or connected status before reconnecting
...
Note, in our context, is_connecting() includes the resolving part as well as
the actual connection (if we are using c-ares)
fix #3048
2015-04-21 15:38:22 +02:00
Florent Le Coz
61bfd1db00
Revert "Decode incoming JIDs local part according to xep 0106"
...
This reverts commit ad0465b320 .
Conflicts:
louloulibs
2015-04-21 02:48:28 +02:00
Florent Le Coz
ad0465b320
Decode incoming JIDs local part according to xep 0106
...
This let users send message to nicks such as Q@CServe.quakenet.org
fix #3047
2015-04-20 20:33:02 +02:00
Florent Le Coz
ffcce28c77
Do not log a warning when we receive a PONG command
2015-03-24 04:34:05 +01:00
Florent Le Coz
d600a2843f
Remove all the libs that are now in louloulibs
2015-02-27 12:26:48 +01:00
Florent Le Coz
82256d40a3
Merge branch 'fixed_server'
2015-02-26 17:43:24 +01:00
Florent Le Coz
c01befb054
Implement room discovery using the LIST irc command
...
ref #2472
2015-02-26 05:02:08 +01:00
Florent Le Coz
c307df85c8
Do not handle the "%" char in a special way, in the fixed_server mode
...
Also fix some doc
2015-02-25 19:05:04 +01:00
Florent Le Coz
2df0ebf2df
Add support for a fixed_irc_server configuration
...
This option lets the administrator choose a specific IRC server, and only
that server can be used with this biboumi instance.
In this mode, JIDs to use are changed like this:
- #chan%irc.example.com@biboumi.example.com -> #chan@biboumi.example.com
- user!irc.example.com@biboumi.example.com -> user!@biboumi.example.com
- #chan%irc.example.com@biboumi.example.com/Nick -> #chan@biboumi.example.com/Nick
- %irc.example.com@biboumi.example.com -> no equivalent
- irc.example.com@biboumi.example.com -> no equivalent
2015-02-25 18:35:30 +01:00
Florent Le Coz
1c43c3af4c
Include the IRC hostname in the IRC RECEIVING and SENDING debug messages
...
fix #2715
2015-02-25 16:37:58 +01:00
Florent Le Coz
a447214f10
Remove a recent debug line that should not be there
2015-01-14 13:56:27 +01:00
Florent Le Coz
4203384e2a
Do not send an empty password at all, if the user didn't provide one
2015-01-14 13:53:25 +01:00
Florent Le Coz
60569993b4
Make the password work when we join our first channel on that server
...
Because we need to wait for the welcome message, when we connect to the
server, before sending the JOIN command, we need to also save the value of
the password to reuse it when we actually send the JOIN command
2015-01-14 13:48:34 +01:00
Emmanuel Gil Peyrot
e4fcbd3030
Add support for password-protected IRC rooms.
2015-01-14 12:38:46 +01:00
Florent Le Coz
e2e2f30894
Remove a dummy commented line
2015-01-12 22:57:08 +01:00
Florent Le Coz
b79dbefbe7
If we sent a message to a user, their notices are considered private messages
...
fix #2882
2015-01-12 22:50:06 +01:00
Florent Le Coz
720e31a511
Fix a few issues reported by static analyzers
2014-12-17 13:37:57 +01:00
Florent Le Coz
d8da7984b2
Implement PING, user to user only (XMPP and IRC side, using CTCP PING)
...
ref #2757
2014-11-12 08:12:43 +01:00
Florent Le Coz
e1d69806ed
Rename iq_responder_callback_t to irc_… and add the equivalent to wait for iqs
2014-11-12 06:17:25 +01:00
Florent Le Coz
41e8a3ba9b
Send a proper error on IRC message 438 (nickname change too fast)
...
fix #2576
2014-08-08 00:47:05 +02:00
Florent Le Coz
e3ea0d62c7
Use generic send_presence_error() instead of almost identical specializations
2014-08-08 00:46:27 +02:00
Florent Le Coz
11a31db2d5
Send the reason of the connection close to the user
2014-07-15 15:39:25 +02:00
Florent Le Coz
04d999168a
Add a level of inheritance above SocketHandler
...
SocketHandler has been renamed to TCPSocketHandler
SocketHandler is now a simple interface with a few methods, used only by
Poller.
This way we can inherite from the new SocketHandler class, to handle other
types of sockets, and still make them manageable by the poller without any
change in the Poller class.
2014-07-02 03:01:09 +02:00