]> git.ipfire.org Git - thirdparty/strongswan.git/log
thirdparty/strongswan.git
9 months agotesting: Migrated ipv6 scenarios to new default plugins
Andreas Steffen [Wed, 19 Oct 2022 05:20:18 +0000 (07:20 +0200)] 
testing: Migrated ipv6 scenarios to new default plugins

9 months agotesting: Distributed openssl-ikev1 scenarios
Andreas Steffen [Tue, 18 Oct 2022 19:40:36 +0000 (21:40 +0200)] 
testing: Distributed openssl-ikev1 scenarios

9 months agotesting: Migrated ikev1-algs scenarios to new default plugins
Andreas Steffen [Tue, 18 Oct 2022 19:24:40 +0000 (21:24 +0200)] 
testing: Migrated ikev1-algs scenarios to new default plugins

9 months agotesting: Migrated ikev1 scenarios to new default plugins
Andreas Steffen [Tue, 18 Oct 2022 19:11:38 +0000 (21:11 +0200)] 
testing: Migrated ikev1 scenarios to new default plugins

9 months agotesting: Distributed openssl-ikev2 scenarios
Andreas Steffen [Tue, 18 Oct 2022 17:15:08 +0000 (19:15 +0200)] 
testing: Distributed openssl-ikev2 scenarios

9 months agotesting: Migrated ikev2-algs scenarios to new default plugins
Andreas Steffen [Tue, 18 Oct 2022 17:41:49 +0000 (19:41 +0200)] 
testing: Migrated ikev2-algs scenarios to new default plugins

9 months agotesting: Migrated ikev2 scenarios to new default plugins
Andreas Steffen [Tue, 18 Oct 2022 15:44:30 +0000 (17:44 +0200)] 
testing: Migrated ikev2 scenarios to new default plugins

9 months agooqs: Included version 4.1 of BIKE Round 3 (L1 and L3)
Andreas Steffen [Fri, 27 Aug 2021 06:40:41 +0000 (08:40 +0200)] 
oqs: Included version 4.1 of BIKE Round 3 (L1 and L3)

Requirement: liboqs-0.7.0

9 months agooqs: Support for HQC key exchange algorithm
Andreas Steffen [Mon, 7 Dec 2020 14:25:43 +0000 (15:25 +0100)] 
oqs: Support for HQC key exchange algorithm

9 months agooqs: Support of Falcon signature algorithms
Andreas Steffen [Fri, 20 Nov 2020 16:30:15 +0000 (17:30 +0100)] 
oqs: Support of Falcon signature algorithms

9 months agontru: Removed legacy NTRU key exchange method
Andreas Steffen [Wed, 18 Nov 2020 09:39:28 +0000 (10:39 +0100)] 
ntru: Removed legacy NTRU key exchange method

9 months agonewhope: Removed legacy Newhope key exchange method
Andreas Steffen [Tue, 17 Nov 2020 18:27:20 +0000 (19:27 +0100)] 
newhope: Removed legacy Newhope key exchange method

9 months agobliss: Removed legacy BLISS signatures
Andreas Steffen [Mon, 16 Nov 2020 19:22:21 +0000 (20:22 +0100)] 
bliss: Removed legacy BLISS signatures

9 months agooqs: Added signature tests
Andreas Steffen [Tue, 10 Nov 2020 19:28:33 +0000 (20:28 +0100)] 
oqs: Added signature tests

9 months agoscripts: Added nist_sig_kat script
Andreas Steffen [Fri, 6 Nov 2020 08:33:25 +0000 (09:33 +0100)] 
scripts: Added nist_sig_kat script

9 months agooqs: Support of Dilithium signature algorithms
Andreas Steffen [Wed, 28 Oct 2020 19:09:41 +0000 (20:09 +0100)] 
oqs: Support of Dilithium signature algorithms

9 months agotesting: Added ikev2/rw-cert-qske scenario
Andreas Steffen [Tue, 19 Nov 2019 22:01:26 +0000 (23:01 +0100)] 
testing: Added ikev2/rw-cert-qske scenario

