Commit Graph
162 Commits
Author SHA1 Message Date
louiz’ c3bb9fe2e2 Handle forced-join by just sending an invitation
fix #3116
2016-10-23 23:59:21 +02:00
louiz’ 00eb18bae8 Refactor channel->parting to a new location 2016-10-23 23:58:03 +02:00
louiz’ dfc0793ef2 Include a private and no-copy nodes in private <message/> to avoid carbon duplication 2016-10-11 00:43:46 +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’ 3620d533ee Avoid sending PART command for unjoined channels
fix #3205
2016-10-05 00:18:22 +02:00
louiz’ 28f1dd7654 Make version requests work with global user JIDs as well
fix #3210
2016-10-03 21:35:16 +02:00
louiz’ 729078a238 Add missing include file 2016-10-03 01:11:54 +02:00
louiz’ 76a8189b46 Implement result-set-management for LIST queries
ref #2948
2016-10-03 01:08:48 +02:00
louiz’ 07e2209596 Add the missing & for 3 std::string function arguments 2016-09-22 00:00:13 +02:00
louiz’ 35fc5d6f29 Some little style/typo fixes 2016-09-21 20:38:14 +02:00
louiz’ 93ebf45f30 Make history messages work with fixed_irc_server
fix #3209
2016-09-20 19:02:12 +02:00
louiz’ 1ffc367753 Send the muc history when a second (or more) resource joins a room 2016-08-23 03:30:40 +02:00
louiz’ cfebca4d7c Only save the logs if recordHistory global config option is true 2016-08-23 01:11:51 +02:00
louiz’ 38a4bcb2d2 Only save messages coming from real MUC participants in the database
Not messages coming from the room, for example
2016-08-22 00:47:55 +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’ 4c8fb9a0e3 Forward IRC invites to XMPP 2016-08-18 20:33:41 +02:00
louiz’ 5406de35a3 On a client error, do not QUIT, just make the resource leave all channels
This should fix #3205
2016-08-17 20:47:33 +02:00
louiz’ 663d4ad54a Forward mediated invitations (XMPP to IRC only) 2016-08-16 15:59:00 +02:00
louiz’ 787563722c Only save the messages into the db if we are actually using a db 2016-08-13 01:46:11 +02:00
louiz’ 8ec823be4f Save received and sent messages into the database 2016-08-12 16:39:19 +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’ f0a25ccda4 Lower case the nick, when forwarding a version or ping request 2016-08-03 11:46:13 +02:00
louiz’ 03feb403f8 Send the iq requests to one random resource instead of the bare JID 2016-07-04 18:49:00 +02:00
louiz’ 5321d29cbd List of channels are saved per-request and not globally
The list would keep the previous results in memory, forever, and the list
would grow each time a new request was made (even with results from
unrelated servers)…
2016-07-04 17:00:05 +02:00
louiz’ 0ce75ab521 Properly remove the resource from the server when we leave the last channel 2016-07-03 16:01:15 +02:00
louiz’ 7d2a2dc8cc Forward ping requests from IRC to XMPP, to one single resource 2016-06-24 11:23:51 +02:00
louiz’ b2e7edeea8 Properly set the “from” of the ping results to the correct full JID 2016-06-24 11:23:01 +02:00
louiz’ 6bd9b1ec14 Remove unused function 2016-06-23 22:18:42 +02:00
Emmanuel Gil Peyrot 0391f17f99 Add XEP-0106 support to the bridge
This allows the user to join channels containing forbidden characters
in the local part, like #r&d or #group/project.
2016-06-21 23:15:25 +01:00
louiz’ 272c0e4995 Reset the preferred private JID when all resources leave a room
For example if we are talking in private with nick Joe from
room #foo, and then we leave that room, we start receiving Joe’s
message from the server-wide JID

e2e tests included!!!
2016-06-10 10:00:48 +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’ 711861d40e Add methods to know which resource is on which server or channel 2016-06-08 01:42:43 +02:00
louiz’ af42073830 Style fix
Move all constructors at the top of classes
2016-05-04 14:16:40 +02:00
louiz’ 04d28f968b Forward the topic authors, handle the author from 333 messages
fix #2
2016-04-22 10:49:07 +02:00
Florent Le Coz 79cdf170d2 Use the configured encoding value when decoding received messages 2016-01-04 13:47:26 +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 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 6c42286109 Remove some useless includes 2015-10-31 05:36:18 +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 f1de6d0320 Add Bridge::get_bare_jid 2015-09-18 22:09:26 +02:00
Florent Le Coz df006a1916 //mode with no argument should work
The server will respond with the current channel mode, in private or
something
2015-08-19 21:22:46 +02:00
Florent Le Coz e8d7965115 Handle errors for the LIST irc command
ref #2472
2015-05-19 06:22:04 +02:00
Florent Le Coz 2195292919 Remove a debug line (breaking our PING stuf) that should not have been commited 2015-05-19 05:15:49 +02:00
Florent Le Coz 501a3f7be2 Fix the way we we forward an XMPP ping result to the IRC server
Our CTCP notice didn't include a \01 char at the end.  We thus failed to
check the PING id when we received it ourself, because one char was missing
2015-05-19 05:13:55 +02:00
Florent Le Coz 763be827c9 Fix a message.arguments size check 2015-05-11 05:43:32 +02:00
Florent Le Coz cc1255d216 Fix the way we check for the PING id 2015-05-11 05:31:47 +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 5475d16b57 Return a stanza error whenever the IRCClient for a given server does not exist
Instead of ignoring the stanza, we send back an error of type
remote-server-not-found each time it's possible.

Also avoid having to do if (!irc) return; everytime.

fix #3045
2015-05-11 04:47:31 +02:00