Florent Le Coz
9837f611d9
Update the CHANGELOG and INSTALL files, mentioning c-ares
2015-02-23 14:03:00 +01:00
Florent Le Coz
7ec1f1242f
Add the FindCARES cmake module
2015-02-23 13:56:08 +01:00
Florent Le Coz
b86547dc1e
Implement async DNS resolution using c-ares
...
fix #2533
2015-02-23 13:56:08 +01:00
Florent Le Coz
a17135720e
Fix typo
2015-02-22 18:00:35 +01:00
Florent Le Coz
a50ca30e76
Use a timer to try reconnecting to the XMPP server only each 2 seconds
...
When the connection is lost, immediately try to reconnect, then try to
reconnect every 2 seconds. This is much better than the previous “Try to
re-connect as fast as possible”.
2015-02-21 06:45:11 +01:00
Florent Le Coz
3032dc3580
Remove the XmppComponent::last_auth bool that was never used anywhere
2015-02-21 05:49:57 +01:00
Florent Le Coz
0038e15b5a
Properly display [DEBUG] on debug lines, instead of [ERROR]
2015-02-21 05:43:20 +01:00
Florent Le Coz
03a8accc46
Fix “connections” typo
2015-02-21 05:30:36 +01:00
Florent Le Coz
ae469c21ff
Fix “cleanely” typo
2015-02-21 05:28:21 +01:00
Florent Le Coz
a37573513b
Add a tl;dr section in the INSTALL file
2015-01-28 00:53:40 +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
fd0a3225be
Document the new affiliation/role stuff, and update changelog
2015-01-24 18:03:00 +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
ddc989ce5d
Update changelog with the password feature
2015-01-14 13:54:21 +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
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
0ee47f628d
Fix the cmake LIBUUID_INCLUDE_DIRS value when we are not using pkg-config
2015-01-10 04:19:33 +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
7bfe695c2f
Use hardened_build 1 in the spec file
...
See http://fedoraproject.org/wiki/Packaging:Guidelines#PIE
2014-11-13 06:54:30 +01:00
Florent Le Coz
0de421fad8
Build with the fedora CFLAGS in the .spec
2014-11-13 06:46:08 +01:00
Florent Le Coz
3736cc1f4c
Use the new flags in the .spec file
2014-11-13 06:44:15 +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
dccd8039ad
Merge branch 'v1'
2014-08-29 03:51:51 +02:00
Florent Le Coz
3d254281af
[spec] Update the URL, and do not hardcode the version in it
2014-08-29 03:50:24 +02:00
Florent Le Coz
546f3536ee
Escape a # in biboumi.1.md
2014-08-18 02:23:15 +02:00
Florent Le Coz
940c037a17
Wrap a paragraph from INSTALL file to 79 chars
2014-08-18 02:17:32 +02:00
Florent Le Coz
017f69a03b
Merge branch 'v1'
...
Conflicts:
CMakeLists.txt
2014-08-18 02:08:30 +02:00
Florent Le Coz
f4c08242fb
Update spec file to 1.1
2014-08-18 02:07:25 +02: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
7d99ba8dd9
Run the service with the nobody user
2014-07-31 15:27:11 +02:00
Florent Le Coz
8030e5096e
Do not create a useless biboumi unix user with the RPM package
2014-07-31 15:26:47 +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
cf32446d0a
Release version 1.1
2014-07-16 00:38:38 +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
b94247813b
Provide WITHOUT_BOTAN and WITHOUT_SYSTEMD cmake flags
...
Use them to build without linking to them, even if they are on your system
2014-07-15 15:44:19 +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
4582f10797
Bump master version to 2.0~dev
2014-07-12 14:30:27 +02:00
Florent Le Coz
812f99ba70
Merge branch 'v1'
2014-07-12 14:29:59 +02:00
Florent Le Coz
b578aebc03
Release version 1.0
2014-07-12 14:17:23 +02:00
Florent Le Coz
fa74493c40
Add a CHANGELOG file describing a general view of 1.0 features
2014-07-12 14:17:02 +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
b0ae8c66e3
Also remove that from the spec file
2014-06-30 02:45:15 +02:00
Florent Le Coz
d64626648e
Remove biboumi_logdir from the spec file
2014-06-30 01:41:04 +02:00
Florent Le Coz
eb76171aa0
Run the test_suite in the spec %check section
2014-06-30 01:40:26 +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
7fcc77f52e
Provide a spec file to build a Fedora RPM
2014-06-30 01:11:11 +02:00
Florent Le Coz
01c1ea14f7
Use systemd-daemon logging prefix if available
2014-06-30 01:04:03 +02:00
Florent Le Coz
e01e34db22
Provide an example unit file for systemd
2014-06-30 01:04:02 +02:00
Florent Le Coz
5a43ac9a0d
Provide an example configuration file
2014-06-30 01:04:02 +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
a165e59240
Fix some cmake issues
...
fix #2551
2014-06-30 01:02:59 +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
524f7925c4
Add some details in the INSTALL file
2014-06-25 01:02:03 +02:00
Florent Le Coz
2cf64e10b5
Provide a make dist target
2014-06-24 17:48:31 +02:00
Florent Le Coz
39175e1ad6
Little documentation update
2014-06-24 13:56:44 +02:00
Florent Le Coz
a2d55e4bea
Rename cmake target test->test_suite for cmake 3.0
...
See CMP0037
2014-06-23 01:00:21 +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
386ac4186a
Document the new way to send private messages
2014-06-18 22:55:18 +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
9757c2c695
includes from cmake BINARY_DIR should be included before considering SOURCE_DIR
2014-06-18 11:45:09 +02:00
Florent Le Coz
6cbaa2c669
Document the encryption, and a few documentation issues are fixed
2014-06-13 01:46:12 +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
Florent Le Coz
8b30e312bb
Add a TimedEvent to cancel the connection to a server after 5 seconds
2014-06-08 15:13:08 +02:00
Florent Le Coz
349dc06e91
Silence warnings coming from Botan headers
2014-06-08 13:03:05 +02:00
Florent Le Coz
800d7df9aa
Properly search for libbotan even in a botan-1.11 subdirectory
2014-06-08 12:59:50 +02:00
Florent Le Coz
2d5e2fdcf6
Give two supported compilers, as examples
2014-06-08 05:15:17 +02:00
Florent Le Coz
198b0fa6da
Document the new optional libbotan dependency
2014-06-08 05:14:55 +02:00
Florent Le Coz
23f32ba39e
Implement TLS support using Botan
...
For now, it tries two TLS ports and then connects to the non-tls port. In
the future we would like the user to be able to configure that.
fix #2435
2014-06-08 05:07:54 +02:00
Florent Le Coz
fa07130991
Little doc fix
2014-06-06 02:15:35 +02:00
Florent Le Coz
be6265544a
Make the destructor of the SocketHandler class protected non-virtual
2014-06-05 02:24:03 +02:00