summaryrefslogtreecommitdiff
path: root/src/xmpp/xmpp_component.hpp
AgeCommit message (Collapse)Author
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-07-15Send the reason of the connection close to the userFlorent Le Coz
2014-07-02Add a level of inheritance above SocketHandlerFlorent Le Coz
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-06-20Support version request to IRC usersFlorent Le Coz
2014-06-20Respond to IQ version on the gateway, a server or a chan with biboumi versionFlorent Le Coz
ref #2455
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-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-31Add an ad-hoc command to disconnect some usersFlorent Le Coz
2014-05-30Use libuuid to generate unique IDs for iq and adhoc sessionsFlorent Le Coz
2014-05-30Implement the support for adhoc commandsFlorent Le Coz
We have two basic example commands. But it’s not entirely finished because there are some error checks that we don’t do. ref #2521
2014-05-28Change the way the namespaces are handled in the XmlNode classFlorent Le Coz
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.
2014-05-06Forward CTCP version request to XMPPFlorent Le Coz
2014-05-06Implement next_id() toFlorent Le Coz
2014-04-24Respond to a disco query the gateway jid itselfFlorent Le Coz
2014-04-10Messages coming from the IRC server are of type "chat"Florent Le Coz
2014-03-28Send a stanza error when receiving bad stanzasFlorent Le Coz
Whether this is a bad-request (missing XML attributes or elements) or an internal server error.
2014-03-24Send an error presence whenever a user tries to join an invalid roomFlorent Le Coz
2014-03-24Introduce two new bool, to know if the xmpp component should try to reconnectFlorent Le Coz
If we never succeeded our connection+auth process, means we should probably not attempt any-more, and just give up. If we ever did, this means a reconnect is a good idea
2014-03-24Reconnected immediately to the XMPP whenever it closes the connectionFlorent Le Coz
2014-02-28Avoid unnecessary copies by recv()ing data directly into the expat bufferFlorent Le Coz
2014-02-22Connection to servers does not block the process anymoreFlorent Le Coz
2014-02-17Include role and affiliation in the join presence of the nick change processFlorent Le Coz
2014-02-17Log (xmpp) stream-level errorsFlorent Le Coz
2014-01-04Convert received modes into roles and affiliationsFlorent Le Coz
2014-01-04Use isupport informations to know the user modes when joiningFlorent Le Coz
Also remove the duplicate send_self_join methods, user only send_user_join
2014-01-04Handle nickname conflicts by sending the correct XMPP error presenceFlorent Le Coz
2014-01-04Remove disconnected IrcClientsFlorent Le Coz
2014-01-04Shutdown cleanly on SIGINTFlorent Le Coz
2013-12-24connect() returns a booleanFlorent Le Coz
2013-12-08Provide a JID for IRC users, and add a stringprep dependency for thisFlorent Le Coz
2013-11-28Implement IRC format to xhtml-im conversionFlorent Le Coz
The generated XML is very verbose because each IRC formatting tag makes us close a <span/> element and reopen it with the new style applied. However, this works quite well and is easy to implement.
2013-11-21TIL override and finalFlorent Le Coz
2013-11-13Handle KICK in irc channel, both waysFlorent Le Coz
2013-11-11Handle nick changes, both waysFlorent Le Coz
2013-11-09Implement part and join, both waysFlorent Le Coz
2013-11-07Send and receive messagesFlorent Le Coz
Also correctly respond to PING with the id, escape some XML content, but not always
2013-11-06Implement the Bridge class to translate between the two protocolsFlorent Le Coz
Add all useful classes as well: Jid, Iid, IrcChannel, IrcUser etc to properly keep the informations about what we receive from the IRC server. Only handle the MUC join stanza, and send the list of users in the IRC channel to the XMPP user, and the IRC channel’s topic, for now.
2013-11-03Add a basic XMPP component implementation, doing the authenticationFlorent Le Coz