Commit Graph
100 Commits
Author SHA1 Message Date
louiz’ 00a2e8dd70 Suggest adding tests when contributing 2016-10-24 19:22:46 +02:00
louiz’ 7b2215b882 Add a CONTRIBUTING file 2016-10-24 19:01:52 +02:00
louiz’ 5990a8bf8a Correctly handle the nick change inside the virtual channel 2016-10-24 00:19:30 +02:00
louiz’ c3bb9fe2e2 Handle forced-join by just sending an invitation
fix #3116
2016-10-23 23:59:21 +02:00
louiz’ 00eb18bae8 Refactor channel->parting to a new location 2016-10-23 23:58:03 +02:00
louiz’ 8b8bbceeb3 Revert "Use ensure_future instead of async"
This reverts commit a4d67ce041.
2016-10-21 19:12:25 +02:00
louiz’ ac32d25738 Fix the broken commit 4388b9c 2016-10-21 18:50:04 +02:00
louiz’ 82a6fa6d09 e2e: Fix some logic in check_list_of_xpath 2016-10-21 01:05:38 +02:00
louiz’ a4d67ce041 Use ensure_future instead of async 2016-10-21 01:05:15 +02:00
louiz’ 4388b9c311 Remove an unused variable in e2e 2016-10-21 01:00:52 +02:00
louiz’ 479708c83e Add an other kewl badge 2016-10-20 18:55:18 +02:00
louiz’ 52f0aca246 Coverity upload is allowed to fail and is manual. Also name the artifacts 2016-10-21 00:05:21 +02:00
louiz’ aa4255224e Optimize tcp_socket::on_send by using vector::erase() only once per call 2016-10-20 20:08:29 +02:00
louiz’ ce06c25e93 Very little optimization by using a simpler scope_guard when possible
The version with the vector, that can be disabled etc, is “very” slow, so we
use unique_ptr when we don’t need to disable it, and when it only contains
one function
2016-10-20 19:32:20 +02:00
louiz’ 6b4d2e8e3e Use expect_unordered in a few more places 2016-10-17 19:49:45 +02:00
louiz’ 2a0f5f1b6a Add tests for the nick change, and the nick conflict 2016-10-17 19:48:51 +02:00
louiz’ ef36a769a5 Fix the indent in the coverage.cmake file
[skip-ci]
2016-10-15 01:55:39 +02:00
louiz’ 501a6f2661 Add two e2e tests on adhoc commands 2016-10-14 23:51:04 +02:00
louiz’ 7dfc08ca9b Use g++ for the openbsd tests 2016-10-13 10:22:37 +02:00
louiz’ 34bd8b93da Disable the output in the config unit test 2016-10-12 22:18:53 +02:00
louiz’ 86c927ae17 ci: Add a test on openbsd 2016-10-12 22:18:16 +02:00
louiz’ 44f35a256d e2e: test the private and no-copy thingy 2016-10-12 21:00:05 +02:00
louiz’ c3a7cd3627 e2e: the port to use should be an int, not a string 2016-10-12 21:00:05 +02:00
louiz’ 827a1eedf8 On EINPROGRESS, we need to also check for read events (because openBSD lies)
“It is possible to select(2) or poll(2) for completion by selecting the
socket for writing”

Yeah, sure, “writing”…
2016-10-12 21:00:05 +02:00
louiz’ 5f2e4820df Fix an off-by-one issue in the POLL code 2016-10-12 21:00:05 +02:00
louiz’ c54f28d29d Conditionally use strptime if we don’t have std::get_time 2016-10-11 21:00:56 +02:00
louiz’ dfc0793ef2 Include a private and no-copy nodes in private <message/> to avoid carbon duplication 2016-10-11 00:43:46 +02:00
louiz’ 548e4ad473 Parse the timezone myself, instead of using the broken strptime
See

https://lab.louiz.org/louiz/biboumi/issues/3215
https://github.com/andikleen/glibc/blob/master/time/strptime_l.c#L746-L747

for why strptime() sucks

We use std::get_time now, to parse the date and time. And we parse the
timezone by hand.

fix #3215
2016-10-11 00:20:43 +02:00
louiz’ 116472920c Fix the muc#traffic response
Was completely broken, and the test was just useless
2016-10-07 23:29:14 +02:00
louiz’ 8ac8d2b242 Correctly set status="110" in the presence for the target of a kick 2016-10-07 23:28:40 +02:00
louiz’ 8cf292fa44 e2e: add expec_unordered to be able to test things even if the arrive in a different order
Also, some tests that were raising some exception and thus were not ran at all

