Commit Graph
1615 Commits
Author SHA1 Message Date
Benjamin Graillot d13f66ab90 Add support for IRCv3 message-tags Implement draft/multiline 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 61242c35bc docs(developer): Point to codeberg and not louiz.org
Since biboumi has moved from louiz.org to codeberg.org the docker image
is named differently, as well as under a new URL.
2025-10-27 19:38:08 +01:00
Luca Matei Pintilie 1ea693a0d6 fix e2e tests 2025-10-25 16:44:23 +02:00
mathieui 3b03b79142 ci: drop the tests on fedora
since fedora does not package botan3 yet, we would be stuck with a
non-TLS biboumi which cannot run the e2e tests as well as provide no
security whatsoever.
2025-10-22 22:26:24 +02:00
mathieui ccb5b4f712 ci: trigger a rebuild of the containers
it probably fell through during woodpecker issues.
2025-10-21 22:53:13 +02:00
Mike Wilson d1d35f2f04 Make wording for persistence options more clear in docs 2025-10-16 15:57:34 -04:00
Luca Matei Pintilie 0077d683a8 Fix prod docker image build 2025-10-12 18:02:21 +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
poVoq 814bb67df8 Fix disco for IRC servers
They should not advertise that they are MUCs since they are not.

Backport from: https://git.sr.ht/~singpolyma/biboumi/commit/764878fb0f357ec42b59b58d199fe2d5a046f998
2025-10-12 17:50:25 +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 c7a0ce553f Remove GNOME and Mozilla IRC networks
Both have been decomissioned, both projects moved to Matrix instead.
2025-09-08 00:27:17 +02:00
Luca Matei Pintilie 3dc0f8660d Update CHANGELOG with new build requirements 2025-07-30 13:30:39 +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
Luca Matei Pintilie e4d32f9392 biboumi: Update botan to version 3
The botan dependency has introduced a number of breaking changes with
version 3, a couple of which impact biboumi as well

This patch makes biboumi compatible with botan 3 and drops support for
botan 2 at the same time

As a consequence of the botan dependency update, C++ version has to be
upgraded to C++ 20

https://botan.randombit.net/handbook/migration_guide.html
2025-07-29 15:53:20 +02:00
Luca Matei Pintilie 8c4769e27b Revert "Replace a useless shared_ptr by a unique_ptr"
This reverts commit 248e25c22f.

In preparation for the botan 3 update `IrcClient` must be made into a
`shared_ptr`, which will then allow us to pass a `shared_ptr` of
callbacks to `Botan::TLS::Client`
2025-07-29 15:52:16 +02:00
poVoq 40adab8b56 Pin alpine to 3.21, last version that packages botan2
Botan2 is end of life, thus it was dropped in Alpine 3.22
2025-07-24 18:27:30 +02:00
mathieui 0ece4f8316 ci: build & test in matrix build
build in alpine, debian and fedora and run all tests
2025-04-20 13:45:17 +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 25de4c6b76 ci: add test jobs
update container images for split targets between distros (woodpecker
would not pull them otherwise for some reason).
2025-04-19 22:58:56 +02:00
mathieui 1a659871e4 build: re-add a fork of Catch
For now anyway, but we need to move to catch2 or even catch3 because
those are maintained and available.
2025-04-19 22:57:10 +02:00
mathieui 91b7a0e4b9 ci: ensure containers run on amd64 2025-04-19 22:56:50 +02:00
Luca Matei Pintilie 0a9b159581 fix: remove unneeded dependencies for documentation generation
While cmake does need all of biboumi's dependencies to generate
documentation, there is an existing Makefile which does not. So we can
save some time by not downloading as many dependencies
2025-04-18 21:23:33 +00:00
mathieui b1d1308443 doc: update lab.louiz.org links 2025-04-18 19:08:48 +02:00
mathieui b4153550a0 ci: build packaging, test & prod containers 2025-04-18 01:05:13 +02:00
mathieui efbf9f1a0c ci: only build doc when needed 2025-04-18 01:01:33 +02:00
mathieui 64f1b1b9ec ci: update dockerfiles
oragono got renamed, and distros have been updated in the last decade
2025-04-18 01:01:33 +02:00
mathieui 0427562733 fix: do not fail the pipeline if there are no docs to update 2025-04-17 22:06:29 +02:00
mathieui f8061fb79d fix: correct minor details for doc generation 2025-04-17 22:03:20 +02:00
poVoq fc0312b272 Fix WEBIRC for IRC servers like Ergo 2025-04-17 18:53:25 +00:00
Porkepix 8030116ca1 Update issues location 2025-04-17 18:52:49 +00:00
Luca Matei Pintilie 4046d58c04 fix: hardcode codeberg pages git commit email 2025-04-17 17:54:12 +02:00
Luca Matei Pintilie d5e988cfdd feat: add documentation generation workflow
To fully automate deployment of documentation pages to codeberg pages a
woodpecker CI file containing the build instruction is made.

This needs to install all of biboumi's dependencies as to work with
cmake, then generate the makefiles, and finally the actual documentation
as HTML.

Once that's done, push everything to a `pages` branch.
2025-04-17 17:45:22 +02:00
poVoq 8e8c97d540 update python to version 3 2024-11-24 00:56:49 +00:00
poVoq 5874a68a9e update code repo url 2024-11-15 01:32:13 +00: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
Florian Schmaus 049da90ded utils/sha1.cpp: add missing <cstdint> include
Fixes compilation with GCC 13.

Downstream Gentoo bug: https://bugs.gentoo.org/902471

Signed-off-by: mathieui <mathieui@mathieui.net>
2023-10-06 00:10:46 +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’ 18b6006e30 Follow-up of the previous on: also catch that on recv events
fix #3460
2021-11-22 12:34:15 +01:00
louiz’ b49594ea3e Catch all botan exception when sending data, not just TLS
On invalid ASN1 file or things that are not specific to TLS only, botan
throws other exceptions, and we need to catch those as well.

fix #3460
2021-11-22 12:15:38 +01:00
louiz’ 80c5a0e150 Use recipient-unavailable when we are not connected to the IRC server
Instead of remote-server-not-found

See #3427
2021-01-15 12:34:30 +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’ 5eb825bd61 Typo poezioi 2021-01-12 03:07:48 +01:00
louiz’ e02344a7df Only clone things using lab.louiz.org, and not git.louiz.org 2021-01-11 11:41:52 +01:00
louiz’ 692f5a4e66 docker: use botan package from alpine instead of building from sources 2021-01-11 11:39:11 +01:00
louiz’ fdb3e739b0 Typos: negociat… -> negotiat… 2021-01-09 22:06:33 +01:00