]> git.ipfire.org Git - thirdparty/strongswan.git/log
thirdparty/strongswan.git
7 months agovici: Add pyproject.toml file to declare build backend
Tobias Brunner [Wed, 11 Dec 2024 15:27:42 +0000 (16:27 +0100)] 
vici: Add pyproject.toml file to declare build backend

7 months agocirrus: Fix vici Python build on Alpine
Tobias Brunner [Wed, 11 Dec 2024 16:11:24 +0000 (17:11 +0100)] 
cirrus: Fix vici Python build on Alpine

7 months agotesting: Ignore errors when dumping our routing table
Tobias Brunner [Tue, 10 Dec 2024 15:48:40 +0000 (16:48 +0100)] 
testing: Ignore errors when dumping our routing table

Some scenarios disable route installation and if they are executed before
any scenarios that don't, there won't be a rule for table 220 and we get
"FIB table does not exist" errors.

7 months agovici: Update Python build
Tobias Brunner [Mon, 9 Dec 2024 14:21:52 +0000 (15:21 +0100)] 
vici: Update Python build

Directly calling setup.py is deprecated (apparently has been for a while,
but now we get large warnings).  Direct installation is also discouraged.
So this removes that option.  The built wheel (the old egg format is not
used/built anymore) can be installed manually in a venv or the like.

7 months agovici: Update supported Python versions
Tobias Brunner [Mon, 9 Dec 2024 10:29:59 +0000 (11:29 +0100)] 
vici: Update supported Python versions

7 months agogithub: Update chunk_from_chars() CodeQL query to new data flow API
Tobias Brunner [Wed, 11 Dec 2024 12:53:00 +0000 (13:53 +0100)] 
github: Update chunk_from_chars() CodeQL query to new data flow API

7 months agopubkey: Remove unused set_subject() method
Tobias Brunner [Fri, 6 Dec 2024 10:52:37 +0000 (11:52 +0100)] 
pubkey: Remove unused set_subject() method

If not properly used (i.e. before sharing the object), this was not
thread-safe.  So better remove it and force users to create immutable
objects.

7 months agovici: Delay creation of raw public keys until we know the identity
Tobias Brunner [Fri, 6 Dec 2024 10:33:37 +0000 (11:33 +0100)] 
vici: Delay creation of raw public keys until we know the identity

The previous approach had two drawbacks:

First, it caused duplicate public keys because when the `certificate_t`
object was created and added to the credential set it had no subject
assigned yet.  So it defaulted to the key ID.  However, all previously
loaded keys had their subject already changed to an identity, so there
never was a match and new objects were always added whenever a config
with raw public keys was loaded.

Second, the subject was replaced in a way that's not thread-safe on an
object that's already shared in the public credential set.  So other
threads could potentially access the `identification_t` object that's
destroyed during that process.

References strongswan/strongswan#853
Closes strongswan/strongswan#2561

7 months agotesting: Include ML-KEM crypto tests rw-cert scenario
Andreas Steffen [Fri, 6 Dec 2024 13:38:14 +0000 (14:38 +0100)] 
testing: Include ML-KEM crypto tests rw-cert scenario

7 months agochild-create: Fix double free of list of labels after migrate
Rob Shearman [Thu, 14 Nov 2024 13:15:36 +0000 (13:15 +0000)] 
child-create: Fix double free of list of labels after migrate

If a migrate of a child-create occurs then labels_i and labels_r are
freed, but the pointers are left set. If the task is subsequently
destroyed without being reused, then both of these will be double
freed.

Fix this by setting labels_i and labels_r to NULL in the migrate
method after freeing, similar to other fields that are freed.

Closes strongswan/strongswan#2552

Fixes: f9b895b49f49 ("child-create: Add support to handle security labels")
7 months agoswanctl: Document keX_ prefix and replace DH with KE
Tobias Brunner [Wed, 4 Dec 2024 14:14:21 +0000 (15:14 +0100)] 
swanctl: Document keX_ prefix and replace DH with KE

