Commit Graph
329 Commits
Author SHA1 Message Date
Florent Le Coz e840704b58 Convert received modes into roles and affiliations 2014-01-04 01:59:36 +01:00
Florent Le Coz acf769d83a Use isupport informations to know the user modes when joining
Also remove the duplicate send_self_join methods, user only send_user_join
2014-01-04 01:59:36 +01:00
Florent Le Coz 43cc60e4a9 Handle nickname conflicts by sending the correct XMPP error presence 2014-01-04 01:59:35 +01:00
Florent Le Coz e8e592d1ac Remove disconnected IrcClients 2014-01-04 01:59:35 +01:00
Florent Le Coz 3afb63a650 Shutdown cleanly on SIGINT 2014-01-04 01:59:14 +01:00
Florent Le Coz 983477084c connect() returns a boolean 2013-12-24 14:03:40 +01:00
Florent Le Coz e35472a6cb Correctly send the part message to IRC
By fixing a namespace when looking for an XML element containing that message
2013-12-23 17:02:46 +01:00
Florent Le Coz 7d8ce3b563 Use XML-sanitized strings when serializing stanzas for the XMPP server 2013-12-15 00:34:30 +01:00
Florent Le Coz b11126a19d Provide a JID for IRC users, and add a stringprep dependency for this 2013-12-08 20:14:12 +01:00
Florent Le Coz a4c845ab6c Use the logger everywhere 2013-12-03 19:15:37 +01:00
Florent Le Coz 050cf1fd60 xml-escape the tail in an XmlNode 2013-12-02 13:15:51 +01:00
Florent Le Coz e6f20d3c0f Implement IRC format to xhtml-im conversion
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-28 01:18:26 +01:00
Florent Le Coz 959291afe6 Set the parent of a node passed to add_child, and return it for conveniance 2013-11-27 00:37:23 +01:00
Florent Le Coz 12a18ca748 TIL override and final 2013-11-21 19:38:31 +01:00
Florent Le Coz a85e1abaaa Fix a warning 2013-11-14 23:39:28 +01:00
Emmanuel Gil Peyrot 83219052c3 Fix JID parsing 2013-11-14 23:31:32 +01:00
Florent Le Coz 0859801230 Handle KICK in irc channel, both ways 2013-11-13 01:24:36 +01:00
Florent Le Coz 5817a95b5e Basic handling of modes, both ways 2013-11-12 23:48:10 +01:00
Florent Le Coz 2be4811d14 Unescape XML before sending messages over IRC 2013-11-11 00:29:44 +01:00
Florent Le Coz 096a4e3baf Handle nick changes, both ways 2013-11-11 00:24:34 +01:00
Florent Le Coz 10d5287177 Handle private messages, both ways 2013-11-10 06:33:04 +01:00
Florent Le Coz a992e281c4 Connect to localhost instead of the served hostname
Because the XMPP component connection is only available locally, the XMPP
servers proably only listen on 127.0.0.1 instead of 0.0.0.0.
2013-11-10 05:10:54 +01:00
Florent Le Coz 3d92360310 Use the Expat library directly instead of relying on expatpp
And now we handle namespaces, yay.
And a nice little test.
2013-11-10 02:30:22 +01:00
Florent Le Coz 7c67149935 Implement part and join, both ways 2013-11-09 23:17:48 +01:00
Florent Le Coz af5548897a Cosmetic 2013-11-09 06:29:15 +01:00
Florent Le Coz a418b6ed5d Send and receive messages
Also correctly respond to PING with the id, escape some XML content, but not
always
2013-11-07 01:53:09 +01:00
Florent Le Coz bf7b05ef72 Implement the Bridge class to translate between the two protocols
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-06 21:01:18 +01:00
Florent Le Coz f2f94618fc Add a basic XMPP component implementation, doing the authentication 2013-11-03 17:51:32 +01:00
Florent Le Coz 5bbd34a3a9 Add an XmppParser, and Stanza classes
Generate events on stanza and stream open/close.
Create Stanza and serialize them.

Note: XML namespaces are not handled yet.
2013-11-03 17:19:48 +01:00