18746 Commits

Author SHA1 Message Date
Tobias Brunner
55273157b0 libimcv: Add Debian 12 (bookworm) to database
Because libcrypto and libssl are measured, we need a new group for Debian
versions with OpenSSL 3 (I've rather added a suffix to the old group as
that could eventually get removed, although we might need a 3.1 variant
in the future - maybe we should measure some other files?).
2023-07-13 10:48:53 +02:00
Tobias Brunner
995d7785b9 testing: Fix vici updown script on Debian bookworm
OOM-killer is now already triggered with `import daemon`, so set the
limit before that.  Also some PEP8 fixes (including an exclusion for
the above fix as that causes imports to not be at the beginning of the
file).
2023-07-13 10:48:53 +02:00
Tobias Brunner
744955f8ce testing: Whitelist all Git repositories in the root image
Without this, Git refuses to operate on the build dirs that are mounted
with weird ownership.  When running as root in the chroot, Git checks
SUDO_UID, which won't match.
2023-07-13 10:48:53 +02:00
Tobias Brunner
e0f0f812c7 testing: Create traditional RSA keys with OpenSSL 3
This is necessary because TKM can't read PKCS#8 files and in some
scenarios we don't have the pkcs8 plugin loaded that would be required
to read/decrypt the non-traditional files.
2023-07-13 10:48:53 +02:00
Tobias Brunner
6b8b67be81 testing: Fix systemctl wrapper and adapt enabling services on winnetou
The wrapper called the command twice for any unit but "strongswan" and
it didn't return the correct exit code.  This was noticed when an
if-updown script tried to check if systemd-resolved is active and always
succeeded, which caused failing attempts to configure it.

