315 Commits
Author SHA1 Message Date
Stephen Paul Weber 25dfcba60d Sort was backward 2026-09-24 22:07:38 -05:00
Stephen Paul Weber 2217cbeab3 Fix for doing base64(hex(sha1))
Instead we want to base64 encode the raw sha1
2026-09-24 21:38:34 -05:00
Stephen Paul Weber 69b8797d3b Also support caps on irc server JIDs 2026-09-24 21:10:55 -05:00
Stephen Paul Weber c438554f9a Ignore nick change when there is a configured nick
The user has configured their nick and that's what we should use. If
they send a nick change, just reply letting them know what their nick
actually is.
2026-09-23 21:59:20 -05:00
Stephen Paul Weber d8bc3d17bb IRC nicks cannot contain spaces
Rather than trying and hoping the server gives a proper failure, just
fail early and avoid the whole mess. Some servers will instead send
messages to the user, etc, which is not very helpful.
2026-09-23 21:58:20 -05:00
Stephen Paul Weber 99d7f8a41a Do not send NICK command when nick not changed
If we get a presence, that is not always a nick change. Don't bother the
IRC server with a command to change the nick if we're not changing it.
2026-09-23 21:57:29 -05:00
Stephen Paul Weber 32485f0593 Merge branch 'user/luca/iq-gateway' of https://codeberg.org/aninternettroll/biboumi
* 'user/luca/iq-gateway' of https://codeberg.org/aninternettroll/biboumi:
  Add support for XEP-0100 jabber:iq:gateway
2026-09-23 10:49:01 -05:00
Luca Matei Pintilie df83dd19ae Don't hardcode ver, update node name, and add tests 2026-08-19 21:30:27 +02:00
Luca Matei Pintilie dbafe37e13 Add support for XEP-0100 jabber:iq:gateway 2026-08-02 18:12:11 +02:00
Luca Matei Pintilie bf958d0e34 add CAP LS 302 support and max-lines support for draft/multiline messages 2026-01-13 19:20:46 +01:00
Luca Matei Pintilie c15a057885 fix multiline private messages 2026-01-10 19:02:48 +01:00
Luca Matei Pintilie 6ed185a8a5 add archive_expires_after option 2026-01-10 18:59:34 +01:00
Luca Matei Pintilie 51930c1e78 add default_persistence_allowed
In addition set all config options in every test, as catch2 can run
tests out of order and as demonstrated in
e1ad60af4f this can be an issue
2025-11-28 21:54:38 +01:00
Luca Matei Pintilie fbb93dbd08 add persist_user_denylist and persist_user_allowlist
Closes: #3511
2025-11-28 21:54:38 +01:00
Luca Matei Pintilie f2a55c4f27 fix multiline tests 2025-11-28 20:30:12 +01:00
Luca Matei Pintilie 7bc27b21e6 fix tests 2025-11-28 20:30:12 +01:00
Luca Matei Pintilie cf6dec8ce5 tests(invite_other): Fix flakey test
The order of these events doesn't really matter, and may be sent in out
of order sometimes. As such use expect_unordered as to not fail CI
randomly.
2025-10-27 20:13:05 +01:00
Luca Matei Pintilie e1ad60af4f tests(iid): Explicitly set fixed_irc_server
These tests require that fixed_irc_server is set, and will fail if
another test sets them.

This may not have been a problem before, but since the catch2 update CI
has encountered issues running these tests randomly, as the order of
which tests are ran in is now random.
2025-10-27 20:13:05 +01:00
Luca Matei Pintilie 1ea693a0d6 fix e2e tests 2025-10-25 16:44:23 +02:00
Luca Matei Pintilie 979ba96cb0 Update to ergo 2.15+ 2025-10-12 18:01:47 +02:00
Luca Matei Pintilie d3b3242874 Fix references to localhost -> irc.localhost in e2e tests 2025-10-12 18:01:47 +02:00
Luca Matei Pintilie 9c92f7ce4a Bounce message corrections
On IRC it is confusing when an XMPP user "corrects" a message, but on
the other side a new message is sent. To prevent spam and confusion, do
not allow message corrections at all, and instead return an error if
attempted.

Fixes: #3436
Fixes: #3480
2025-10-12 17:48:33 +02:00
Luca Matei Pintilie 5cb2802fd2 Update Catch2 to v3 2025-10-12 17:45:58 +02:00
Link Mauve 7cd4e06f84 Support all allowed channel prefixes
RFC 2812 specifies in §1.3 that “Channels names are strings (beginning
with a '&', '#', '+' or '!' character) of length up to fifty (50)
characters.”

