Florent Le Coz
01cd6eb516
Split the messages on \n when sending them back to the XMPP user
2014-05-25 17:49:58 +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
712b7bdfdf
Correctly handle the usage of ! as a IRC user mode indicator
...
Since “!” is also the separator between the nickname and the user hostname,
having “!” as the user mode (e.g. !nick!~some@host.bla ) would cause the nick
to be empty. Now we skip it if it is a valid user mode indicator.
2014-05-14 21:48:38 +02:00
Florent Le Coz
634e7cf125
mini reorder
2014-05-11 03:37:07 +02:00
Florent Le Coz
23db31cff1
[cmake] Do not print useless messages when an optional lib is not found
2014-05-11 03:36:42 +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
18b27793de
Use epoll on linux by default, poll otherwise
2014-04-30 02:30:19 +02:00
Florent Le Coz
dd552b1e34
Link with systemd instead of systemd-daemon
2014-04-30 02:03:24 +02:00
Florent Le Coz
28d244631d
Add missing std::string_literals
2014-04-29 23:51:32 +02:00
Florent Le Coz
65f219594d
Fix a little indentation
2014-04-29 21:56:05 +02:00
Florent Le Coz
f6e6b8905b
Use C++14 string_literals
2014-04-29 21:50:13 +02:00
Florent Le Coz
594bac1e84
Remove binary.hpp and use the c++14 feature 0b
2014-04-28 19:44: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
4e61b0d57e
The author name from messages from the server are now nicely formated
2014-04-25 00:53:08 +02:00
Florent Le Coz
77a84fd2d9
NOTICE from channels are displayed in the channel, with a green "[notice]"
2014-04-25 00:35:57 +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
0b4f761e31
Fix the CMakeLists.txt to correctly have -Ibuild/src/
2014-04-22 14:30:23 +02:00
Florent Le Coz
bd8a5a505e
The logging test is less ambiguous
2014-04-21 23:03:58 +02:00
Florent Le Coz
e847084b00
Improve the test on jidprep
2014-04-21 22:59:16 +02:00
Florent Le Coz
4b5d2d11c5
test.cfg file is now created by the test suite
2014-04-21 22:56:22 +02:00
Florent Le Coz
848b50185f
Remove unused action_prefix_len variable
2014-04-21 22:47:20 +02:00
Florent Le Coz
b37fc70fb4
Little updates to the README and INSTALL files
2014-04-18 17:56:06 +02:00
Florent Le Coz
114007f10d
Actually do the last commit, but completely this time
2014-04-18 10:46:25 +02:00
Florent Le Coz
bd7936bdfe
No more missing text when converting IRC colors to xhtml-im
...
fix #2496
2014-04-17 20:37:46 +02:00
Florent Le Coz
9683f0a0b2
s/optionnal/optional/
2014-04-15 07:06:59 +02:00
Florent Le Coz
3468924a62
Document the systemd-daemon optional dependency
2014-04-15 07:06:00 +02:00
Florent Le Coz
9d8166f10d
Add support for systemd-daemon
2014-04-15 07:02:09 +02:00
Florent Le Coz
58a2c00d44
Call on_connection_failed() when the connection fails to be established
2014-04-15 06:47:38 +02:00
Florent Le Coz
f7b75d7eb4
Remove a useless debug log line
2014-04-15 06:42:00 +02:00
Florent Le Coz
996a827a52
Document the new dummy channel, and how biboumi creates and closes connections
2014-04-15 05:42:12 +02:00
Florent Le Coz
fbcce3c112
Fix a wrong description of how addressing works in biboumi
2014-04-15 05:41:17 +02:00
Florent Le Coz
3bc6f18347
Add an explanatory topic on the dummy channel
2014-04-15 05:22:32 +02:00
Florent Le Coz
14b6793d7f
Joining the dummy channel connects to the irc server
2014-04-15 05:11:36 +02:00
Florent Le Coz
28065d3d52
Do not disconnect from the IRC server if the dummy channel is joined
2014-04-15 05:08:07 +02:00
Florent Le Coz
5739d418e2
Better way to leave the dummy room
2014-04-15 04:56:50 +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
cfca16bbec
Ability to leave the dummy channel
2014-04-15 04:44:51 +02:00
Florent Le Coz
576fb3d132
Correctly use the dummy channel whenever we interract with an empty-string chan
2014-04-15 04:44:09 +02:00
Florent Le Coz
7f74f62e56
Merge branch 'master' into dummy_chan
2014-04-15 04:11:27 +02:00
Florent Le Coz
c64bb0bde9
Improved doc rule in the cmake thing
2014-04-13 20:28:42 +02:00
Florent Le Coz
8246849fdf
Do not link with pthread
2014-04-13 19:16:18 +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
3b1bf740a3
Fix the CMakeLists.txt regarding ronn
2014-03-14 01:34:35 +01:00
Florent Le Coz
930696e48a
Remove useless cast
2014-03-10 00:12:42 +01:00
Florent Le Coz
601159e8e2
Fix a bus error by not going above an array boundary
2014-03-03 21:02:55 +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
df774d45a9
Use scatter/gather io with sendmsg to avoid concataning strings all the time
2014-02-27 23:43:05 +01:00
Florent Le Coz
e2b9e80244
Fix a wrong comment
2014-02-26 01:15:44 +01:00
Florent Le Coz
76b131e13a
Do not try to connect to an irc server if we are connected or connecting
2014-02-25 02:10:45 +01:00
Florent Le Coz
f6029d5bcf
Add missing stdexcept includes
2014-02-24 21:03:51 +01:00
Florent Le Coz
5f82c93754
Use store() instead of operator=() for std::atomic<bool> objects
2014-02-24 21:02:21 +01:00
Florent Le Coz
541af5236e
Consider that the connect() succeded if errno EISCONN
...
Apparently on some systems, subsquent connect() calls may fail with EISCONN
error, to indicate that the connection succeded in the background, instead
of returning 0.
2014-02-22 23:36:03 +01:00
Florent Le Coz
730cc6e1bd
Save the addrinfo values for reuse on subsequent connect() call
2014-02-22 23:35:14 +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
190c4ff176
QUIT the irc server when the last channel is left
2014-02-20 02:19:50 +01:00
Florent Le Coz
e390b79a12
Do not receive SIGPIPE when send() is called on a closed socket
...
The error is handled using the return value
2014-02-20 00:00:05 +01:00
Florent Le Coz
16be9af3fc
Send unavailable presence to all muc when the IRC server closes the connection
2014-02-19 23:59:43 +01:00
Florent Le Coz
aeae88dd32
Move CMake’s config.h(.cmake) files into src/
2014-02-19 02:49:22 +01:00
Florent Le Coz
6804f31546
Set sigaction.sa_flags to 0
2014-02-19 02:38:58 +01:00
Florent Le Coz
112197f6ab
Fix the joined flag on channels, avoid sending the topic twice when joining
2014-02-19 02:38:22 +01:00
Florent Le Coz
8fd2746696
Reload the conf on SIGUSR1/2
2014-02-19 02:24:00 +01:00
Florent Le Coz
754dd898a7
Fix a typo in Find* comments
2014-02-19 01:48:55 +01:00
Florent Le Coz
293cab0d37
Fix FindIconv cmake module to correctly compile the c++ test code
2014-02-19 01:11:46 +01:00
Florent Le Coz
e43de640e9
Build the man page as part of the build process, if ronn is found
2014-02-17 03:07:27 +01:00
Florent Le Coz
c5b4be0e17
Little man page update
2014-02-17 02:31:14 +01:00
Florent Le Coz
7cfc79179c
Make install rule
2014-02-17 02:12:12 +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
274859c096
Handle most generic error IRC messages
2014-02-08 08:22:42 +01:00
Florent Le Coz
d46e7ee8c9
Enable TCP keepalive on sockets
2014-02-08 08:14:24 +01:00
Florent Le Coz
eb2a2e75c2
Add missing logger include
2014-02-08 08:14:08 +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
da85617428
Use strerror and log_error instead of perrror
2014-02-08 07:59:02 +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