summaryrefslogtreecommitdiff
path: root/src/bridge/bridge.cpp
AgeCommit message (Collapse)Author
2016-08-03Lower case the nick, when forwarding a version or ping requestlouiz’
2016-07-04Send the iq requests to one random resource instead of the bare JIDlouiz’
2016-07-04List of channels are saved per-request and not globallylouiz’
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-03Properly remove the resource from the server when we leave the last channellouiz’
2016-06-24Forward ping requests from IRC to XMPP, to one single resourcelouiz’
2016-06-24Properly set the “from” of the ping results to the correct full JIDlouiz’
2016-06-23Remove unused functionlouiz’
2016-06-21Add XEP-0106 support to the bridgeEmmanuel Gil Peyrot
This allows the user to join channels containing forbidden characters in the local part, like #r&d or #group/project.
2016-06-10Reset the preferred private JID when all resources leave a roomlouiz’
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-08Support multiple nick session, except for IQslouiz’
ref #2556
2016-06-08Forward everything to all concerned XMPP resourceslouiz’
2016-06-08Add methods to know which resource is on which server or channellouiz’
2016-05-04Style fixlouiz’
Move all constructors at the top of classes
2016-04-22Forward the topic authors, handle the author from 333 messageslouiz’
fix #2
2016-01-04Use the configured encoding value when decoding received messagesFlorent Le Coz
2015-12-21Use references instead of raw pointer, to store the “parent” objectFlorent Le Coz
In Bridge and IrcClient
2015-12-03Add an ad-hoc command to disconnect a user from one or more IRC serverFlorent Le Coz
fix #3077
2015-10-31Implement a basic webirc supportFlorent Le Coz
See https://kiwiirc.com/docs/webirc fix #3135
2015-10-31Remove some useless includesFlorent Le Coz
2015-10-12Introduce the realname_from_jid optionFlorent Le Coz
When set to true, the realname and username are extracted (by default) from the user’s JID fix #3136
2015-09-18Add Bridge::get_bare_jidFlorent Le Coz
2015-08-19//mode with no argument should workFlorent Le Coz
The server will respond with the current channel mode, in private or something
2015-05-19Handle errors for the LIST irc commandFlorent Le Coz
ref #2472
2015-05-19Remove a debug line (breaking our PING stuf) that should not have been commitedFlorent Le Coz
2015-05-19Fix the way we we forward an XMPP ping result to the IRC serverFlorent Le Coz
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-11Fix a message.arguments size checkFlorent Le Coz
2015-05-11Fix the way we check for the PING idFlorent Le Coz
2015-05-11Fix the case of the nick for ping requestsFlorent Le Coz
fix #3041
2015-05-11Return a stanza error whenever the IRCClient for a given server does not existFlorent Le Coz
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-07Support raw IRC messagesFlorent Le Coz
Messages received on an IRC server JID are forwarded as raw IRC messages. fix #2486
2015-02-27Remove all the libs that are now in louloulibsFlorent Le Coz
2015-02-26Merge branch 'fixed_server'Florent Le Coz
2015-02-26Implement room discovery using the LIST irc commandFlorent Le Coz
ref #2472
2015-02-25Add support for a fixed_irc_server configurationFlorent Le Coz
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-01-24Change IRC modes when receiving an affiliation/role change requestFlorent Le Coz
fix #2946
2015-01-14Add support for password-protected IRC rooms.Emmanuel Gil Peyrot
2014-12-17Fix a few issues reported by static analyzersFlorent Le Coz
2014-11-12Implement the PING on a server or the gateway itselfFlorent Le Coz
fix #2575
2014-11-12Implement PING to in-room participantFlorent Le Coz
ref #2575
2014-11-12Implement PING, user to user only (XMPP and IRC side, using CTCP PING)Florent Le Coz
ref #2757
2014-11-12Rename iq_responder_callback_t to irc_… and add the equivalent to wait for iqsFlorent Le Coz
2014-08-08Use generic send_presence_error() instead of almost identical specializationsFlorent Le Coz
2014-06-20Support version request to IRC usersFlorent Le Coz
2014-06-19Return a proper iq when the IRC server responds to our kickFlorent Le Coz
A result or an error, depending on the type of message
2014-06-19Implement a way to add callbacks, waiting for an IRC event to return an iqFlorent Le Coz
2014-06-18Messages to room participants are forwarded to the IRC userFlorent Le Coz
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-11Rewrite the whole IID usageFlorent Le Coz
IRC users and channels are now distinguished by the separator used in the IID (% or !). ref #2468
2014-05-30Send (every 240s) a PING command to all connected irc serversFlorent Le Coz
fix #2452
2014-05-28Send an error presence when the connection to the IRC server failsFlorent Le Coz
2014-05-27SocketHandlers own the poller and add themself into it only when the socket ↵Florent Le Coz
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.