We previously only allowed the first two prefix characters, or any other
one if the server overrides the list with ISUPPORT.
2025-07-29 16:04:36 +02:00
mathieui 2f59303cf9 tests: start to fix e2e tests
python and slixmpp have moved a bit in 10 years.
2025-04-19 23:00:27 +02:00
mathieui b1d1308443 doc: update lab.louiz.org links 2025-04-18 19:08:48 +02:00
Emmanuel Gil Peyrot 2bd91dcf6f Replace inexistant lightmagenta CSS colour with hotpink
This improves compatibility with clients respecting the CSS
specification.

Thanks PulkoMandy, who found it using libcss in Renga!
2023-10-06 11:04:05 +02:00
louiz’ 0061298dd0 Do not use ':' as a namespace separator with expat
Instead use \1, and build our own nodes by explicitely separating the
namespace and the node name.
2022-03-10 23:23:47 +01:00
louiz’ a4512cd3ae sasl: Use the nick from the presence if the ad-hoc one is not set
fix #3450
2021-01-15 12:33:18 +01:00
louiz’ 1b1b03b21b Print each e2e test output on only one line 2021-01-14 12:25:38 +01:00
louiz’ 0fadb2d1fb Trivial comment change in an e2e test 2020-09-23 23:39:46 +02:00
Jonas Schäfer f8da92a8be Always send direct messages to the user’s bare JID
This has the following advantages:

- Works while all resources are offline (persistent channels)
- Helps with combating duplicate messages when sent to different
  resources, resources going offline, carbon-copying etc. etc.

As a side effect, this also makes the MUC PMs not be MUC PMs and
always be emitted from the server-wide JID of the sending user.

Fixes #3313.
2020-09-23 23:20:47 +02:00
louiz’ b98434b5d0 In CAP messages, handle the last arg as a list of capabilities
Instead of just one. This fixes the issue of the "trailing whitespace" since we
now split it on ' '

Fix #3442
2020-08-16 16:05:15 +02:00
louiz’ df2fe0bc4b Fix the parsing of IRC messages, especially with trailing spaces 2020-08-16 16:03:11 +02:00
louiz’ 063e6b127e Handle SASL failures by displaying a message and aborting the connection 2020-08-12 09:40:36 +02:00
louiz’ e4550d324f e2e: do not fail to start if no irc database exist yet 2020-06-15 00:47:27 +02:00
louiz’ 2e1ddeb654 Implement SASL plain authentication 2020-06-15 00:18:51 +02:00
louiz’ 5c1f45926d e2e: accept a regexp version of oragono, not just 2.0.0 2020-05-06 23:56:44 +02:00
louiz’ 057ef25eea Create oragono TLS certificate automatically before each e2e run 2020-05-05 21:10:46 +02:00
louiz’ a156b7514e Remove raw_names_command e2e test 2020-05-05 21:10:46 +02:00
louiz’ 91c9aa6084 Modify oragono’s conf four our tests 2020-05-05 21:10:46 +02:00
louiz’ 07dbd7e7ff Add the default oragono conf 2020-05-05 21:10:46 +02:00
louiz’ 1b72faef3c Update the tests to work with oragono 2020-05-05 21:10:46 +02:00
louiz’ 81fb7389ae Start oragono instead of charybdis 2020-05-05 21:10:46 +02:00
louiz’ eb976918f9 e2e: Switch from coroutines to async, for python3.8 2020-05-05 21:09:38 +02:00
louiz’ 4ee3dd695e Demonstrate bug #3429 2020-04-19 11:41:58 +02:00
louiz’ 212e8e5989 Merge remote-tracking branch 'linkmauve/die-gc1.0-die' 2020-03-11 18:41:43 +01:00
louiz’ 470ba2e4e4 Remove the part of the force-join test that checks the nick changed
Because we actually don’t change the nick, we ignore it, just like in the
case of a normal join (of an other resource, or an other channel on the same
server).
2020-03-11 18:14:19 +01:00
louiz’ 8013bb1cfe And modify the tests to work, by adding the <x/> node in all join presences 2020-03-11 15:27:11 +01:00
louiz’ fc22e06317 Fix a type stable-id -> stanza-id, and add a test case to be exhaustive 2020-03-11 00:32:18 +01:00