* 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
...
* 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>
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
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.
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.
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.
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: #3436Fixes: #3480
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.
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
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`