9 months agofrodo: FrodoKEM KE method
Andreas Steffen [Wed, 6 Nov 2019 22:08:43 +0000 (23:08 +0100)] 
frodo: FrodoKEM KE method

9 months agooqs: Added post-quantum KEM methods based on liboqs
Andreas Steffen [Tue, 5 Nov 2019 20:52:20 +0000 (21:52 +0100)] 
oqs: Added post-quantum KEM methods based on liboqs

9 months agoscripts: Added script formatting NIST KEM KAT records into ke_test vectors
Andreas Steffen [Tue, 5 Nov 2019 11:16:49 +0000 (12:16 +0100)] 
scripts: Added script formatting NIST KEM KAT records into ke_test vectors

9 months agotest-vectors: Added NIST KEM test vectors
Andreas Steffen [Tue, 5 Nov 2019 11:12:19 +0000 (12:12 +0100)] 
test-vectors: Added NIST KEM test vectors

9 months agokey-exchange: Joint ke_test_vector format for DH and KEM
Andreas Steffen [Mon, 4 Nov 2019 21:22:47 +0000 (22:22 +0100)] 
key-exchange: Joint ke_test_vector format for DH and KEM

Both Diffie-Hellman (DH) and Key Encapsulation Mechanism (KEM) based
key exchange methods use a common ke_test_vector format. The
set_seed() function is used to provide deterministic private key
material for the crypto tests.

9 months agokey-exchange: Add identifiers for NIST round 3 submission KEM candidates
Andreas Steffen [Sat, 17 Oct 2020 09:58:58 +0000 (11:58 +0200)] 
key-exchange: Add identifiers for NIST round 3 submission KEM candidates

9 months agounit-tests: Ensure listeners can track SAs via ike/child_updown/rekey()
Tobias Brunner [Fri, 9 Sep 2022 16:34:29 +0000 (18:34 +0200)] 
unit-tests: Ensure listeners can track SAs via ike/child_updown/rekey()

Previously, it could happen that child_rekey() was triggered twice for
the same "old" SA.  For listeners that would mean they'd loose track as
they'd be tracking a new SA that wasn't relevant anymore and for which
no updown event would ever get triggered (it was the redundant SA in a
collision).  This new assert ensures that events are triggered in a
predictable way and listeners can track SAs properly.

9 months agoikev2: Make CHILD_SAs properly trackable during rekey collisions
Tobias Brunner [Mon, 22 Aug 2022 13:43:16 +0000 (15:43 +0200)] 
ikev2: Make CHILD_SAs properly trackable during rekey collisions

As the winner of a rekey collision, we previously always triggered the
child_rekey() event once when creating the redundant SA on behalf of the
peer in the passive child-rekey task and then a second time when
creating the winning SA in the active task.  However, both calls passed
the replaced CHILD_SA as "old". This made tracking CHILD_SAs impossible
because there was no transition from the redundant, "new" SA of the
first event to the "new", winning SA of the second.  Of course, when the
second event was triggered, the redundant SA might not have existed
anymore because the peer is expected to delete it, which could happen
before the CREATE_CHILD_SA response arrives at the initiator.

This refactoring ensures that the child_rekey() event is triggered in
a way that makes the CHILD_SAs trackable in all reasonable (and even
some unreasonable) scenarios.  The event is generally only triggered
once after installing the outbound SA for the new/winning CHILD_SA.
This can be when processing the CREATE_CHILD_SA in the active child-rekey
task, or when processing the DELETE for the old SA in a passive
child-delete task.  There are some cases where the event is still
triggered twice, but it is now ensured that listeners can properly
transition to the winning SA.

Some corner cases are now also handled correctly, e.g. if a responder's
DELETE for the new CHILD_SA arrives before its CREATE_CHILD_SA response
that actually creates it on the initiator.  Also handled properly are
responders of rekeyings that incorrectly send a DELETE for the old
CHILD_SA (previously this caused both, the new and the old SA, to get
deleted).