7 months agonm: Version bump to 1.6.1
Tobias Brunner [Tue, 3 Dec 2024 13:36:47 +0000 (14:36 +0100)] 
nm: Version bump to 1.6.1

7 months agofile-logger: Don't log <> if ike_name is disabled and no IKE_SA is available 6.0.0
Tobias Brunner [Tue, 3 Dec 2024 08:04:34 +0000 (09:04 +0100)] 
file-logger: Don't log <> if ike_name is disabled and no IKE_SA is available

Fixes: a2fba6db4a17 ("file-logger: Add option to log messages as JSON objects")
7 months agotesting: Use a single scp command to restore defaults
Tobias Brunner [Mon, 2 Dec 2024 18:18:56 +0000 (19:18 +0100)] 
testing: Use a single scp command to restore defaults

This is a bit faster than two sequential calls.

7 months agotesting: Improve replacing IP addresses in test files
Tobias Brunner [Mon, 2 Dec 2024 18:07:51 +0000 (19:07 +0100)] 
testing: Improve replacing IP addresses in test files

There are a lot of files without patterns and running them all through
sed is quite slow.  Using grep first makes this quicker (about 0.5s per
test).  Ignoring PEM files is also helpful.

7 months agotesting: Log timestamps relative to the start of the test
Tobias Brunner [Fri, 29 Nov 2024 19:04:45 +0000 (20:04 +0100)] 
testing: Log timestamps relative to the start of the test

Makes it easier to compare multiple runs against each other.

7 months agotesting: Collect test results with an on-guest script in parallel
Tobias Brunner [Fri, 29 Nov 2024 17:24:18 +0000 (18:24 +0100)] 
testing: Collect test results with an on-guest script in parallel

In particular the swanctl calls all take a while and this allows doing
them in parallel if multiple hosts are involved. This reduces the runtime
of each test by 1-3 seconds.

7 months agotesting: Use an on-guest script to cleanup/initialize and run them in parallel
Tobias Brunner [Fri, 29 Nov 2024 17:15:58 +0000 (18:15 +0100)] 
testing: Use an on-guest script to cleanup/initialize and run them in parallel

This is a bit quicker than doing this with separate SSH calls for each
host sequentially (up to half a second per test).

7 months agotesting: Always use immediate mode for tcpdump
Tobias Brunner [Fri, 29 Nov 2024 16:39:27 +0000 (17:39 +0100)] 
testing: Always use immediate mode for tcpdump

We don't use versions that don't support this anymore and sometimes the
detection didn't work properly and a run without it would get started.

7 months agoRemove two files to be ignored
Andreas Steffen [Mon, 2 Dec 2024 22:13:10 +0000 (23:13 +0100)] 
Remove two files to be ignored

7 months agoVersion bump to 6.0.0
Andreas Steffen [Mon, 2 Dec 2024 13:21:53 +0000 (14:21 +0100)] 
Version bump to 6.0.0

8 months agochild-sa: Update status flags based on success of SA addition
Thomas Egerer [Mon, 25 Nov 2024 15:37:40 +0000 (15:37 +0000)] 
child-sa: Update status flags based on success of SA addition

Both variables `inbound_installed` and `outbound_state` are used in
`child_sa_t::destroy()` to determine whether inbound and outbound state
have to be deleted. They are assigned prior to the call to
`kernel_interface_t::add_sa()`. As this call may fail, the destructor may
try to delete a state which it has not been added.
By making the assignment of these variables dependent on the success of
the state addition, we can make sure, a `child_sa_t::destroy()` only
deletes states it has added.

Also removed the redundant checks for `my_spi` and `other_spi` being set
along with the check for the above flags. It seems that when the flags
are set, the SPIs *must* be set.

Signed-off-by: Thomas Egerer <thomas.egerer@secunet.com>
8 months agoNEWS: Add news for 6.0.0
Tobias Brunner [Wed, 27 Nov 2024 10:38:54 +0000 (11:38 +0100)] 
NEWS: Add news for 6.0.0

