Florent Le Coz
5507adbe94
SocketHandlers own the poller and add themself into it only when the socket 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-27 01:01:44 +02:00
Florent Le Coz
df765faab9
Only call get_last_child() if the node has children
...
Explain that the behaviour is otherwise undefined, in the comment.
2014-05-15 00:47:20 +02:00
Florent Le Coz
7c7da2cedb
"Chat message" is not the same as "any kind of message"
2014-05-15 00:32:31 +02:00
Florent Le Coz
bafde1af9f
Stanza:get_name() only returns the name of the tag, without the namespace
2014-05-15 00:32:31 +02:00
Florent Le Coz
12c8b1ae0b
Disconnect the user from all its IRC servers whenever he returns an error
...
fix #2524
2014-05-15 00:32:31 +02:00
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