9 months agowip: ike-init: Indicate support for IKE_INTERMEDIATE
Tobias Brunner [Tue, 5 Nov 2019 15:42:58 +0000 (16:42 +0100)] 
wip: ike-init: Indicate support for IKE_INTERMEDIATE

wip: We should also add some checks if the notify was not received.

9 months agoproposal: Prevent selection of duplicate key exchange methods
Tobias Brunner [Fri, 16 Jul 2021 11:52:19 +0000 (13:52 +0200)] 
proposal: Prevent selection of duplicate key exchange methods

All additional (and the initial) key exchanges must use a different method.

9 months agoproposal: Add helper to check if additional key exchanges are contained
Tobias Brunner [Tue, 5 Nov 2019 16:03:42 +0000 (17:03 +0100)] 
proposal: Add helper to check if additional key exchanges are contained

9 months agoproposal: Accept NONE for additional key exchanges also for IKE proposals
Tobias Brunner [Thu, 22 Oct 2020 11:13:00 +0000 (13:13 +0200)] 
proposal: Accept NONE for additional key exchanges also for IKE proposals

9 months agounit-tests: Add tests for CHILD_SA rekeying with multiple key exchanges
Tobias Brunner [Mon, 29 Jun 2020 12:13:53 +0000 (14:13 +0200)] 
unit-tests: Add tests for CHILD_SA rekeying with multiple key exchanges

9 months agounit-tests: Add tests for CHILD_SA creation with multiple key exchanges
Tobias Brunner [Fri, 26 Jun 2020 12:12:47 +0000 (14:12 +0200)] 
unit-tests: Add tests for CHILD_SA creation with multiple key exchanges

9 months agounit-tests: Tests for additional key exchanges
Tobias Brunner [Mon, 4 Nov 2019 15:17:30 +0000 (16:17 +0100)] 
unit-tests: Tests for additional key exchanges

9 months agounit-tests: Support multiple proposals in exchange tests
Tobias Brunner [Wed, 17 Jun 2020 16:39:44 +0000 (18:39 +0200)] 
unit-tests: Support multiple proposals in exchange tests

9 months agovici: Increase maximum proposal length
Andreas Steffen [Tue, 6 Jul 2021 10:11:51 +0000 (12:11 +0200)] 
vici: Increase maximum proposal length

9 months agovici: List additional key exchanges
Andreas Steffen [Tue, 19 Nov 2019 19:44:39 +0000 (20:44 +0100)] 
vici: List additional key exchanges

Co-authored-by: Tobias Brunner <tobias@strongswan.org>
9 months agoproposal: Add prefix for additional key exchanges when logging proposals
Tobias Brunner [Thu, 22 Oct 2020 12:15:31 +0000 (14:15 +0200)] 
proposal: Add prefix for additional key exchanges when logging proposals

9 months agokey-exchange: Add dynamic parser for additional key exchange methods
Tobias Brunner [Mon, 4 Nov 2019 16:27:20 +0000 (17:27 +0100)] 
key-exchange: Add dynamic parser for additional key exchange methods

9 months agochild-rekey: Support CHILD_SA rekeying with multiple key exchanges
Tobias Brunner [Mon, 29 Jun 2020 12:12:05 +0000 (14:12 +0200)] 
child-rekey: Support CHILD_SA rekeying with multiple key exchanges

9 months agounit-tests: Fix CHILD_SA rekey tests after INVALID_KE_PAYLOAD handling changes
Tobias Brunner [Fri, 20 Jul 2018 12:12:48 +0000 (14:12 +0200)] 
unit-tests: Fix CHILD_SA rekey tests after INVALID_KE_PAYLOAD handling changes

The responder doesn't create a CHILD_SA and allocate an SPI anymore
when responding with an INVALID_KE_PAYLOAD notify.