fix #3213
2016-10-07 23:26:44 +02:00
louiz’ 6ca8cd505f Cleanup __main__.py a little bit 2016-10-07 23:25:26 +02:00
louiz’ b7f02f79fa Add a coverity badge to the readme 2016-10-06 22:29:47 +02:00
louiz’ 0049b3e32d Remove a potential nullptr dereference, on mam queryid
fix coverity CID 153376
2016-10-06 22:29:47 +02:00
louiz’ 5477db7999 Add a coverity job that runs cov-build and submit the archive to coverity.com 2016-10-06 22:29:47 +02:00
louiz’ 954d271d50 Fix the argument of strerror after bind()
fix coverity CID 134470
2016-10-06 22:28:25 +02:00
louiz’ 92c99bb9dd Remove a branch that execute identical code in both cases
fix coverity CID 134469
2016-10-06 22:28:25 +02:00
louiz’ 3620d533ee Avoid sending PART command for unjoined channels
fix #3205
2016-10-05 00:18:22 +02:00
louiz’ 55daa3e61c Update the changelog 2016-10-05 00:18:22 +02:00
louiz’ 1d197ff26c Respond to muc#traffic requests
fix #3069
2016-10-04 19:32:45 +02:00
louiz’ 28f1dd7654 Make version requests work with global user JIDs as well
fix #3210
2016-10-03 21:35:16 +02:00
louiz’ 45aebb8d8a Avoid an exception due to some bad logic in the DNS resolution mechanic
fix #3207
2016-10-03 21:12:16 +02:00
louiz’ b29225601a Fix some compilation warning/errors that appear on FreeBSD 2016-10-03 17:58:16 +02:00
louiz’ e5b392ece8 Fix parse_datetime by always using a 'z' as the timezone
Because some plateform accept Z and z, but some only accept z…
2016-10-03 17:58:16 +02:00
louiz’ fca25b7704 Remove build/* from the coverage, because that code isn’t part of biboumi 2016-10-03 02:10:14 +02:00
louiz’ 729078a238 Add missing include file 2016-10-03 01:11:54 +02:00
louiz’ b2f14f9a46 Modify the charybdis conf to disable the LIST throttling 2016-10-03 01:08:48 +02:00
louiz’ 76a8189b46 Implement result-set-management for LIST queries
ref #2948
2016-10-03 01:08:48 +02:00
louiz’ ffad4306b9 Use LIST * instead of just LIST, because some servers don’t accept it
Also add a e2e test for the list query
2016-10-02 12:57:04 +02:00
louiz’ 265b5df61b Re-add the ad-hoc command the was removed by mistake in the previous commit
Thank you, e2e tests
2016-09-29 23:10:41 +02:00
louiz’ ee4cf5dc2d Add AdhocCommandHandlers::add_command to simplify the usage of this class
And make things a little bit clearer
2016-09-29 20:53:40 +02:00
louiz’ 363a0bf02c Look for uuid/uuid.h instead of just uuid.h
Avoids a conflict between /usr/include/uuid.h and
/usr/local/include/uuid/uuid.h on freebsd
2016-09-29 20:11:35 +02:00
louiz 20a06c953f Add trendy badges to the README 2016-09-28 11:47:05 +02:00
louiz’ 985da8f2b2 Remove unused code in sha1 module 2016-09-28 20:14:41 +02:00
louiz’ daa7ea04a4 Add coverage_e2e, which runs e2e, and regenerate a global coverage report
This coverage is probably more useful than the other one, because it’s not
really reasonable to try to cover everything with simple units test (e.g. on
network code etc).
However, we should strive to have 100% coverage with our e2e tests.
2016-09-28 19:48:00 +02:00
louiz’ 2922c68e83 Respond to disco#info requests on IRC server JIDs
This makes it possible to execute an ad-hoc command on a server, with
clients like Gajim, for example.
2016-09-22 19:01:31 +02:00
louiz’ 07e2209596 Add the missing & for 3 std::string function arguments 2016-09-22 00:00:13 +02:00
louiz’ 35fc5d6f29 Some little style/typo fixes 2016-09-21 20:38:14 +02:00
louiz’ 93ebf45f30 Make history messages work with fixed_irc_server
fix #3209
2016-09-20 19:02:12 +02:00
louiz’ f8112468a7 make dist creates the archive with the current time, not the git time 2016-09-17 01:08:32 +02:00
louiz’ aaa2ca670a Fix the parse_datetime by using %Z instead of %z
If anybody knows why fedora accepts both, but it only works with %z on
debian, please tell me.
2016-09-17 00:34:28 +02:00
louiz’ a8d28a38d4 In the debian docker, install aiodns from source instead of pip
Because, I don’t know why but, this doesn’t work.
2016-09-16 23:20:22 +02:00
louiz’ 06d36ccd03 Remove a useless line in the COPYING file 2016-09-16 23:19:38 +02:00
louiz’ 4e5734b75b Trivial doc fixes 2016-09-09 23:38:44 +02:00
louiz’ 7160731179 Add some configuration example 2016-09-09 23:38:02 +02:00
louiz’ 0a8bddf03d Didn’t I fix that typo 12 times already? 2016-09-09 23:25:11 +02:00
louiz’ 009512f6ff Fix a trivial formatting issue in the doc 2016-09-07 20:52:08 +02:00
louiz’ 44bc04952c Improve the documentation for the archives 2016-09-07 20:52:06 +02:00
louiz’ 2c6132f3ee Add 2 missing namespaces in our disco#info result 2016-09-04 23:11:42 +02:00
louiz’ 3047bd41b2 MAM results can be filtered by start and end dates 2016-09-04 22:58:38 +02:00
louiz’ 1140db3b88 Add parse_datetime 2016-08-31 01:58:13 +02:00
louiz’ 2a4905df01 Fix to_string(time_t) and write a unit test for it 2016-08-31 01:17:45 +02:00
louiz’ 9727f4cf00 Add the missing includes back 2016-08-29 19:20:27 +02:00
louiz’ aae2d5127b Add zlib to the debian dockerfile, to build charybdis properly 2016-08-29 09:17:31 +02:00
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