8 months agoswanctl: Update note about reauth approaches for reauth_time
Tobias Brunner [Wed, 27 Nov 2024 10:08:05 +0000 (11:08 +0100)] 
swanctl: Update note about reauth approaches for reauth_time

8 months agogithub: Use AWS-LC 1.40.0 for tests
Tobias Brunner [Wed, 27 Nov 2024 09:13:36 +0000 (10:13 +0100)] 
github: Use AWS-LC 1.40.0 for tests

8 months agoscripts: Use correct type for length when printing `count` for KEM KATs
Tobias Brunner [Mon, 25 Nov 2024 15:56:53 +0000 (16:56 +0100)] 
scripts: Use correct type for length when printing `count` for KEM KATs

8 months agoVersion bump to 6.0.0rc2 6.0.0rc2
Andreas Steffen [Tue, 26 Nov 2024 07:21:20 +0000 (08:21 +0100)] 
Version bump to 6.0.0rc2

8 months agocert-enroll: Support three generations of CA certificates
Andreas Steffen [Mon, 25 Nov 2024 14:35:53 +0000 (15:35 +0100)] 
cert-enroll: Support three generations of CA certificates

If the lifetime of an issuing or sub CA is twice the lifetime of
the end entity certificates issued by it and the renewal cycle of
the issuing CAs is a little shorter than the validity of the end
entity certificates then three generations of CA certificates have
to be handled by the cert-enroll scripts.

8 months agox509: Use SHA-256 as default hash/signature algorithm for attribute certificates
Tobias Brunner [Mon, 11 Nov 2024 16:30:16 +0000 (17:30 +0100)] 
x509: Use SHA-256 as default hash/signature algorithm for attribute certificates

References strongswan/strongswan#2523

8 months agounit-tests: Remove RSA/ECDSA schemes with weak hash algorithms (MD5/SHA-1)
Tobias Brunner [Mon, 25 Nov 2024 15:46:04 +0000 (16:46 +0100)] 
unit-tests: Remove RSA/ECDSA schemes with weak hash algorithms (MD5/SHA-1)

These have been discouraged for a long time and there are now more and
more crypto libraries that have them disabled by default.  However, for
some we only can detect this at runtime, in particular in FIPS mode, so
tests would fail as the plugins would still announce them.  So instead
we just remove the schemes from these tests for now (at least for RSA,
removing signatures with SHA-1 completely isn't an option yet as that's
still the default with some clients).

Closes strongswan/strongswan#2523

8 months agogithub: Run apidoc test on Ubuntu 24.04 image
Tobias Brunner [Mon, 25 Nov 2024 15:09:29 +0000 (16:09 +0100)] 
github: Run apidoc test on Ubuntu 24.04 image

The Doxygen version on 22.04 doesn't understand some of the new directives.

8 months agoapidoc: Update Doxyfile.in
Tobias Brunner [Mon, 25 Nov 2024 11:19:12 +0000 (12:19 +0100)] 
apidoc: Update Doxyfile.in

The only actual change is disabling timestamps (makes it easier to
compare).

8 months agoFixed some typos, courtesy of codespell
Tobias Brunner [Mon, 25 Nov 2024 11:05:46 +0000 (12:05 +0100)] 
Fixed some typos, courtesy of codespell

8 months agotesting: Make timing for TKM rekey scenarios a bit more stable
Tobias Brunner [Mon, 25 Nov 2024 10:40:57 +0000 (11:40 +0100)] 
testing: Make timing for TKM rekey scenarios a bit more stable

In particular for the first one randomization could trigger an additional
rekeying, which let the "Adding ESA ..." check fail.  But even without
randomization (could be seen in the second scenario that already uses
`rand_time=0`) 4 seconds can apparently be too low some time.

8 months agoVersion bump to 6.0.0rc1 6.0.0rc1
Andreas Steffen [Mon, 25 Nov 2024 10:11:17 +0000 (11:11 +0100)] 
Version bump to 6.0.0rc1