9 months agochild-create: Add support for multiple key exchanges
Tobias Brunner [Thu, 25 Jun 2020 08:26:38 +0000 (10:26 +0200)] 
child-create: Add support for multiple key exchanges

It also changes that payloads are built before installing the CHILD_SA
on the responder, that is, the KE payload is generated before keys are
derived, so that key_exchange_t::get_public_key() is called before
get_shared_secret(), or its internal equivalent, which could be relevant
for KE implementations that want to ensure that the key can't be
accessed again after the key derivation.

9 months agoike-rekey: Support IKE_SA rekeying with multiple key exchanges
Tobias Brunner [Mon, 6 Apr 2020 15:41:15 +0000 (17:41 +0200)] 
ike-rekey: Support IKE_SA rekeying with multiple key exchanges

9 months agoike-init: Add support for multiple key exchanges
Tobias Brunner [Thu, 31 Oct 2019 16:16:44 +0000 (17:16 +0100)] 
ike-init: Add support for multiple key exchanges

Initially, this is handled with a key derivation for each
IKE_INTERMEDIATE exchange.  When rekeying the keys are derived only when
all IKE_FOLLOWUP_KE exchanges are done.

9 months agobus: Support multiple key exchanges in ike/child_keys() events
Tobias Brunner [Thu, 9 Apr 2020 09:53:45 +0000 (11:53 +0200)] 
bus: Support multiple key exchanges in ike/child_keys() events

9 months agokeymat_v2: Support key derivation with multiple key exchanges
Tobias Brunner [Thu, 9 Apr 2020 09:37:52 +0000 (11:37 +0200)] 
keymat_v2: Support key derivation with multiple key exchanges

9 months agokey-exchange: Add helper to concatenate shared secrets of several key exchanges
Tobias Brunner [Thu, 9 Apr 2020 09:36:30 +0000 (11:36 +0200)] 
key-exchange: Add helper to concatenate shared secrets of several key exchanges

9 months agokeymat_v2: Proper cleanup if derive_ike_keys() is called multiple times
Tobias Brunner [Thu, 28 Jun 2018 13:33:35 +0000 (15:33 +0200)] 
keymat_v2: Proper cleanup if derive_ike_keys() is called multiple times

9 months agoike-auth: Calculate and collect IntAuth for IKE_INTERMEDIATE exchanges
Tobias Brunner [Tue, 20 Aug 2019 15:07:55 +0000 (17:07 +0200)] 
ike-auth: Calculate and collect IntAuth for IKE_INTERMEDIATE exchanges

The message ID of the first IKE_AUTH exchange is a safe-guard against
potential truncation attacks if IKE_INTERMEDIATE exchanges are not used
for multiple key exchanges but some other future use where the number of
exchanges might not depend on the selected proposal.

9 months agopubkey-authenticator: Handle IntAuth data
Tobias Brunner [Tue, 20 Aug 2019 14:38:01 +0000 (16:38 +0200)] 
pubkey-authenticator: Handle IntAuth data

9 months agopsk-authenticator: Handle IntAuth data
Tobias Brunner [Tue, 20 Aug 2019 14:36:13 +0000 (16:36 +0200)] 
psk-authenticator: Handle IntAuth data

9 months agoeap-authenticator: Handle IntAuth data
Tobias Brunner [Tue, 20 Aug 2019 14:32:17 +0000 (16:32 +0200)] 
eap-authenticator: Handle IntAuth data

9 months agokeymat_v2: Include optional IntAuth in signed octets
Tobias Brunner [Tue, 20 Aug 2019 14:18:05 +0000 (16:18 +0200)] 
keymat_v2: Include optional IntAuth in signed octets

9 months agoauthenticator: Add optional method to set IntAuth data
Tobias Brunner [Tue, 20 Aug 2019 14:13:11 +0000 (16:13 +0200)] 
authenticator: Add optional method to set IntAuth data

9 months agomessage: Store original encrypted payload when generating fragments
Tobias Brunner [Mon, 19 Jul 2021 15:12:09 +0000 (17:12 +0200)] 
message: Store original encrypted payload when generating fragments

