Florent Le Coz
99aba5667d
Connection to servers does not block the process anymore
2014-02-22 21:42:24 +01:00
Florent Le Coz
61ca40fa0e
Delete empty bridges objects
2014-02-20 02:31:16 +01:00
Florent Le Coz
6700d5daf2
Fix quit messages not being sent to XMPP
2014-02-17 01:56:22 +01:00
Florent Le Coz
cf9f3a1f28
Include role and affiliation in the join presence of the nick change process
2014-02-17 01:43:58 +01:00
Florent Le Coz
abcf16bc28
Log (xmpp) stream-level errors
2014-02-17 01:31:19 +01:00
Florent Le Coz
6dbf36b974
Revert "Do not include an empty item XML element in join presences"
...
This reverts commit e3b91475ff .
2014-02-17 01:21:38 +01:00
Florent Le Coz
e3b91475ff
Do not include an empty item XML element in join presences
2014-02-08 08:04:33 +01:00
Florent Le Coz
c8b41d5e35
Be verbose about IRC server connection failures, and handle them properly
2014-02-08 07:52:22 +01:00
Florent Le Coz
de7b3503a4
Jidprep also handles the resource part
2014-01-28 03:30:12 +01:00
Florent Le Coz
d1c6d64546
Add missing stdexcept includes
2014-01-13 20:19:10 +01:00
Florent Le Coz
feb77bbdad
Do not change the affiliation/role to "none"/"participant" when changing nick
...
fixes #2436
2014-01-13 20:14:12 +01:00
Florent Le Coz
48b4f7b83f
Remove cryptopp dependency, directly include a simple sha1 implementation
2014-01-13 20:11:36 +01:00
Florent Le Coz
fbec16f1a2
Possibility to change a channel's topic
2014-01-04 01:59:36 +01:00
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