8 months agotesting: Added ML-KEM test cases
Andreas Steffen [Sat, 23 Nov 2024 15:53:02 +0000 (16:53 +0100)] 
testing: Added ML-KEM test cases

8 months agotesting: Fixed typos
Andreas Steffen [Sat, 23 Nov 2024 14:06:37 +0000 (15:06 +0100)] 
testing: Fixed typos

8 months agogithub: Install pkgconf instead of pkg-config on macOS
Tobias Brunner [Fri, 22 Nov 2024 14:19:04 +0000 (15:19 +0100)] 
github: Install pkgconf instead of pkg-config on macOS

The package was apparently renamed/transitioned, but that doesn't really
work properly (causes a symlink issue when installing via pkg-config).

8 months agoml: Fix compilation with some compilers
Tobias Brunner [Fri, 22 Nov 2024 13:42:34 +0000 (14:42 +0100)] 
ml: Fix compilation with some compilers

Some (older) compilers complain that "variable-sized object may not be
initialized".

8 months agofuzz: Fix build after changing default plugins
Tobias Brunner [Sat, 5 Nov 2022 14:24:49 +0000 (15:24 +0100)] 
fuzz: Fix build after changing default plugins

8 months agotraffic-selector: Add workaround for possibly bogus warning with GCC 14
Tobias Brunner [Fri, 25 Oct 2024 10:48:52 +0000 (12:48 +0200)] 
traffic-selector: Add workaround for possibly bogus warning with GCC 14

When compiling with -O3 with GCC 14, we get the following warning/error:

/usr/include/x86_64-linux-gnu/bits/string_fortified.h:29:10: error: '__builtin_memcpy' offset [0, 3] is out of the bounds [0, 0] [-Werror=array-bounds=]
   29 |   return __builtin___memcpy_chk (__dest, __src, __len,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   30 |                                  __glibc_objsize0 (__dest));
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~

Which seems completely bogus as that array has a fixed size of 16 and
some weird workarounds remove the warning (e.g. adding an assignment
to `subset->netbits` before the `memcpy()`).  This is also the only
place GCC complains about and we use `memcpy()` all over the place
in this file to set those addresses.

Closes strongswan/strongswan#2509

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

8 months 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

8 months agoMerge commit 'default-plugins'
Tobias Brunner [Fri, 22 Nov 2024 13:17:17 +0000 (14:17 +0100)] 
Merge commit 'default-plugins'

Changes the default crypto plugins from the built-in ones to openssl.

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

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

8 months 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

8 months 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

8 months 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

8 months 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

8 months 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

8 months 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

8 months 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

8 months 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

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

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

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

8 months 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

8 months 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

8 months 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

8 months 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

8 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

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

8 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

8 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

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

8 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

8 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

8 months agoml: Store decoded public/private key and matrix A on initiator
Tobias Brunner [Mon, 28 Oct 2024 14:12:32 +0000 (15:12 +0100)] 
ml: Store decoded public/private key and matrix A on initiator

While this does require quite a bit of memory, on initiators there are
usually fewer concurrent SAs getting created so this should be less of
an issue than on a gateway that handles lots of SAs as responder.

The speed up is about 30% on the initiator during the decapsulation,
while the key generation does take a bit more time (about 3%).

8 months agoml: Add software implementation of ML-KEM
Tobias Brunner [Mon, 21 Oct 2024 08:38:14 +0000 (10:38 +0200)] 
ml: Add software implementation of ML-KEM

This follows FIPS 203 relatively closely but takes some ideas from the
reference implementation.  In particular, how to avoid potential
side-channels via direct C division/modulo operations.  However, it just
uses Barrett reduction (no Montgomery reduction) and no negative
coefficients to avoid number format conversions and keep the
implementation clearer.

8 months agomemory: Add helper function to conditionally copy data in constant time
Tobias Brunner [Tue, 29 Oct 2024 17:33:00 +0000 (18:33 +0100)] 
memory: Add helper function to conditionally copy data in constant time

8 months 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

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

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

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