If we don't do this, get_plain() will fail after generating the message
fragmented.

9 months agomessage: Add method to generate data to authenticate IKE_INTERMEDIATE exchanges
Tobias Brunner [Tue, 20 Aug 2019 12:57:30 +0000 (14:57 +0200)] 
message: Add method to generate data to authenticate IKE_INTERMEDIATE exchanges

9 months agogenerator: Make pointer to length field optional
Tobias Brunner [Tue, 20 Aug 2019 12:53:16 +0000 (14:53 +0200)] 
generator: Make pointer to length field optional

Only useful if we generate an IKE header.

9 months agokeymat_v2: Add method to calculate IntAuth for IKE_INTERMEDIATE exchanges
Tobias Brunner [Tue, 2 Jul 2019 13:01:26 +0000 (15:01 +0200)] 
keymat_v2: Add method to calculate IntAuth for IKE_INTERMEDIATE exchanges

9 months agomessage: Add rules for IKE_FOLLOWUP_KE exchanges
Tobias Brunner [Fri, 3 Apr 2020 13:10:40 +0000 (15:10 +0200)] 
message: Add rules for IKE_FOLLOWUP_KE exchanges

9 months agoike-header: Add IKE_FOLLOWUP_KE exchange type
Tobias Brunner [Fri, 3 Apr 2020 13:01:17 +0000 (15:01 +0200)] 
ike-header: Add IKE_FOLLOWUP_KE exchange type

9 months agonotify-payload: Add notify types for multiple key exchanges
Tobias Brunner [Fri, 25 Oct 2019 12:27:47 +0000 (14:27 +0200)] 
notify-payload: Add notify types for multiple key exchanges

9 months agoikev2: Reject IKE_INTERMEDIATE requests after IKE_AUTH
Tobias Brunner [Tue, 8 Feb 2022 13:23:37 +0000 (14:23 +0100)] 
ikev2: Reject IKE_INTERMEDIATE requests after IKE_AUTH

We currently only support these exchanges for additional key exchanges,
so once we have the final keys derived and the ike-init task is removed,
we don't expect any more of them.

9 months agomessage: Add rules for IKE_INTERMEDIATE exchanges
Tobias Brunner [Fri, 25 Oct 2019 12:40:35 +0000 (14:40 +0200)] 
message: Add rules for IKE_INTERMEDIATE exchanges

9 months agoike-header: Add IKE_INTERMEDIATE exchange type
Tobias Brunner [Fri, 25 Oct 2019 12:39:54 +0000 (14:39 +0200)] 
ike-header: Add IKE_INTERMEDIATE exchange type

9 months agonotify-payload: Add notify type for IKE_INTERMEDIATE exchange
Tobias Brunner [Wed, 18 Dec 2019 17:42:59 +0000 (18:42 +0100)] 
notify-payload: Add notify type for IKE_INTERMEDIATE exchange

9 months agoproposal-substructure: Encode additional key exchange methods
Tobias Brunner [Fri, 25 Oct 2019 12:55:05 +0000 (14:55 +0200)] 
proposal-substructure: Encode additional key exchange methods

9 months agoproposal: Make all key exchange transforms optional in ESP/AH proposals
Tobias Brunner [Tue, 5 Nov 2019 09:22:36 +0000 (10:22 +0100)] 
proposal: Make all key exchange transforms optional in ESP/AH proposals

9 months agoproposal: Skip all KE transforms if PROPOSAL_SKIP_KE given
Tobias Brunner [Tue, 29 Oct 2019 10:50:00 +0000 (11:50 +0100)] 
proposal: Skip all KE transforms if PROPOSAL_SKIP_KE given

9 months agotransform: Add helper to check if transform type negotiates key exchange
Tobias Brunner [Tue, 29 Oct 2019 10:46:22 +0000 (11:46 +0100)] 
transform: Add helper to check if transform type negotiates key exchange