But now that the return code is correct, trying to enable bind9 won't
fail silently anymore if the unit doesn't exist (similar on older systems
for named), so this is adapted.
2023-07-13 10:48:53 +02:00
Tobias Brunner
c1dbce29ed testing: Remove support for Debian stretch 2023-07-13 10:48:53 +02:00
Tobias Brunner
fbc25f1c25 leak-detective: Whitelist C++'s __cxa_get_globals() 2023-07-13 10:48:53 +02:00
Tobias Brunner
e604947df8 testing: Switch to MDB backend for OpenLDAP (slapd)
The BDB and HDB backends were long deprecated and have finally been
removed with OpenLDAP 2.5 that's shipped with Debian bookworm.
2023-07-13 10:48:53 +02:00
Tobias Brunner
ab13c1c808 testing: Configure curve25519-sha256 as key exchange for SSH
With Debian bookworm, the PQC KE sntrup761x25519-sha512 is negotiated, by
default.  This increases the overhead significantly, in particular, the
size of the KE message, which wouldn't get through IPsec tunnels without
MSS clamping.
2023-07-13 10:48:53 +02:00
Tobias Brunner
0e621f60f8 sonarcloud: Update filter rules as recommended 2023-07-12 11:21:27 +02:00
Tobias Brunner
46d98bc249 testing: Fix example configure options for charon-tkm Docker build
Fixes: b1ce8772367f ("charon-tkm: Use built-in plugins instead of OpenSSL")
2023-07-11 18:02:13 +02:00
Tobias Brunner
4c2747fbfc Use wolfSSL 5.6.3 for tests 2023-06-21 15:31:53 +02:00
Tobias Brunner
2e88ab0069 dhcp: Fix warning with newer compilers 2023-06-19 14:56:24 +02:00
Tobias Brunner
8238ad480a resolve: Maintain order of DNS servers also when installing in resolv.conf
This always writes the complete set of DNS servers to make modifications
simpler.
2023-06-19 14:56:24 +02:00
Tobias Brunner
6440975bb4 resolve: Try to maintain the order of DNS servers if using resolvconf
Since 17fd304e60df ("resolve: Don't install individual servers via
resolvconf"), DNS servers were sorted if getting installed via resolvconf.
In some setups the order might be important (even though relying on it
isn't a good idea in general as stub resolvers are free to use all of
the servers as they please).
2023-06-19 14:56:24 +02:00
Tobias Brunner
2d1006963e charon-svc: Add missing closing parenthesis in version output 2023-06-19 14:55:48 +02:00
Tobias Brunner
43975f33ef Use wolfSSL 5.6.2 for tests
ECC keys can now be smaller so we can't access the private key directly
anymore.
2023-06-13 10:13:29 +02:00
Andreas Steffen
4e1dc0a224 Version bump to 5.9.11 5.9.11 2023-06-12 07:50:02 +02:00
Andreas Steffen
0ba7aefdc9 Version bump to 5.9.11rc1 5.9.11rc1 2023-06-08 10:42:17 +02:00
Tobias Brunner
285ebb24e3 NEWS: Add news for 5.9.11 2023-06-02 17:52:28 +02:00
Tobias Brunner
c593443432 pki: Add --label options to --est* command synopsis
Also fixes some formatting in the man pages.
2023-06-02 12:56:03 +02:00
Tobias Brunner
03c08423dd github: Use new cache storage properties for sonarcloud 2023-06-02 11:37:06 +02:00
Tobias Brunner
89ce398c3d openssl: Fix memory leak if FIPS provider isn't available 2023-06-02 11:27:39 +02:00
Tobias Brunner
ee9a663b01 Fixed some typos, courtesy of codespell 2023-06-02 10:36:47 +02:00
Tobias Brunner
efdcbd13cb credential-manager: Improve selection of local certificate and trust chain
The previous code was problematic if a certificate request for a known
but unrelated CA was received and the local trust chain was incomplete.
Due to the received anchor, the incomplete trust chain was dismissed and
any intermediate CA certificates were, therefore, not sent to the peer.

This new approach doesn't dismiss an incomplete trust chain, but prefers
one that can be resolved to a received anchor.  If no such chain is found,
the first one is used.
2023-06-02 10:04:39 +02:00
Tobias Brunner
0e88b8a817 github: Use OpenSSL 3.1.1 for tests 2023-05-31 15:45:02 +02:00
Tobias Brunner
e3cb756dbf Merge branch 'libipsec-raw-esp'
This adds support for sending/receiving ESP packets without UDP
encapsulation to libipsec and kernel-libipsec.  Only Linux is currently
supported and the feature is disabled by default.
2023-05-23 13:19:57 +02:00
Tobias Brunner
5db9b26e32 testing: Add libipsec scenarios that exchange raw ESP packets 2023-05-23 13:19:47 +02:00
Tobias Brunner
e306fa5f73 kernel-libipsec: Add support to send/receive raw ESP packets
This is currently only supported on Linux and with the appropriate
permissions.

Since it's experimental, it's disabled by default.

The log messages for each sent and received ESP message are logged in NET
like the ones in the socket-default plugin for UDP-encapsulated messages.
2023-05-23 13:19:47 +02:00
Tobias Brunner
29e8cb3f90 libipsec: Move restrictions regarding UDP encapsulation to users 2023-05-23 13:19:47 +02:00
Tobias Brunner
8ddfaf5857 libipsec: Instruct ESP sender whether to use UDP encapsulation 2023-05-23 13:19:47 +02:00
Tobias Brunner
61f9843453 android: Use CALLBACK for libipsec-related callbacks 2023-05-23 13:19:47 +02:00
Tobias Brunner
a049868d78 kernel-libipsec: Use CALLBACK for libipsec callbacks 2023-05-23 13:19:47 +02:00
Tobias Brunner
dbd5707077 ipsec-sa: Store whether to use UDP encapsulation on the SA 2023-05-23 13:19:47 +02:00
Tobias Brunner
23d20bbb96 Merge branch 'libipsec-trap'
This adds support for trap policies to libipsec.
2023-05-23 13:17:19 +02:00
Tobias Brunner
cb049e14c8 testing: Add libipsec/net2net-trap scenario 2023-05-23 11:53:53 +02:00
Tobias Brunner
b0eb88f703 kernel-libipsec: Forward acquires from libipsec to the daemon 2023-05-23 11:53:53 +02:00
Tobias Brunner
9192ef1620 ipsec-processor: Trigger acquire if no matching outbound SA is found 2023-05-23 11:53:53 +02:00
Tobias Brunner
4e9acf98d0 ipsec-sa-mgr: Optionally keep track of acquires for outbound SAs
Currently just based on the reqid.  An acquire for the same reqid is
triggered at most every 10 seconds (gets ignored in trap_manager_t if
the SA is still getting established).

Entries are only cleaned up if an SA is eventually installed (similar to
the allocated SPIs).  Should that ever be a problem, we could probably
schedule a job that regularly flushes old entries.
2023-05-23 11:53:51 +02:00
Tobias Brunner
ec503ade58 libipsec: Add possibility to relay acquire events
Keeping it simple and just forwarding the reqid.
2023-05-22 16:15:49 +02:00
Tobias Brunner
6ceb39b1da ike: Use a struct to store retransmission settings
The calculation of the timeout is also shared now and the total
timeout in seconds is corrected in case retransmit_base is <= 1.

This could make it easier in the future to apply different retransmission
settings to messages/exchanges.
2023-05-17 15:58:28 +02:00
Tobias Brunner
5f8eb09dd6 pki: Make --dn optional for certificate renewals via --scep command
When using OpenXPKI, the subject DN in the renewal request has to match
the previous DN exactly.  However, because OpenXPKI may add a bunch of
DC/O RDNs to subjects of issued certificates, running --scep with the
same --dn that was used for the original request won't work (results in
a "Client error / malformed request badRequest" error even after enabling
`renewal_via_pkcs_req`).  This simplifies renewals as --dn can just be
omitted and extracted from the original certificate to avoid this issue.