8 months agoopenssl: Add ML-KEM support with AWS-LC
Gerardo Ravago [Fri, 4 Oct 2024 14:26:16 +0000 (10:26 -0400)] 
openssl: Add ML-KEM support with AWS-LC

This registers support for the ML_KEM_{512,768,1024} key exchange
algorithms in the `openssl` plugin when built using AWS-LC as the
libcrypto. To do this, we introduce the `openssl_kem` source files
which implement the key exchange algorithm using the Key Encapsulation
Mechanism (KEM) API. Future KEM algorithms can be implemented
generically using this interface by substituting the appropriate NIDs.

It also supports both seeded (via DRBG) and unseeded modes depending
on the user's requirements for KATs or entropy sources.

It should be noted that this does not add support for KEM algorithms
within upstream OpenSSL and is API incompatible. Future work will need
to condition out the incompatibilities as-appropriate. However, the
high-level logic should be the same for all KEMs and KEM APIs.

References strongswan/strongswan#2228
Closes strongswan/strongswan#2490

8 months agobotan: Add support for ML-KEM
Tobias Brunner [Tue, 8 Oct 2024 09:51:42 +0000 (11:51 +0200)] 
botan: Add support for ML-KEM

8 months agoUse Botan 3.6.1 for tests
Tobias Brunner [Wed, 23 Oct 2024 14:48:36 +0000 (16:48 +0200)] 
Use Botan 3.6.1 for tests

With 3.6.0 support for ML-KEM was added.

8 months agobotan: Add support for AES in ECB mode to support DRBG_CTR_AES
Tobias Brunner [Wed, 23 Oct 2024 15:14:56 +0000 (17:14 +0200)] 
botan: Add support for AES in ECB mode to support DRBG_CTR_AES

This DRBG is used to test ML-KEM.

8 months agobotan: Fix include issue that prevented parsing public keys
Tobias Brunner [Wed, 23 Oct 2024 14:45:32 +0000 (16:45 +0200)] 
botan: Fix include issue that prevented parsing public keys

Botan stopped including build.h in ffi.h with 3.4.0, so we have to
add this here explicitly to check for the enabled key types.

8 months agowolfssl: Add support for ML-KEM
Tobias Brunner [Fri, 4 Oct 2024 09:24:49 +0000 (11:24 +0200)] 
wolfssl: Add support for ML-KEM

8 months agoUse wolfSSL 5.7.4 for tests
Tobias Brunner [Mon, 28 Oct 2024 09:34:08 +0000 (10:34 +0100)] 
Use wolfSSL 5.7.4 for tests

This adds support for ML-KEM etc.

8 months agotest-vectors: Add ML-KEM test vectors
Tobias Brunner [Thu, 3 Oct 2024 11:50:21 +0000 (13:50 +0200)] 
test-vectors: Add ML-KEM test vectors

The vectors are generated using the `kat_kem` utility of the liboqs
project and then converted using the `nist_kem_kat` script.

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

8 months agodh-speed: Use method call order compatible with KEMs
Tobias Brunner [Tue, 8 Oct 2024 14:36:47 +0000 (16:36 +0200)] 
dh-speed: Use method call order compatible with KEMs

Also prints the speed of the derivation (or decapsulation) for the
initiator.

8 months agokey-exchange: Document how the interface is used with KEMs
Tobias Brunner [Mon, 7 Oct 2024 09:56:40 +0000 (11:56 +0200)] 
key-exchange: Document how the interface is used with KEMs

8 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.

8 months agokey-exchange: Add identifiers for ML-KEM algorithms
Tobias Brunner [Thu, 3 Oct 2024 07:31:40 +0000 (09:31 +0200)] 
key-exchange: Add identifiers for ML-KEM algorithms

9 months agoswanctl: Document soft lifetime defaults if hard lifetimes are configured
Tobias Brunner [Wed, 30 Oct 2024 11:07:04 +0000 (12:07 +0100)] 
swanctl: Document soft lifetime defaults if hard lifetimes are configured