9 months agotransform: Add additional key exchange transform types
Tobias Brunner [Fri, 25 Oct 2019 12:20:59 +0000 (14:20 +0200)] 
transform: Add additional key exchange transform types

9 months agotesting: Use pip from venv to download dependencies
Tobias Brunner [Mon, 28 Aug 2023 15:49:26 +0000 (17:49 +0200)] 
testing: Use pip from venv to download dependencies

pip3 isn't installed in the base image anymore since 21bf3e41f94a
("testing: Use venv for strongTNC").

10 months agokernel-pfroute: Maintain virtual flag when repopulating interface addrs
Tobias Brunner [Tue, 25 Jul 2023 08:21:40 +0000 (10:21 +0200)] 
kernel-pfroute: Maintain virtual flag when repopulating interface addrs

When adding a virtual IP on a TUN interface, the interface might get
activated (in terms of receiving the event) after we've already set the
virtual flag for the added address.  As the activation repopulates the
addresses on the interface, this cleared the flag and the address would
no longer be treated as virtual IP when installing routes for CHILD_SAs
that reference it in their local traffic selectors.

Closes strongswan/strongswan#1807

10 months agoMerge branch 'netlink-buf'
Tobias Brunner [Wed, 26 Jul 2023 13:15:24 +0000 (15:15 +0200)] 
Merge branch 'netlink-buf'

Fixes an infinite loop if e.g. Netlink event sockets get too many
packets queued and poll() just returns POLLERR for the socket.  Also
increases the default receive buffer size for Netlink sockets to better
support systems with lots of route updates.

Closes strongswan/strongswan#1757

10 months agowatcher: Change handling of POLLERR and remove WATCHER_EXCEPT
Tobias Brunner [Fri, 21 Jul 2023 08:01:41 +0000 (10:01 +0200)] 
watcher: Change handling of POLLERR and remove WATCHER_EXCEPT

