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
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
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
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
2c5d3d89b0
Change IRC modes when receiving an affiliation/role change request
...
fix #2946
2015-01-24 17:33:04 +01:00
Emmanuel Gil Peyrot
e4fcbd3030
Add support for password-protected IRC rooms.
2015-01-14 12:38:46 +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
12eeb4d11e
Implement the PING on a server or the gateway itself
...
fix #2575
2014-11-12 08:14:56 +01:00
Florent Le Coz
4a8bcd3cbd
Implement PING to in-room participant
...
ref #2575
2014-11-12 08:13:02 +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
e3ea0d62c7
Use generic send_presence_error() instead of almost identical specializations
2014-08-08 00:46:27 +02:00
Florent Le Coz
545ab11ff3
Support version request to IRC users
2014-06-20 11:51:49 +02:00
Florent Le Coz
2117838cf9
Return a proper iq when the IRC server responds to our kick
...
A result or an error, depending on the type of message
2014-06-19 22:22:29 +02:00
Florent Le Coz
26ffc8fe12
Implement a way to add callbacks, waiting for an IRC event to return an iq
2014-06-19 22:21:49 +02:00
Florent Le Coz
04de62a4e0
Messages to room participants are forwarded to the IRC user
...
For example, both JID #chan%server@biboumi/Toto and toto!server@biboumi are
equivalent, except that if you send a message to the first one, subsequent
messages coming from the user toto will come from that same JID. This is
done to be consistent for the XMPP user, and respond from the same JID than
the 'to' of the first message.
fix #2468
2014-06-18 22:42:58 +02:00
Florent Le Coz
7c1a38999c
Rewrite the whole IID usage
...
IRC users and channels are now distinguished by the separator used in the
IID (% or !).
ref #2468
2014-06-11 02:37:11 +02:00
Florent Le Coz
c2311b2893
Send (every 240s) a PING command to all connected irc servers
...
fix #2452
2014-05-30 16:08:23 +02:00
Florent Le Coz
6c2d03da4e
Send an error presence when the connection to the IRC server fails
2014-05-28 01:27:41 +02:00
Florent Le Coz
5507adbe94
SocketHandlers own the poller and add themself into it only when the socket is created
...
We want to call socket() with the parameters provided by getaddrinfo, so we
can’t addd the fd into the poller immediately. We need to wait the
connection attempt, and then the SocketHandler can call add_socket_handler
itself, if the connection succeeds, or is in progress.
2014-05-27 01:01:44 +02:00
Florent Le Coz
7fb0b671bb
Also do that cut of message on \n for private messages, and handle /me
2014-05-25 17:50:03 +02:00
Florent Le Coz
01cd6eb516
Split the messages on \n when sending them back to the XMPP user
2014-05-25 17:49:58 +02:00
Florent Le Coz
12c8b1ae0b
Disconnect the user from all its IRC servers whenever he returns an error
...
fix #2524
2014-05-15 00:32:31 +02:00