Commit Graph
100 Commits
Author SHA1 Message Date
Florent Le Coz d5324ac778 Re-order a few things in main.cpp 2015-04-13 01:53:53 +02:00
Florent Le Coz ffcce28c77 Do not log a warning when we receive a PONG command 2015-03-24 04:34:05 +01:00
Florent Le Coz c243fea660 Update to latest louloulibs revision 2015-03-04 05:56:44 +01:00
Florent Le Coz 33cdc6010e Set the default value to biboumi.cfg 2015-03-04 05:56:08 +01:00
Florent Le Coz d88ec5fdf1 Update to latest louloulibs revision 2015-03-02 11:32:18 +01:00
Florent Le Coz e4c696861d Update louloulibs to last revision 2015-03-02 11:06:40 +01:00
Florent Le Coz d31619714b Move non-specific adhoc commands into louloulibs
Only keep some biboumi-specific commands into biboumi_adhoc_commands.hpp/cpp
2015-03-02 11:04:55 +01:00
Florent Le Coz f0e07beacb Forgot to remove some XMPP files that are now in louloulibs instead 2015-03-02 10:21:01 +01:00
Florent Le Coz 649ebaf1b9 Suggest the command git submodule update --init 2015-02-27 18:32:30 +01:00
Florent Le Coz cc6a2295c3 Fix a typo 2015-02-27 17:50:42 +01:00
Florent Le Coz b3503bf112 Also check if the louloulibs/CMakeLists.txt file is missing
Because apparently when cloning a repository with submodules, git creates
empty sub-directories
2015-02-27 12:46:22 +01:00
Florent Le Coz e6569a1090 Only use include_directory() if the directory path is defined 2015-02-27 12:40:50 +01:00
Florent Le Coz 0ec82c104d Add louloulibs as a submodule 2015-02-27 12:26:48 +01:00
Florent Le Coz d600a2843f Remove all the libs that are now in louloulibs 2015-02-27 12:26:48 +01:00
Florent Le Coz 1028d4d549 Add a changelog entry for the fixed_irc_server option 2015-02-26 17:46:51 +01:00
Florent Le Coz 82256d40a3 Merge branch 'fixed_server' 2015-02-26 17:43:24 +01:00
Florent Le Coz c01befb054 Implement room discovery using the LIST irc command
ref #2472
2015-02-26 05:02:08 +01:00
Florent Le Coz 6a2240f593 Properly sanitize everything in the XML we send to the XMPP server
in this order:
- Make sure it is utf-8 encoded
- Remove all chars that are invalid in XML
- Escape all XML special chars (&'"<>)
2015-02-26 04:58:07 +01:00
Florent Le Coz 53e6b1da69 Fix the systemd-conditional code
By using SYSTEMD_FOUND instead of SYSTEMDDAEMON_FOUND, where I forgot to
rename it…
2015-02-26 02:56:46 +01:00
Florent Le Coz 5db0637810 Remove an unused parameter 2015-02-26 02:30:23 +01:00
Florent Le Coz c307df85c8 Do not handle the "%" char in a special way, in the fixed_server mode
Also fix some doc
2015-02-25 19:05:04 +01:00
Florent Le Coz 2df0ebf2df Add support for a fixed_irc_server configuration
This option lets the administrator choose a specific IRC server, and only
that server can be used with this biboumi instance.

In this mode, JIDs to use are changed like this:

- #chan%irc.example.com@biboumi.example.com      -> #chan@biboumi.example.com
- user!irc.example.com@biboumi.example.com       -> user!@biboumi.example.com
- #chan%irc.example.com@biboumi.example.com/Nick -> #chan@biboumi.example.com/Nick
- %irc.example.com@biboumi.example.com           -> no equivalent
- irc.example.com@biboumi.example.com            -> no equivalent
2015-02-25 18:35:30 +01:00
Florent Le Coz 1c43c3af4c Include the IRC hostname in the IRC RECEIVING and SENDING debug messages
fix #2715
2015-02-25 16:37:58 +01:00
Florent Le Coz 89af57bfcd Forge link uses https 2015-02-25 16:27:23 +01:00
Florent Le Coz 7115aa3b7f Add a reload add-hoc command 2015-02-24 16:28:30 +01:00
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