1666 Commits
Author SHA1 Message Date
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
Stephen Paul Weber 764878fb0f Fix disco for IRC servers
They should not advertise that they are MUCs since they are
not
2024-11-19 11:38:53 -05:00
poVoq 5874a68a9e update code repo url 2024-11-15 01:32:13 +00:00
Stephen Paul Weber 11bbc5deff Guixify 2024-01-24 10:48:38 -05:00
Stephen Paul Weber f6d336e0f2 Merge branch 'master' of https://git.louiz.org/biboumi
* 'master' of https://git.louiz.org/biboumi:
  Follow-up of the previous on: also catch that on recv events
  Catch all botan exception when sending data, not just TLS
2024-01-24 09:52:17 -05: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
Stephen Paul Weber 1222335406 Fix caps hash 2022-03-07 23:05:08 -05:00
Stephen Paul Weber e20bf15b7a Allow disco queries with a node (needed for CAPS) 2022-03-07 23:01:37 -05:00
Stephen Paul Weber f370ce3a80 Add CI 2022-03-07 22:46:12 -05:00
Stephen Paul Weber e0c50dd99a Add gateway/irc and caps 2022-03-07 22:41:44 -05: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
Stephen Paul Weber f14752b06f muc-bridge users should never persist 2021-06-23 22:55:59 -05:00
Stephen Paul Weber 6de22e8320 fix build 2021-06-23 22:55:49 -05: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