References strongswan/strongswan#1689
2023-05-17 15:56:12 +02:00
Tobias Brunner
7fa85ff379 Merge branch 'debug-level-build'
This fixes the build with DEBUG_LEVEL < 4, which was broken when building
from the repository since --enable-warnings was made the default.

Although, most issues only occurred with the level reduced to 0/-1.  And
while removing debug statements at compile time completely is probably
not useful in production, there might be use cases in certain benchmarking
scenarios.  Also, with the recent changes to the controller there should
only rarely be a listener registered at a higher log level so the overhead
for those higher-level DBG statements is minimal.

Anyway, reducing the log level at compile time is a documented feature and
at least DEBUG_LEVEL=3 could be useful to prevent leaking sensitive
information via logs from the outset.  So we should make sure compilation
doesn't fail.
2023-05-16 13:05:33 +02:00
Tobias Brunner
027ba4d12e github: Add build with DBG completely disabled 2023-05-08 17:32:18 +02:00
Tobias Brunner
21f01808ff sec-updater: Fix build with DEBUG_LEVEL < 1 2023-05-08 17:32:18 +02:00
Tobias Brunner
8e78d9fcec sw-collector: Fix build with DEBUG_LEVEL < 1 2023-05-08 17:32:18 +02:00
Tobias Brunner
16c2def3ae conftest: Fix build with DEBUG_LEVEL < 1 2023-05-08 17:32:18 +02:00
Tobias Brunner
3804b2adf9 pki: Fix build with DEBUG_LEVEL < 1 2023-05-08 17:32:18 +02:00
Tobias Brunner
72f8794d83 selinux: Fix build with DEBUG_LEVEL < 1 2023-05-08 17:32:18 +02:00
Tobias Brunner
4620f43eba radattr: Fix build with DEBUG_LEVEL < 1 2023-05-08 17:32:18 +02:00