Commit Graph
171 Commits
Author SHA1 Message Date
Florent Le Coz 579ca4bdb6 Forward iq version results to IRC 2014-05-07 02:02:47 +02:00
Florent Le Coz 04fe15a1e7 Correctly do the error handling when we receive an iq 2014-05-06 23:07:30 +02:00
Florent Le Coz 5ec05cb0ed Forward CTCP version request to XMPP 2014-05-06 22:50:37 +02:00
Florent Le Coz f35db5ceba Implement next_id() to 2014-05-06 22:39:09 +02:00
Florent Le Coz c6059e5a21 Upgrade to C++14 2014-04-28 18:46:25 +02:00
Florent Le Coz ae41c5dee4 Include the xhtml-im element in private messages too 2014-04-25 00:53:59 +02:00
Florent Le Coz 6ebb586b6c Respond to a disco query the gateway jid itself 2014-04-24 19:36:14 +02:00
Florent Le Coz 98ef49e787 Fix the kick by correctly using the from and to attributes 2014-04-22 20:13:02 +02:00
Florent Le Coz 9d8166f10d Add support for systemd-daemon 2014-04-15 07:02:09 +02:00
Florent Le Coz 0d9c1ba313 Merge branch 'master' into dummy_chan 2014-04-15 04:45:59 +02:00
Florent Le Coz 804b686f1c Fix the leave-muc presence stanza 2014-04-15 04:45:20 +02:00
Florent Le Coz 7f74f62e56 Merge branch 'master' into dummy_chan 2014-04-15 04:11:27 +02:00
Florent Le Coz 020325dbb0 [WIP] DummyIrcChannel 2014-04-13 15:37:56 +02:00
Florent Le Coz d2a7fd129a Do not print an error message from expat if the error was "parsing finished" 2014-04-11 23:34:42 +02:00
Florent Le Coz f00f5c3ffb Do not use exceptions for missing tags, improvement in code simplicity 2014-04-11 23:06:13 +02:00
Florent Le Coz a20c60a0d8 Messages coming from the IRC server are of type "chat" 2014-04-10 20:11:17 +02:00
Florent Le Coz 65601a96d2 The default type for message stanza is "normal" 2014-03-28 01:48:08 +01:00
Florent Le Coz e971f64f92 Catch all exception produced by a received message (irc or xmpp) 2014-03-28 01:47:48 +01:00
Florent Le Coz 44b72b743e The absence of a from attribute is an unrecoverable error, just ignore it 2014-03-28 01:47:05 +01:00
Florent Le Coz 3c5f823621 Send a stanza error when receiving bad stanzas
Whether this is a bad-request (missing XML attributes or elements) or an
internal server error.
2014-03-28 01:16:05 +01:00
Florent Le Coz 2ffbfb71dd Idem 2014-03-24 21:29:46 +01:00
Florent Le Coz 1208ba2524 Use the correct type of error 2014-03-24 21:29:12 +01:00
Florent Le Coz e47b164a43 Send an error presence whenever a user tries to join an invalid room 2014-03-24 21:08:09 +01:00
Florent Le Coz cdc3183d9e Introduce two new bool, to know if the xmpp component should try to reconnect
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-24 20:39:59 +01:00
Florent Le Coz ffc820e234 Reconnected immediately to the XMPP whenever it closes the connection 2014-03-24 20:31:02 +01:00
Florent Le Coz e196d2f1f4 Do not send data if we are connected, send it only once we actually are 2014-03-24 18:37:31 +01:00
Florent Le Coz db6ea52b44 Provide details about what error the XML parser encountered 2014-02-28 01:18:21 +01:00
Florent Le Coz 86d4347af8 Avoid unnecessary copies by recv()ing data directly into the expat buffer 2014-02-28 01:14:38 +01:00
Florent Le Coz f6029d5bcf Add missing stdexcept includes 2014-02-24 21:03:51 +01:00
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