Commit Graph
1641 Commits
Author SHA1 Message Date
Luca Matei Pintilie df83dd19ae Don't hardcode ver, update node name, and add tests 2026-08-19 21:30:27 +02:00
Stephen Paul Weber 567b139e1c Allow disco queries with a node (needed for CAPS) 2026-08-02 18:13:39 +02:00
Stephen Paul Weber a9dae0621a Add gateway/irc and caps 2026-08-01 00:15:06 +02:00
Luca Matei Pintilie ad14748a30 database: various optimizations for SQLite and PostgreSQL 2026-07-21 01:16:49 +02:00
Luca Matei Pintilie b51b93d6d4 doc(admin): format verify_certificate documentation into a list 2026-07-17 19:41:16 +02:00
Vladislav Grigoryev 3a92e8742f Fix RPM builds on Fedora Linux
* Add missing build dependency
* Fix bogus date in %changelog
* Fix path to the systemd unit
* Use SPDX license identifier

Signed-off-by: Vladislav Grigoryev <vg.aetera@gmail.com>
2026-07-04 11:10:48 +03:00
bkmgit 889c0aaf29 Systemd service dir is /usr/lib/systemd/system
https://www.freedesktop.org/software/systemd/man/latest/systemd.unit.html
2026-07-03 21:12:15 +02:00
Florian Schmaus 3d321c7d92 cmake: Explicitly search for Catch2 version 3
The current CMakeLists block

find_package(Catch2)
if(Catch2_FOUND)
  target_link_libraries(test_suite Catch2::Catch2WithMain)
  include(CTest)
  include(Catch)
  catch_discover_tests(test_suite)
endif()

would search for any Catch2 version, but later tries to link against
Catch2 version 3 (Catch2WithMain). This means the block would fail on
systems that have Catch2 version 2 installed, but not Catch2 version
3. Fix that by requesting Catch2 version 3 when invoking
find_package().

Link: https://bugs.gentoo.org/969522
2026-02-10 08:53:34 +01: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 b250237e01 install files using GNUInstallDirs 2026-01-11 13:53:19 +01:00
poVoq 3fc18e1e1a change to direct /doc/ 2026-01-10 19:59:00 +01:00
poVoq b254095178 Fix link to documentation 2026-01-10 19:53:49 +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
Link Mauve 4de88b5160 Fix documentation warnings
This doesn’t fix them all, but at least makes the build a bit more
readable.
2026-01-10 18:56:15 +01:00
Luca Matei Pintilie fdcc9f9b84 fix fedora package 2026-01-10 18:55:53 +01:00
Luca Matei Pintilie ee7ecebbdc add ctest support and remove absolute path from etc directory
Some packagers use ctest by default to run tests. This is a small
easy-win to add to biboumi. In addition some distros don't use /etc as
their configuration path, and have to patch this out (see guix and nix),
so this is also an easy fix.
2026-01-10 18:55:10 +01:00
Link Mauve 0d714c2c0d Rename Ports to Unencrypted ports
This makes it clear that these ports are specified to connect without
TLS, and hopefully lead to people using TLS ports instead by default.
2026-01-10 18:54:54 +01:00
Luca Matei Pintilie d235c784bd build docker image from local files, not git clone 2026-01-02 20:24:09 +01:00
Luca Matei Pintilie b96eaaddba update some version strings 2025-12-08 20:38:29 +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 fdae7b03e0 Update Changelog 2025-11-28 20:30:12 +01:00
Luca Matei Pintilie f2a55c4f27 fix multiline tests 2025-11-28 20:30:12 +01:00
Luca Matei Pintilie 6993577cbe fix mode tests 2025-11-28 20:30:12 +01:00
Luca Matei Pintilie 7bc27b21e6 fix tests 2025-11-28 20:30:12 +01:00
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