]> git.ipfire.org Git - thirdparty/strongswan.git/log
thirdparty/strongswan.git
4 weeks agooqs: Updated ML-KEM algorithms to liboqs-0.10.0 six-beta
Andreas Steffen [Mon, 1 Apr 2024 10:18:42 +0000 (12:18 +0200)] 
oqs: Updated ML-KEM algorithms to liboqs-0.10.0

The liboqs-0.10.0 library implements the NIST FIPS 203 ML-KEM
draft standard. strongSwan now uses the mlkem512 (ML_KEM_512),
mlkem768 (ML_KEM_768) and mlkem1024 (ML_KEM_1024) KE identifiers
but is still assigning private KE codepoints.

4 weeks agoVersion bump to 6.0.0beta6
Andreas Steffen [Wed, 20 Mar 2024 16:03:54 +0000 (17:03 +0100)] 
Version bump to 6.0.0beta6

4 weeks agooqs: Updated Falcon signature tests to liboqs-0.8
Andreas Steffen [Thu, 17 Aug 2023 07:07:28 +0000 (09:07 +0200)] 
oqs: Updated Falcon signature tests to liboqs-0.8

4 weeks agooqs: Updated KEM algorithms to liboqs-0.8
Andreas Steffen [Thu, 17 Aug 2023 05:31:54 +0000 (07:31 +0200)] 
oqs: Updated KEM algorithms to liboqs-0.8

4 weeks agoNEWS: Add news for 6.0.0
Tobias Brunner [Thu, 15 Jun 2023 12:04:46 +0000 (14:04 +0200)] 
NEWS: Add news for 6.0.0

4 weeks agolibcharon: Enable make_before_break option by default
Andreas Steffen [Wed, 4 Jan 2023 17:31:00 +0000 (18:31 +0100)] 
libcharon: Enable make_before_break option by default

4 weeks agoEnable rsa_pss by default
Andreas Steffen [Wed, 4 Jan 2023 17:28:13 +0000 (18:28 +0100)] 
Enable rsa_pss by default

4 weeks agowolfssl: RSA-PSS with SHA3 is not supported by wolfSSL
Andreas Steffen [Mon, 9 Jan 2023 18:49:43 +0000 (19:49 +0100)] 
wolfssl: RSA-PSS with SHA3 is not supported by wolfSSL

4 weeks agomgf1: Support of RSA PSS with SHA3 hash
Andreas Steffen [Thu, 5 Jan 2023 14:10:32 +0000 (15:10 +0100)] 
mgf1: Support of RSA PSS with SHA3 hash

4 weeks agowip: fuzz: Fix build after changing default plugins
Tobias Brunner [Sat, 5 Nov 2022 14:24:49 +0000 (15:24 +0100)] 
wip: fuzz: Fix build after changing default plugins

4 weeks agoDefine new default plugins
Andreas Steffen [Sat, 22 Oct 2022 09:29:33 +0000 (11:29 +0200)] 
Define new default plugins

4 weeks agotesting: Migrated wolfssl scenarios
Andreas Steffen [Fri, 21 Oct 2022 18:38:16 +0000 (20:38 +0200)] 
testing: Migrated wolfssl scenarios

4 weeks agotesting: Migrated tnc scenarios to new default plugins
Andreas Steffen [Fri, 21 Oct 2022 18:19:11 +0000 (20:19 +0200)] 
testing: Migrated tnc scenarios to new default plugins

4 weeks agotesting: Migrated tkm scenarios to new default plugins
Andreas Steffen [Fri, 21 Oct 2022 18:07:14 +0000 (20:07 +0200)] 
testing: Migrated tkm scenarios to new default plugins

4 weeks agotesting: Migrated sql scenarios to new default plugins
Andreas Steffen [Thu, 20 Oct 2022 20:13:14 +0000 (22:13 +0200)] 
testing: Migrated sql scenarios to new default plugins

4 weeks agotesting: Migrated route-based scenarios to new default plugins
Andreas Steffen [Thu, 20 Oct 2022 14:51:31 +0000 (16:51 +0200)] 
testing: Migrated route-based scenarios to new default plugins

4 weeks agotesting: Migrated pfkey scenarios to new default plugins
Andreas Steffen [Thu, 20 Oct 2022 14:29:34 +0000 (16:29 +0200)] 
testing: Migrated pfkey scenarios to new default plugins

4 weeks agotesting: Migrated p2pnat scenarios to new default plugins
Andreas Steffen [Thu, 20 Oct 2022 08:21:27 +0000 (10:21 +0200)] 
testing: Migrated p2pnat scenarios to new default plugins

4 weeks agotesting: Migrated libipsec scenarios to new default plugins
Andreas Steffen [Thu, 20 Oct 2022 08:17:32 +0000 (10:17 +0200)] 
testing: Migrated libipsec scenarios to new default plugins