We can't actually explicitly listen for errors by passing POLLERR in
`events` (the man page for poll() clearly states it's ignored).  On the
other hand, POLLERR can be returned for any FD and, even worse, it might
be the only event indicated.

The latter caused an infinite loop as we didn't notify the callback nor
clear the error by calling `getsockopt(..., SOL_SOCKET, SO_ERROR, ...)`.
And while the latter would be able to reset the state to break the loop,
it seems to leave the FD in a defunct state where no further events will
be returned by poll().  Notifying the callback works better (the error
is then reported by e.g. recvfrom()) and automatically happened already
if POLLERR was returned together with e.g. POLLIN.

So we now treat POLLERR like the other error indicators we handle (POLLHUP
and POLLINVAL) and just notify the callbacks.

10 months agokernel-netlink: Also set the receive buffer size on event sockets
Tobias Brunner [Fri, 21 Jul 2023 07:39:09 +0000 (09:39 +0200)] 
kernel-netlink: Also set the receive buffer size on event sockets

This was weirdly overlooked and could cause issues e.g. on hosts with
lots of route changes.

10 months agokernel-netlink: Increase the default receive buffer size
Tobias Brunner [Fri, 21 Jul 2023 07:34:22 +0000 (09:34 +0200)] 
kernel-netlink: Increase the default receive buffer size

Also simplify how we try to exceed the system-wide maximum.  We basically
just try to force the value and simply fall back to the regular call.
The kernel actually won't let the latter fail if the value is too big,
it just caps it at the internal maximum.

10 months agoike: Fix untracking IKE_SA_INITs with non-zero MIDs and SPIs as half-open SAs
Tobias Brunner [Wed, 5 Jul 2023 08:41:11 +0000 (10:41 +0200)] 
ike: Fix untracking IKE_SA_INITs with non-zero MIDs and SPIs as half-open SAs

We track all IKE_SA_INIT requests as half-open IKE_SAs but didn't
correctly untrack them if their message ID or responder SPI was non-zero.

References strongswan/strongswan#1775

Fixes: b866ee88bf54 ("ike: Track unprocessed initial IKE messages like half-open IKE_SAs")
10 months agochild-rekey: Correctly encode protocol/SPI in CHILD_SA_NOT_FOUND notify
Tobias Brunner [Wed, 21 Jun 2023 13:57:38 +0000 (15:57 +0200)] 
child-rekey: Correctly encode protocol/SPI in CHILD_SA_NOT_FOUND notify

As specified in RFC 7296, section 2.25:

   The SA that the initiator attempted to rekey is indicated by the SPI
   field in the Notify payload, which is copied from the SPI field in
   the REKEY_SA notification.

So we copy that and the protocol verbatim.

10 months agonotify-payload: Add methods to simplify encoding and retrieving IKE SPIs
Tobias Brunner [Thu, 16 Mar 2023 14:42:11 +0000 (15:42 +0100)] 
notify-payload: Add methods to simplify encoding and retrieving IKE SPIs

The get_spi_data() method is currently not used, so that has been
simplified so it can be used for any protocol type and any SPI length.
Same for set_spi_data(), which is currently used for IKEv1 to encode
two SPIs.

10 months agosha3: Make sure to wipe the internal Keccak state
Tobias Brunner [Tue, 11 Jul 2023 09:59:46 +0000 (11:59 +0200)] 
sha3: Make sure to wipe the internal Keccak state

10 months agopki: Make sure to wipe decrypted PKCS#7 data
Tobias Brunner [Tue, 11 Jul 2023 09:44:35 +0000 (11:44 +0200)] 
pki: Make sure to wipe decrypted PKCS#7 data

10 months agopkcs12: Make sure to wipe potentially decrypted PKCS#7 data
Tobias Brunner [Tue, 11 Jul 2023 09:44:11 +0000 (11:44 +0200)] 
pkcs12: Make sure to wipe potentially decrypted PKCS#7 data

10 months agopkcs7: Make sure to wipe decrypted content
Tobias Brunner [Tue, 11 Jul 2023 09:39:49 +0000 (11:39 +0200)] 
pkcs7: Make sure to wipe decrypted content

10 months agoaesni: Make sure to wipe salt
Tobias Brunner [Tue, 11 Jul 2023 09:35:09 +0000 (11:35 +0200)] 
aesni: Make sure to wipe salt

10 months agoccm: Make sure to wipe salt
Tobias Brunner [Tue, 11 Jul 2023 09:34:48 +0000 (11:34 +0200)] 
ccm: Make sure to wipe salt

10 months agogcm: Make sure to wipe salt and H
Tobias Brunner [Tue, 11 Jul 2023 09:30:44 +0000 (11:30 +0200)] 
gcm: Make sure to wipe salt and H

10 months agocharon-nm: Use configured interface name if available
Tobias Brunner [Fri, 23 Jun 2023 10:13:31 +0000 (12:13 +0200)] 
charon-nm: Use configured interface name if available

If connection.interface-name is configured, we use that instead of the
randomly generated name.

References strongswan/strongswan#1747

10 months agocharon-nm: Also log basic connection details
Tobias Brunner [Fri, 23 Jun 2023 10:07:34 +0000 (12:07 +0200)] 
charon-nm: Also log basic connection details

10 months agocharon-nm: Actually use the created XFRM interface
Tobias Brunner [Fri, 23 Jun 2023 10:04:14 +0000 (12:04 +0200)] 
charon-nm: Actually use the created XFRM interface

The created XFRM interface was not actually used (no interface IDs on the
SAs, no routes via interface).  It was basically treated like the dummy
TUN device.  To actually install the routes via XFRM interface, we have
to create it before we install the SAs and policies, signal_ip_config()
happens too late.  We also have to mark the ESP packets the same as IKE
the packets to avoid a routing loop if the server's IP is included in
the remote traffic selector (in particular if it's 0.0.0.0/0 or ::/0).

Fixes: 58f278f93239 ("charon-nm: Use an XFRM interface if available")
10 months agoUse Botan 3.1.1 for tests
Tobias Brunner [Fri, 14 Apr 2023 07:30:35 +0000 (09:30 +0200)] 
Use Botan 3.1.1 for tests

The all-zero Ed25519 public key is rejected by botan_pubkey_check_key()
when the key is loaded.

Note that Botan 3 requires GCC 11 or CLANG 14, i.e. can't easily be built
on Debian bullseye or Ubuntu 20.04.

The thread-local storage function gets flagged via various botan FFI
functions when using Botan 3, whitelist that instead of all of them.

10 months agoMerge branch 'testing-bookworm'
Tobias Brunner [Wed, 26 Jul 2023 11:07:37 +0000 (13:07 +0200)] 
Merge branch 'testing-bookworm'

Use Debian bookworm as base image for testing.

10 months agotesting: Format total time in a more readable way
Tobias Brunner [Wed, 26 Jul 2023 11:05:56 +0000 (13:05 +0200)] 
testing: Format total time in a more readable way

10 months agotesting: Change memory allocation for alice and winnetou and switch to MiB
Tobias Brunner [Fri, 14 Jul 2023 12:30:14 +0000 (14:30 +0200)] 
testing: Change memory allocation for alice and winnetou and switch to MiB

The services running on alice seem to require a bit more memory with
Debian bookworm, so increase the memory allocation.  But at the same
time reduce winnetou's allocation by the same amount as it really doesn't
require that much memory.

The unit change makes it easier to read.

10 months agotesting: Hardcode /testresults mount point in winnetou's fstab
Tobias Brunner [Thu, 20 Jul 2023 13:29:35 +0000 (15:29 +0200)] 
testing: Hardcode /testresults mount point in winnetou's fstab

Because do-tests runs the restore-defaults script, fstab would get reset
to the default version and the mount point wouldn't be available anymore
after stopping and restarting the guests (unless the guest images were
rebuilt in between).

10 months agotesting: Copy guest-specific files after default files
Tobias Brunner [Thu, 20 Jul 2023 13:28:51 +0000 (15:28 +0200)] 
testing: Copy guest-specific files after default files

This allows overriding some files per guest.

10 months agotesting: Use Debian 12 (bookworm)
Tobias Brunner [Wed, 28 Jun 2023 13:56:28 +0000 (15:56 +0200)] 
testing: Use Debian 12 (bookworm)

10 months agotesting: Use Debian bookworm to test TKM
Tobias Brunner [Thu, 13 Jul 2023 08:47:51 +0000 (10:47 +0200)] 
testing: Use Debian bookworm to test TKM

10 months agotesting: Update TKM dependencies to fix compilation with newer GNAT versions
Tobias Brunner [Wed, 28 Jun 2023 13:55:21 +0000 (15:55 +0200)] 
testing: Update TKM dependencies to fix compilation with newer GNAT versions

10 months agotesting: Add support for Debian bookworm base images
Tobias Brunner [Wed, 28 Jun 2023 13:54:54 +0000 (15:54 +0200)] 
testing: Add support for Debian bookworm base images

By default, rsyslog is not installed anymore to avoid storing everything
twice (since journald is the default).  If this becomes an issue, we
could delete /var/log/journal to only log via rsyslog.

10 months agotesting: Use venv for strongTNC
Tobias Brunner [Wed, 28 Jun 2023 13:52:57 +0000 (15:52 +0200)] 
testing: Use venv for strongTNC

Also updated to a newer version to fix dependency issues.

10 months agotesting: Install python-daemon via Debian package
Tobias Brunner [Wed, 28 Jun 2023 13:49:32 +0000 (15:49 +0200)] 
testing: Install python-daemon via Debian package

System-wide installation via pip isn't easily possible anymore on Debian
bookworm, so just use the Debian package for this (is available in old
releases as well).

10 months agolibimcv: Add Debian 12 (bookworm) to database
Tobias Brunner [Tue, 27 Jun 2023 17:03:32 +0000 (19:03 +0200)] 
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?).