1666 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 3dbbf5910e Fix guix build 2026-09-24 20:44:21 -05:00
Stephen Paul Weber 600068440f Add new dependencies 2026-09-23 22:01:59 -05:00
Stephen Paul Weber 9eb19d53e7 Update CI image 2026-09-23 22:00:43 -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 ff173a8ea3 Memory fixes 2026-09-23 21:12:31 -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
Stephen Paul Weber 9fad5ad426 Memory safety fix 2026-09-23 10:40:07 -05:00
Stephen Paul Weber e47b0a92e1 Merge branch 'user/luca/xmpp-caps' of https://codeberg.org/aninternettroll/biboumi
* 'user/luca/xmpp-caps' of https://codeberg.org/aninternettroll/biboumi:
  Don't hardcode ver, update node name, and add tests
  Allow disco queries with a node (needed for CAPS)
  Add gateway/irc and caps
2026-09-23 10:40:00 -05:00
Stephen Paul Weber 3c969bc1d1 Merge https://codeberg.org/poezio/biboumi
* https://codeberg.org/poezio/biboumi: (65 commits)
  build: fix wrong constextpr preventing some compilers from building biboumi
  database: various optimizations for SQLite and PostgreSQL
  doc(admin): format verify_certificate documentation into a list
  Fix RPM builds on Fedora Linux
  Systemd service dir is  /usr/lib/systemd/system
  cmake: Explicitly search for Catch2 version 3
  add CAP LS 302 support and max-lines support for draft/multiline messages
  install files using GNUInstallDirs
  change to direct /doc/
  Fix link to documentation
  fix multiline private messages
  add archive_expires_after option
  Fix documentation warnings
  fix fedora package
  add ctest support and remove absolute path from etc directory
  Rename Ports to Unencrypted ports
  build docker image from local files, not git clone
  update some version strings
  add default_persistence_allowed
  add persist_user_denylist and persist_user_allowlist
  ...
2026-09-23 09:59:13 -05:00
Luca Matei Pintilie df83dd19ae Don't hardcode ver, update node name, and add tests 2026-08-19 21:30:27 +02:00
mathieui a261848ef4 build: fix wrong constextpr preventing some compilers from building biboumi
The latest commit introduced an issue because a std::string cannot
really be constexpr. Fortunately, a cosnt char* const works just as well
here.
2026-08-02 19:37:44 +02:00
Stephen Paul Weber 567b139e1c Allow disco queries with a node (needed for CAPS) 2026-08-02 18:13:39 +02:00
Luca Matei Pintilie dbafe37e13 Add support for XEP-0100 jabber:iq:gateway 2026-08-02 18:12:11 +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