4 weeks agotesting: Migrated ha scenarios to new default plugins
Andreas Steffen [Thu, 20 Oct 2022 07:39:46 +0000 (09:39 +0200)] 
testing: Migrated ha scenarios to new default plugins

4 weeks agotesting: Migrated gcrypt-ikev2 scenarios
Andreas Steffen [Thu, 20 Oct 2022 02:54:56 +0000 (04:54 +0200)] 
testing: Migrated gcrypt-ikev2 scenarios

4 weeks agotesting: Migrated botan scenarios
Andreas Steffen [Thu, 20 Oct 2022 02:15:28 +0000 (04:15 +0200)] 
testing: Migrated botan scenarios

4 weeks agotesting: Migrated af-alg scenarios
Andreas Steffen [Wed, 19 Oct 2022 08:57:22 +0000 (10:57 +0200)] 
testing: Migrated af-alg scenarios

4 weeks agotesting: Migrated ike scenarios to new default plugins
Andreas Steffen [Wed, 19 Oct 2022 07:11:54 +0000 (09:11 +0200)] 
testing: Migrated ike scenarios to new default plugins

4 weeks agotesting: Migrated ikev1-stroke to new default plugins
Andreas Steffen [Wed, 19 Oct 2022 07:02:37 +0000 (09:02 +0200)] 
testing: Migrated ikev1-stroke to new default plugins

4 weeks agotesting: Migrated ikev2-stroke scenarios to new default plugins
Andreas Steffen [Wed, 19 Oct 2022 06:01:27 +0000 (08:01 +0200)] 
testing: Migrated ikev2-stroke scenarios to new default plugins

4 weeks agotesting: Migrated ipv6-stroke scenarios to new default plugins
Andreas Steffen [Wed, 19 Oct 2022 05:25:26 +0000 (07:25 +0200)] 
testing: Migrated ipv6-stroke scenarios to new default plugins

4 weeks 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

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

4 weeks 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

4 weeks 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

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

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

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

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

4 weeks 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

4 weeks 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

4 weeks 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

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

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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.

4 weeks 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

4 weeks 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.

4 weeks 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).

4 weeks agoike-init: Indicate support for IKE_INTERMEDIATE
Tobias Brunner [Tue, 5 Nov 2019 15:42:58 +0000 (16:42 +0100)] 
ike-init: Indicate support for IKE_INTERMEDIATE

4 weeks 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.

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

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

4 weeks 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>
4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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.

4 weeks 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.

4 weeks 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

4 weeks 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.

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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.

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

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

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

4 weeks 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

4 weeks 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

4 weeks 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.

4 weeks 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

4 weeks 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.

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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.

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

4 weeks 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

5 weeks agoUse wolfSSL 5.7.0 for tests
Tobias Brunner [Fri, 22 Mar 2024 10:43:39 +0000 (11:43 +0100)] 
Use wolfSSL 5.7.0 for tests

5 weeks agofarp: Fix build with musl C library
Tobias Brunner [Fri, 22 Mar 2024 09:42:34 +0000 (10:42 +0100)] 
farp: Fix build with musl C library

Same issue as described in the previous commit.

Fixes: 187c72d1afdc ("dhcp: Port the plugin to FreeBSD/macOS")
5 weeks agopf-handler: Fix build with musl C library
Tobias Brunner [Fri, 22 Mar 2024 08:57:07 +0000 (09:57 +0100)] 
pf-handler: Fix build with musl C library

musl's headers define a lot of networking structs.  For some, the
definition in the Linux UAPI headers is then suppressed by e.g.
__UAPI_DEF_ETHHDR.

Since we included musl's net/ethernet.h, which includes netinet/if_ether.h
that defines `struct ethhdr` (and the above constant), **after** we
include linux/if_ether.h, there was a compilation error because the
struct was defined multiple times.

However, simply moving that include doesn't fix the problem because for
ARP-specific structs the Linux headers don't provide __UAPI_DEF* checks.
So instead of directly including the linux/ headers, we include those
provided by the C library.  For glibc these usually just include the
Linux headers, but for musl this allows them to define the struct
directly.  We also need to move if.h and add packet.h, which define
other structs (or include headers that do so) that we use.

Fixes: 187c72d1afdc ("dhcp: Port the plugin to FreeBSD/macOS")
5 weeks agoike-sa-manager: Unlock mutex if allocating SPI fails to avoid lock contention
Thomas Egerer [Wed, 20 Mar 2024 10:11:17 +0000 (10:11 +0000)] 
ike-sa-manager: Unlock mutex if allocating SPI fails to avoid lock contention

Fixes: 5d91d8c46937 ("Check rng return value when generating SPIs in ike_sa_manager_t")
Signed-off-by: Thomas Egerer <thomas.egerer@secunet.com>
6 weeks agoVersion bump to 5.9.14 5.9.14
Andreas Steffen [Tue, 19 Mar 2024 10:56:44 +0000 (11:56 +0100)] 
Version bump to 5.9.14