louiz’
f0bc6c83a8
Pass the shared_ptr by reference, to avoid useless copies
2017-03-08 19:04:15 +01:00
louiz’
3ae4937fb4
Add missing <algorithm> include for last commit
2017-01-10 00:21:15 +01:00
louiz’
6ececd9f39
Only try to join chans only once, even if we received multiple presences
...
ref #3228
2017-01-10 00:18:59 +01:00
louiz’
4792c70635
Send a presence error from the room, when receiving command ERR_BADCHANNELKEY
...
fix #2886
2016-12-13 14:48:41 +01:00
louiz’
0c8adc85f7
Move all the connect() logic from TCPSocketHandler into a subclass
...
This way, TCPSocketHandler only deal with the message sending/receiving, not
the connect() or anything else. This will be used for implementing servers
(because when a client is accepted, we don’t need all the connect() and dns
resolution stuff).
2016-11-11 02:54:48 +01:00
louiz’
ae02e58b9d
Some cleanups
2016-10-31 14:03:37 +01:00
louiz’
1d2f20600a
Handle IRC message 341 (invite confirmation)
2016-10-31 01:39:35 +01:00
louiz’
5990a8bf8a
Correctly handle the nick change inside the virtual channel
2016-10-24 00:19:30 +02:00
louiz’
00eb18bae8
Refactor channel->parting to a new location
2016-10-23 23:58:03 +02:00
louiz’
8ac8d2b242
Correctly set status="110" in the presence for the target of a kick
2016-10-07 23:28:40 +02:00
louiz’
ffad4306b9
Use LIST * instead of just LIST, because some servers don’t accept it
...
Also add a e2e test for the list query
2016-10-02 12:57:04 +02:00
louiz’
d1626c929f
When joining a channel, send the most recent history found in the database
2016-08-22 00:44:17 +02:00
louiz’
7d05f9b6ae
Fix the author of the IRC invite
2016-08-18 21:13:42 +02:00
louiz’
4c8fb9a0e3
Forward IRC invites to XMPP
2016-08-18 20:33:41 +02:00
louiz’
663d4ad54a
Forward mediated invitations (XMPP to IRC only)
2016-08-16 15:59:00 +02:00
louiz’
0d2dd71de5
Don’t use ! as the separator for nicknames, use % instead
...
It’s now easier to use. The distinction between a nick and a channel name is
based on the first character (by default it's '#' and '&'). The user doesn’t
have to worry about which separator to use anymore.
fix #3066
2016-08-10 15:48:28 +02:00
louiz’
c1f678e450
Fix a missing include for strlen
2016-06-15 16:47:11 +02:00
louiz’
430bf3a661
Properly calculate the maximum size of each message line, before cutting
...
fix #3067
2016-06-15 15:51:13 +02:00
louiz’
849c50f9f3
Save our own host, as reported by the server
2016-06-15 15:51:13 +02:00
louiz’
4b1c580bb9
cut messages at 512 bytes, taking into account the UTF-8 codepoints
...
ref #3067
2016-06-15 15:50:45 +02:00
louiz’
80d0c19c5a
Refactor, test and improve the way we cut too-long messages for IRC
2016-06-14 20:14:36 +02:00
louiz’
5a2e611617
Show off, with some variadic templates, for the logger module
2016-06-13 20:46:30 +02:00
louiz’
2d11a5f494
Support multiple nick session, except for IQs
...
ref #2556
2016-06-08 01:42:43 +02:00
louiz’
507d0c2cbe
Forward everything to all concerned XMPP resources
2016-06-08 01:42:43 +02:00
louiz’
fdddd447b3
Use “using” instead of typedef
2016-05-13 01:22:49 +02:00
louiz’
04d28f968b
Forward the topic authors, handle the author from 333 messages
...
fix #2
2016-04-22 10:49:07 +02:00
louiz’
464261d4ed
Support RPL_NOTPIC and 005
2016-04-22 10:49:06 +02:00
Florent Le Coz
0a352e557d
Move the irc callbacks into the cpp file
2016-02-10 19:19:21 +01:00
Florent Le Coz
1f8333f23f
Support a trusted SHA1 fingerprint to be configured for each IRC server
2016-01-04 13:47:27 +01:00
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
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
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