Commit Graph
100 Commits
Author SHA1 Message Date
louiz’ 7536a1b3f3 Respond to MAM requests on a channel JID
At the moment, result-set-management is not implemented, the whole history
(well, at most 1024 messages) is returned.
2016-08-28 22:42:50 +02:00
louiz’ b59fc2a834 Use Z instead of z in the timestamp format 2016-08-23 20:52:37 +02:00
louiz’ a195939cda Don't use put_time() because it’s not in gcc 4.9, in shitty-debian “stable”
Use strftime instead
2016-08-23 20:48:39 +02:00
louiz’ 20b187daa0 Do not fail e2e if the database cannot be removed because it's not there 2016-08-23 11:58:30 +02:00
louiz’ 00e88f6b2a Add missing algorithm include 2016-08-22 20:28:37 +02:00
louiz’ 5e59cc517f Add missing ctime include 2016-08-22 20:25:41 +02:00
louiz’ 72af3e33ce Update changelog with the history thingy
[skip ci]
2016-08-23 03:36:00 +02:00
louiz’ 1ffc367753 Send the muc history when a second (or more) resource joins a room 2016-08-23 03:30:40 +02:00
louiz’ bc31e969e6 Document the sending of the muc history 2016-08-23 01:30:17 +02:00
louiz’ 88499d0379 If the maxHistoryLength is negative, make it 0
Instead of doing a broken SQL request that returns weird lines
2016-08-23 01:28:12 +02:00
louiz’ 91285d144d Index the owner for the global conf table 2016-08-22 15:12:03 +02:00
louiz’ cfebca4d7c Only save the logs if recordHistory global config option is true 2016-08-23 01:11:51 +02:00
louiz’ f7fa34436a Delete the database before each e2e test, to start fresh 2016-08-22 21:30:59 +02:00
louiz’ e13d3fdf4d Move get_first_non_empty to louloulibs/utils 2016-08-22 21:29:22 +02:00
louiz’ 38a4bcb2d2 Only save messages coming from real MUC participants in the database
Not messages coming from the room, for example
2016-08-22 00:47:55 +02:00
louiz’ 19240d7968 Default max_history_length is 20, not 0 2016-08-22 00:44:52 +02:00
louiz’ d1626c929f When joining a channel, send the most recent history found in the database 2016-08-22 00:44:17 +02:00
louiz’ 593b326827 When saving the logs, the date must be in seconds, not nanoseconds 2016-08-22 00:39:11 +02:00
louiz’ 6776b827d2 Add a global configure ad-hoc command, with max history length 2016-08-22 00:38:44 +02:00
louiz’ 992fa93895 Add get_first_non_empty and use it into Database to simplify a little bit 2016-08-21 01:51:52 +02:00
louiz’ c97e349821 Remove dns unit tests, because they are not *unit* test (depends on network…) 2016-08-20 02:36:41 +02:00
louiz’ 1d37a9092b Go back to non-verbose make check 2016-08-20 02:36:25 +02:00
louiz’ d6a22b27f3 Better dependencies for make rpm and dist 2016-08-20 02:36:01 +02:00
louiz’ 7d05f9b6ae Fix the author of the IRC invite 2016-08-18 21:13:42 +02:00
louiz’ 4c8fb9a0e3 Forward IRC invites to XMPP 2016-08-18 20:33:41 +02:00
louiz’ 5406de35a3 On a client error, do not QUIT, just make the resource leave all channels
This should fix #3205
2016-08-17 20:47:33 +02:00
louiz’ a4ab1db55f e2e test self invite 2016-08-16 16:18:08 +02:00
louiz’ 663d4ad54a Forward mediated invitations (XMPP to IRC only) 2016-08-16 15:59:00 +02:00
louiz’ 6bbab9d943 Add ping to the disco info of the gateay 2016-08-16 10:44:13 +02:00
louiz 487b80ec9e Fix a link in the documenation 2016-08-13 14:06:18 +02:00
louiz’ 787563722c Only save the messages into the db if we are actually using a db 2016-08-13 01:46:11 +02:00
louiz’ 8ec823be4f Save received and sent messages into the database 2016-08-12 16:39:19 +02:00
louiz’ 7ffe278e05 Document the JID escaping with xep 106 2016-08-11 17:18:51 +02:00
louiz’ 06d5a5a361 Document the new behaviour to address nicknames, and add to changelog 2016-08-11 17:17:34 +02:00
louiz’ 0d2dd71de5 Don’t use ! as the separator for nicknames, use % instead
It’s now easier to use. The distinction between a nick and a channel name is
based on the first character (by default it's '#' and '&'). The user doesn’t
have to worry about which separator to use anymore.

fix #3066
2016-08-10 15:48:28 +02:00
louiz’ 183f53d0ef Update the links to the forge in README.rst 2016-08-05 14:38:51 +02:00
louiz’ f9eb534dff Start version 4.0 2016-08-04 11:52:25 +02:00
louiz’ 0f14fe83ef Release 3.0 2016-08-04 11:37:36 +02:00
louiz’ 0cf7fac202 Be verbose with make check 2016-08-03 15:17:14 +02:00
louiz’ ec0e87a965 Test the version request, in many ways 2016-08-03 14:28:29 +02:00
louiz’ f0a25ccda4 Lower case the nick, when forwarding a version or ping request 2016-08-03 11:46:13 +02:00
louiz’ 3fbe01bb30 Test the kick on a multisession nick 2016-08-02 11:11:27 +02:00
louiz’ 58000c36a6 Rephrase an error message 2016-08-01 09:48:58 +02:00
louiz’ f89361c370 Provide a --help option
fix #3183
2016-07-31 18:16:29 +02:00
louiz’ 4790295313 test kick 2016-07-31 18:16:29 +02:00
louiz’ 37800c804e Actually it works when we surrount the WHOLE string with quotes
Not just part of it
2016-07-29 11:00:30 +02:00
louiz’ 1dd324aef3 lol k gitlab-ci. It fails to parse a string that contains : 2016-07-29 10:49:31 +02:00
louiz’ b66c006a4b Trivial micro fix 2016-07-29 10:40:00 +02:00
louiz’ 6ca689650a ci: echo the cmake command line arguments 2016-07-29 10:39:40 +02:00
louiz’ 4463e9f5e3 Document the multi-nick session thing 2016-07-28 16:05:36 +02:00
louiz’ 085a48ea48 Do not use the logger before the configuration has been loaded first 2016-07-28 11:56:33 +02:00
louiz’ cf9104e3e2 Update the changelog by adding (all?) the changes in 3.0 2016-07-28 11:46:24 +02:00
louiz’ d46e0a9196 Mark some more cmake variables as advanced 2016-07-28 11:12:27 +02:00
louiz’ 0d1e0629e7 Fix the timeout test, now that we don't wait 1ms too much everytime 2016-07-28 10:47:44 +02:00
louiz’ 5c78692fcd Do not add 1ms to the timeout of our poller
Can’t remember why I did this, but that must be a stupid reason. Everything
must work even with a timeout of 0.
2016-07-28 10:35:12 +02:00
louiz’ 11a1c0cc99 Always remove all the DNS sockets on an c-ares event
Because c-ares may close one of its socket, even if it’s not the one that
has the event. Otherwise we may not know when a socket has been removed from
our poller (automatically, when close()ed) and this leads to bugs.
2016-07-28 10:34:01 +02:00
louiz’ de0eff6e94 Revert "Don’t use unique_ptr to store dns socket handlers"
This reverts commit 5328d0806f.
2016-07-27 10:04:15 +02:00
louiz’ c7e4fc1386 Test the resolving of multiple hostnames at the same time 2016-07-25 14:59:25 +02:00
louiz’ db503b23e8 Use log_error instead of cerr 2016-07-24 20:03:34 +02:00
louiz’ 7cc05ab496 Refactor the CI file, build many configurations 2016-07-23 11:29:40 +02:00
louiz’ 24824a5015 In reload.cpp, only build the database things if litesql is used 2016-07-18 09:53:15 +02:00
louiz’ c6cfa69cdc Always build the artifacts 2016-07-18 09:53:01 +02:00
louiz’ 8ded8cd33e Properly use the docstring variables 2016-07-12 11:59:27 +02:00
louiz’ 2307f94e5b Clean the list of options visible in non-advanced ccmake 2016-07-12 11:57:01 +02:00
louiz’ f212b47830 Use an ugly way, because SOURCES property does not work in cmake 3.0 2016-07-12 11:39:27 +02:00
louiz’ fa42d0c178 Bring back DNSSocketHandler's destructor 2016-07-12 11:25:38 +02:00
louiz’ b0d60c0c1a Set the required cmake version to 3.0 2016-07-12 11:22:01 +02:00
louiz’ 4f730f93fa Don't use target_sources() in cmake because it's >=3.1 only 2016-07-12 11:21:43 +02:00
louiz’ 5328d0806f Don’t use unique_ptr to store dns socket handlers 2016-07-12 11:15:42 +02:00
louiz’ 9fb2e116c4 Move reload.*pp from louloulibs to src 2016-07-12 01:15:34 +02:00
louiz’ 4c1b9abe7e Properly catch and handle database errors
Do not use a singleton for the database.

fix #3203
2016-07-12 00:31:57 +02:00
louiz’ 03feb403f8 Send the iq requests to one random resource instead of the bare JID 2016-07-04 18:49:00 +02:00
louiz’ 81f8f45b37 Replace all include guards by #pragma once
It’s $CURRENT_YEAR
2016-07-04 17:53:53 +02:00
louiz’ 5321d29cbd List of channels are saved per-request and not globally
The list would keep the previous results in memory, forever, and the list
would grow each time a new request was made (even with results from
unrelated servers)…
2016-07-04 17:00:05 +02:00
louiz’ 964784497a Remove forgotten comment 2016-07-04 10:20:16 +02:00
louiz’ 0ce75ab521 Properly remove the resource from the server when we leave the last channel 2016-07-03 16:01:15 +02:00
louiz’ dadfc349d9 Use latest git of botan in the dockerfiles 2016-07-03 14:36:38 +02:00
louiz’ 29567eefcf Add https to the unit file DOC thing 2016-07-02 15:10:30 +02:00
louiz’ 8cef730318 Add a valgrind suppression file 2016-07-02 15:10:23 +02:00
louiz’ 79002aa5c9 Run e2e through with valgrind if BIBOUMI_E2E_VALGRIND is set in the env 2016-06-29 19:53:37 +02:00
louiz’ 2fe8878169 Add a e2e test that checks self-ping with multiple resources behind one nick 2016-06-24 11:43:13 +02:00
louiz’ 7ae29890c3 Add a e2e for self-ping, with a single channel resource 2016-06-24 11:25:04 +02:00
louiz’ fcb2681b7b Log a warning when we receive an iq without a from 2016-06-24 11:24:40 +02:00
louiz’ 7d2a2dc8cc Forward ping requests from IRC to XMPP, to one single resource 2016-06-24 11:23:51 +02:00
louiz’ b2e7edeea8 Properly set the “from” of the ping results to the correct full JID 2016-06-24 11:23:01 +02:00
louiz’ 4e959a3869 Add a simple e2e test that joins a channel with xep0106-encoded name 2016-06-23 22:50:05 +02:00
louiz’ 9206f4723b Fix a bug in cut() 2016-06-23 22:40:53 +02:00
louiz’ 6bd9b1ec14 Remove unused function 2016-06-23 22:18:42 +02:00
louiz’ 11dcae704a Merge remote-tracking branch 'linkmauve/escaped-iid-support' 2016-06-23 22:17:08 +02:00
louiz’ 57263961b4 Fix a use after free in IrcChannel::remove_user 2016-06-23 22:16:13 +02:00
louiz’ c1f678e450 Fix a missing include for strlen 2016-06-15 16:47:11 +02:00
louiz’ 430bf3a661 Properly calculate the maximum size of each message line, before cutting
fix #3067
2016-06-15 15:51:13 +02:00
louiz’ 849c50f9f3 Save our own host, as reported by the server 2016-06-15 15:51:13 +02:00
louiz’ 4b1c580bb9 cut messages at 512 bytes, taking into account the UTF-8 codepoints
ref #3067
2016-06-15 15:50:45 +02:00
louiz’ 6235fb2d03 Add get_next_codepoint_size 2016-06-15 00:38:43 +02:00
louiz’ 80d0c19c5a Refactor, test and improve the way we cut too-long messages for IRC 2016-06-14 20:14:36 +02:00
louiz’ 19bca5c2f2 Add a missing return bool in Config 2016-06-14 20:08:55 +02:00
louiz’ 4661f7fe5b Fix a doc typo 2016-06-14 14:52:04 +02:00
louiz’ e8671042f7 Improve the signal handling by disabling them while an handler is running 2016-06-14 12:15:31 +02:00
louiz’ 46ff73662c Clean the Config module, use static things instead of a stupid singleton 2016-06-14 03:02:36 +02:00