Commit Graph
1601 Commits
Author SHA1 Message Date
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
louiz’ 19c577b937 Remove .clang-format file 2020-12-28 23:43:14 +01:00
louiz’ 752931b7a5 fix localtime call -> _r 2020-12-28 23:43:13 +01:00
Emmanuel Gil Peyrot 99bb8c977c irc.ppirc.net is no more, remove its configuration 2020-11-09 01:27:42 +01:00
louiz’ e74471067c Changelog for -t feature 2020-09-23 23:58:58 +02:00
louiz’ 5607c101d4 Little code simplification for conf_filename 2020-09-23 23:55:50 +02:00
Félix Baylac-Jacqué 0bb4f144fc CLI: Add a test config flag
Adding a -t configuration flag that will make biboumi check the
configuration file syntax.

Such a syntax check is handy for some deployment tools. It helps the
tooling to statically analyse the configuration file and prevent
unecessesary deployments when the configuration file is clearly
incorrect.

Updating the synopsis with this new flag.
2020-09-23 23:55:50 +02:00
louiz’ 579d46f78a Update the changelog for the private message changes 2020-09-23 23:40:00 +02:00
louiz’ 0fadb2d1fb Trivial comment change in an e2e test 2020-09-23 23:39:46 +02:00
louiz’ 9cb6a0c2c9 Entirely remove the code for the “preferred_from” nick
Since private messages are now always coming from the server-wide JIDs
2020-09-23 23:38:46 +02:00
Georg Lukas 9a90c76eba Do not mark message to bare JID private/no-copy 2020-09-23 23:20:47 +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’ 5900c19c22 Start version 10.0 2020-09-23 23:18:12 +02:00
louiz’ 9ad92a900a Merge branch 'v9' 2020-09-23 23:17:44 +02:00
louiz’ 6174ceb4e1 Release version 9.0 2020-09-22 22:50:04 +02:00