Florent Le Coz
ae469c21ff
Fix “cleanely” typo
2015-02-21 05:28:21 +01:00
Florent Le Coz
4069c5e4ac
Add a missing #include for sockaddr_in6
2015-01-26 21:15:09 +01:00
Florent Le Coz
51c28a2dbb
Fix the include guard of revstr.hpp
2015-01-26 21:12:40 +01:00
Florent Le Coz
2c5d3d89b0
Change IRC modes when receiving an affiliation/role change request
...
fix #2946
2015-01-24 17:33:04 +01:00
Florent Le Coz
a447214f10
Remove a recent debug line that should not be there
2015-01-14 13:56:27 +01:00
Florent Le Coz
4203384e2a
Do not send an empty password at all, if the user didn't provide one
2015-01-14 13:53:25 +01:00
Florent Le Coz
60569993b4
Make the password work when we join our first channel on that server
...
Because we need to wait for the welcome message, when we connect to the
server, before sending the JOIN command, we need to also save the value of
the password to reuse it when we actually send the JOIN command
2015-01-14 13:48:34 +01:00
Florent Le Coz
f9e259c266
Fix a little bit of style stuf from previous commit
2015-01-14 13:36:42 +01:00
Emmanuel Gil Peyrot
e4fcbd3030
Add support for password-protected IRC rooms.
2015-01-14 12:38:46 +01:00
Florent Le Coz
e2e2f30894
Remove a dummy commented line
2015-01-12 22:57:08 +01:00
Florent Le Coz
b79dbefbe7
If we sent a message to a user, their notices are considered private messages
...
fix #2882
2015-01-12 22:50:06 +01:00
Florent Le Coz
f4fb961df5
And another trivial -Weffc++ warning
2014-12-17 13:55:41 +01:00
Florent Le Coz
720e31a511
Fix a few issues reported by static analyzers
2014-12-17 13:37:57 +01:00
Florent Le Coz
0ab5ecea13
Cache the result of jidprep()
...
Avoid doing repetitive calculations, if we call jidprep() on the same JID multiple times
2014-11-24 03:38:10 +01:00
Florent Le Coz
2bb4a347cd
Improve dependencies checks in the build process
...
- Rename all Find*.cmake files to uppercase, to make things more consistent,
and fix some issues with them (notably the REQUIRED flag)
- Rename SYSTEMDDAEMON to SYSTEMD and only use the libsystemd instead of
libsystemd-daemon because it's deprecated for a long time now
- Provide a WITH_* and WITHOUT_* switch for all optional dependencies
- Document things in the INSTALL file
2014-11-13 06:44:15 +01:00
Florent Le Coz
12eeb4d11e
Implement the PING on a server or the gateway itself
...
fix #2575
2014-11-12 08:14:56 +01:00
Florent Le Coz
80789c2e92
send_iq_result can have a "from" with just the domain name
2014-11-12 08:13:09 +01:00
Florent Le Coz
4a8bcd3cbd
Implement PING to in-room participant
...
ref #2575
2014-11-12 08:13:02 +01:00
Florent Le Coz
c20bdd6879
Add utils::revstr
2014-11-12 08:13:02 +01:00
Florent Le Coz
d8da7984b2
Implement PING, user to user only (XMPP and IRC side, using CTCP PING)
...
ref #2757
2014-11-12 08:12:43 +01:00
Florent Le Coz
e1d69806ed
Rename iq_responder_callback_t to irc_… and add the equivalent to wait for iqs
2014-11-12 06:17:25 +01:00
Florent Le Coz
41e8a3ba9b
Send a proper error on IRC message 438 (nickname change too fast)
...
fix #2576
2014-08-08 00:47:05 +02:00
Florent Le Coz
e3ea0d62c7
Use generic send_presence_error() instead of almost identical specializations
2014-08-08 00:46:27 +02:00
Florent Le Coz
b39ed80dbb
Add two missing type="error" in some presence errors
2014-07-21 22:05:15 +02:00
Florent Le Coz
609722b4e7
Merge branch 'v1'
...
Conflicts:
src/network/socket_handler.hpp
2014-07-15 15:56:37 +02:00
Florent Le Coz
6a4e17cb0a
Fix IPv6 support (sockaddr size)
...
Since struct sockaddr is too small to contain an IPv6, we use struct
sockaddr_in6 instead, and we cast it where needed
2014-07-15 15:50:35 +02:00
Florent Le Coz
11a31db2d5
Send the reason of the connection close to the user
2014-07-15 15:39:25 +02:00
Florent Le Coz
8c34576ea0
Move some members of TCPSocketHandler into the SocketHandler class
2014-07-03 03:31:50 +02:00
Florent Le Coz
04d999168a
Add a level of inheritance above SocketHandler
...
SocketHandler has been renamed to TCPSocketHandler
SocketHandler is now a simple interface with a few methods, used only by
Poller.
This way we can inherite from the new SocketHandler class, to handle other
types of sockets, and still make them manageable by the poller without any
change in the Poller class.
2014-07-02 03:01:09 +02:00
Florent Le Coz
cec9fed1f4
Fix a typo
2014-06-30 01:33:45 +02:00
Florent Le Coz
735ae278f3
Enable assert() even in release mode, in the test_suite
2014-06-30 01:27:41 +02:00
Florent Le Coz
01c1ea14f7
Use systemd-daemon logging prefix if available
2014-06-30 01:04:03 +02:00
Florent Le Coz
70ebbae15e
Regularly send a notification for the systemd watchdog
2014-06-30 01:03:07 +02:00
Florent Le Coz
48ed47207c
Add missing <string> include in timed_events.hpp
...
fix #2552
2014-06-28 18:38:50 +02:00
Florent Le Coz
6f181acc65
Fix ad-hoc “disconnect user” command. Do not add the <error/> on success
2014-06-25 15:36:06 +02:00
Florent Le Coz
7b785cf552
Delete the timeout event using the correct socket number, instead of -1
...
Was causing the event to not be removed in case of connection failure, which
lead to a dangling timed event named “timeout-1”, which was called later, by
some other SocketHandler for which even the socket creation failed (so, its
socket is -1), with a pointer to the previous SocketHandler which has
disappeared for a long time: segmentation fault etc.
2014-06-22 23:56:51 +02:00
Florent Le Coz
545ab11ff3
Support version request to IRC users
2014-06-20 11:51:49 +02:00
Florent Le Coz
b747f2825c
Respond to IQ version on the gateway, a server or a chan with biboumi version
...
ref #2455
2014-06-20 10:45:42 +02:00
Florent Le Coz
aaf7177413
Write the software version, including the git hash, in config.h using cmake
2014-06-20 10:45:38 +02:00
Florent Le Coz
2117838cf9
Return a proper iq when the IRC server responds to our kick
...
A result or an error, depending on the type of message
2014-06-19 22:22:29 +02:00
Florent Le Coz
26ffc8fe12
Implement a way to add callbacks, waiting for an IRC event to return an iq
2014-06-19 22:21:49 +02:00
Florent Le Coz
a705b9af7b
Remove a duplicate “connection closed” message
2014-06-19 01:10:13 +02:00
Florent Le Coz
77fe8b89a3
Make the Botan rng, credential_manager etc be static
...
This actually makes the session_manager be useful, and saves a few octets of
memory for the other ones
2014-06-19 01:04:40 +02:00
Florent Le Coz
04de62a4e0
Messages to room participants are forwarded to the IRC user
...
For example, both JID #chan%server@biboumi/Toto and toto!server@biboumi are
equivalent, except that if you send a message to the first one, subsequent
messages coming from the user toto will come from that same JID. This is
done to be consistent for the XMPP user, and respond from the same JID than
the 'to' of the first message.
fix #2468
2014-06-18 22:42:58 +02:00
Florent Le Coz
56eb5df28a
Mini comment fix
2014-06-18 18:46:41 +02:00
Florent Le Coz
7c1a38999c
Rewrite the whole IID usage
...
IRC users and channels are now distinguished by the separator used in the
IID (% or !).
ref #2468
2014-06-11 02:37:11 +02:00
Florent Le Coz
6210a9d50b
Add an <error/> element when the provided form is wrong, in two ad-hoc commands
2014-06-11 01:00:02 +02:00
Florent Le Coz
5d1a567ea5
Handle the 'cancel' ad-hoc action, and return an error for unsupported actions
...
ref #2521
2014-06-11 00:49:42 +02:00
Florent Le Coz
3ea029dd98
Remove inactive ad-hoc sessions after a given time
...
ref #2521
2014-06-11 00:49:39 +02:00
Florent Le Coz
1604320a23
Make the XMPP component port configurable
...
fix #2541
2014-06-08 23:30:17 +02:00