9 months agomem-pool: Fix issue with make-before-break reauth and multiple IKE_SAs
Tobias Brunner [Mon, 30 Sep 2024 10:26:05 +0000 (12:26 +0200)] 
mem-pool: Fix issue with make-before-break reauth and multiple IKE_SAs

If uniqueness checks are disabled and multiple IKE_SAs with the same
identities are created, an offline lease could have gotten reassigned
during a make-before-break reauthentication if such an SA was closed
earlier.  Checking for an online lease for the same client (IP/port)
first ensures that the correct IP is reassigned during the
reauthentication.

References strongswan/strongswan#2472

9 months agofile-logger: Take options as a struct and combine ms/us suffix options
Tobias Brunner [Wed, 9 Oct 2024 15:53:39 +0000 (17:53 +0200)] 
file-logger: Take options as a struct and combine ms/us suffix options

References strongswan/strongswan#2475

9 months agofile-logger: Add support to log timestamp in microseconds
Tobias Brunner [Wed, 9 Oct 2024 15:40:55 +0000 (17:40 +0200)] 
file-logger: Add support to log timestamp in microseconds

Closes strongswan/strongswan#2475

9 months agofile-logger: Add option to log messages as JSON objects
Tobias Brunner [Thu, 25 Apr 2024 15:09:48 +0000 (17:09 +0200)] 
file-logger: Add option to log messages as JSON objects

Closes strongswan/strongswan#2222

9 months agosocket-default: Always open IPv4 sockets before IPv6 sockets
Tobias Brunner [Fri, 18 Oct 2024 07:14:27 +0000 (09:14 +0200)] 
socket-default: Always open IPv4 sockets before IPv6 sockets

Since we now open sockets for each address family independently (via
IPV6_V6ONLY) and without SO_REUSEADDR, it could happen with the previous
order on Linux that opening the port that was allocated as ephemeral
port for IPv6 was already used by a different process for IPv4.

Most IPv6 sockets on ephemeral ports will not have IPV6_V6ONLY set, so
the same port is also reserved for IPv4.  Therefore, it's save to assume
that any ephemeral port we first get for IPv4 is free for IPv6.

References strongswan/strongswan#2494

9 months agoopenssl: Add support for new API to squeeze data from XOFs
Tobias Brunner [Thu, 23 Nov 2023 14:36:45 +0000 (15:36 +0100)] 
openssl: Add support for new API to squeeze data from XOFs

This new API doesn't require a temporary buffer and generating a lot
of already consumed output.

9 months agoleak-detective: Whitelist OpenSSL 3.2 function
Tobias Brunner [Wed, 20 Mar 2024 13:52:16 +0000 (14:52 +0100)] 
leak-detective: Whitelist OpenSSL 3.2 function

9 months agocertificate_printer: Fix spacing for additional CRL/OCSP URIs
Andreas Steffen [Thu, 17 Oct 2024 08:46:27 +0000 (10:46 +0200)] 
certificate_printer: Fix spacing for additional CRL/OCSP URIs

Multiple occurences of CRL and OCSP URIs where not indented correctly.

9 months agonm: Update build files and switch from intltool to gettext
Tobias Brunner [Tue, 15 Oct 2024 14:59:10 +0000 (16:59 +0200)] 
nm: Update build files and switch from intltool to gettext

gnome-common has been deprecated, so has intltool.  This follows GNOME's
recommended migration paths.

9 months agoRevert "conf: Add support for escaping dots in section/option names"
Tobias Brunner [Tue, 15 Oct 2024 10:44:02 +0000 (12:44 +0200)] 
Revert "conf: Add support for escaping dots in section/option names"

This reverts commit 84a3077e780e7b25bf536da42a583bdc18448362.

Support for dots in names of settings was removed quite a while ago and
now the \. sequence caused `SyntaxWarning: invalid escape sequence`.

9 months agowolfssl: Don't undef PARSE_ERROR as headers included later might refer to it
Tobias Brunner [Fri, 4 Oct 2024 09:23:28 +0000 (11:23 +0200)] 
wolfssl: Don't undef PARSE_ERROR as headers included later might refer to it