]> git.ipfire.org Git - thirdparty/strongswan.git/log
thirdparty/strongswan.git
3 months agobotan: Add support for FrodoKEM frodokem
Tobias Brunner [Thu, 10 Oct 2024 15:25:12 +0000 (17:25 +0200)] 
botan: Add support for FrodoKEM

3 months agooqs: Add support for FrodoKEM
Tobias Brunner [Thu, 10 Oct 2024 11:57:36 +0000 (13:57 +0200)] 
oqs: Add support for FrodoKEM

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

3 months agotest-vectors: Add FrodoKEM test vectors
Tobias Brunner [Thu, 10 Oct 2024 11:55:27 +0000 (13:55 +0200)] 
test-vectors: Add FrodoKEM test vectors

3 months agowip: key-exchange: Add identifiers for FrodoKEM
Tobias Brunner [Thu, 10 Oct 2024 11:53:40 +0000 (13:53 +0200)] 
wip: key-exchange: Add identifiers for FrodoKEM

wip: we have to wait for (pre-)allocation of identifiers

3 months agooqs: Add ML-KEM implementation based on liboqs
Andreas Steffen [Tue, 5 Nov 2019 20:52:20 +0000 (21:52 +0100)] 
oqs: Add ML-KEM implementation based on liboqs

3 months agosonarcloud: Ignore that we don't define loop variables inside the loop
Tobias Brunner [Tue, 21 Jan 2025 14:13:55 +0000 (15:13 +0100)] 
sonarcloud: Ignore that we don't define loop variables inside the loop

Also add the official description for the other ignored rules.

3 months agoopenssl: Require min version 3.0.0 for HKDF to support larger MODP groups and nonces
Nathan Tran [Wed, 8 Jan 2025 16:28:25 +0000 (08:28 -0800)] 
openssl: Require min version 3.0.0 for HKDF to support larger MODP groups and nonces

Also enables the `kdf` plugin automatically if building against an older
version of OpenSSL.

Closes strongswan/strongswan#2602

Co-authored-by: Tobias Brunner <tobias@strongswan.org>
3 months agoplugin-loader: Properly support compilation without dlopen()/dlsym() etc.
Tobias Brunner [Mon, 13 Jan 2025 16:09:15 +0000 (17:09 +0100)] 
plugin-loader: Properly support compilation without dlopen()/dlsym() etc.

This only works if plugins are built monolithically and linked statically.

Closes strongswan/strongswan#2615

3 months agosw-collector: Fix build with DEBUG_LEVEL < 1
Tobias Brunner [Mon, 13 Jan 2025 14:02:18 +0000 (15:02 +0100)] 
sw-collector: Fix build with DEBUG_LEVEL < 1

3 months agopts: Fix build with DEBUG_LEVEL < 1
Tobias Brunner [Mon, 13 Jan 2025 12:29:58 +0000 (13:29 +0100)] 
pts: Fix build with DEBUG_LEVEL < 1

3 months agolibtnccs: Fix build with DEBUG_LEVEL < 1
Tobias Brunner [Mon, 13 Jan 2025 11:51:30 +0000 (12:51 +0100)] 
libtnccs: Fix build with DEBUG_LEVEL < 1

3 months agoeap-sim-file: Fix build with DEBUG_LEVEL < 1
Tobias Brunner [Mon, 13 Jan 2025 13:38:54 +0000 (14:38 +0100)] 
eap-sim-file: Fix build with DEBUG_LEVEL < 1

3 months agosimaka-manager: Fix build with DEBUG_LEVEL < 1
Tobias Brunner [Mon, 13 Jan 2025 11:02:17 +0000 (12:02 +0100)] 
simaka-manager: Fix build with DEBUG_LEVEL < 1

3 months agogmp: Fix build with DEBUG_LEVEL < 1
Tobias Brunner [Mon, 13 Jan 2025 10:36:32 +0000 (11:36 +0100)] 
gmp: Fix build with DEBUG_LEVEL < 1

3 months agooptionsfrom: Fix build with DEBUG_LEVEL < 1
Tobias Brunner [Fri, 10 Jan 2025 17:52:45 +0000 (18:52 +0100)] 
optionsfrom: Fix build with DEBUG_LEVEL < 1

3 months agocredential-factory: Fix build with DEBUG_LEVEL < 1
Tobias Brunner [Fri, 10 Jan 2025 15:30:44 +0000 (16:30 +0100)] 
credential-factory: Fix build with DEBUG_LEVEL < 1

Newer versions of clang complain here.

3 months agotnc-imv: Add missing argument to IMV recommendations constructor
Tobias Brunner [Fri, 10 Jan 2025 14:43:11 +0000 (15:43 +0100)] 
tnc-imv: Add missing argument to IMV recommendations constructor

This avoids the following warning/error:

tnc_imv_manager.c:244:39: error: passing arguments to 'tnc_imv_recommendations_create' without a prototype is deprecated in all versions of C and is not supported in C23 [-Werror,-Wdeprecated-non-prototype]
  244 |         return tnc_imv_recommendations_create(this->imvs);
      |                                              ^

3 months agoctr: Remove parameter-less constructor prototype
Tobias Brunner [Thu, 9 Jan 2025 15:05:39 +0000 (16:05 +0100)] 
ctr: Remove parameter-less constructor prototype

Useless and causes a compiler warning/error:

  error: a function declaration without a prototype is deprecated in all versions of C and is treated as a zero-parameter prototype in C23, conflicting with a subsequent declaration [-Werror,-Wdeprecated-non-prototype]

3 months agocoverage: Exclude generated static proposal keywords
Tobias Brunner [Fri, 10 Jan 2025 16:23:19 +0000 (17:23 +0100)] 
coverage: Exclude generated static proposal keywords

The lines in the gperf-generated proposal_keywords_static.c are now
mapped to the (much shorter) .txt source file, which causes mismatches
like these:

  genhtml: ERROR: no data for line:190, TLA:GNC, file:/home/runner/work/strongswan/strongswan/src/libstrongswan/crypto/proposal/proposal_keywords_static.txt

We could ignore "unmapped" errors in genhtml, but since the file is
generated anyway, we can also exclude it from the results and still
get such errors in case this happens for other files.  Another alternative
would be to remove the `#line` macros in the generated file.  Then the
coverage of the actual C file would get reported (but again, it's
generated, so there isn't much value in it).

Also updated the branch coverage option as the one with `lcov_` prefix
is deprecated.

3 months agocoverage: Use atomic profiling updates to avoid issues with multi-threaded test cases
Tobias Brunner [Fri, 10 Jan 2025 15:03:53 +0000 (16:03 +0100)] 
coverage: Use atomic profiling updates to avoid issues with multi-threaded test cases

3 months agolibrary: Exclude the check_memwipe() function from AddressSanitizer
Tobias Brunner [Thu, 9 Jan 2025 14:20:45 +0000 (15:20 +0100)] 
library: Exclude the check_memwipe() function from AddressSanitizer

Newer versions of AddressSanitizer (e.g. in Ubuntu 24.04) will report
this now as stack-use-after-return.

3 months agogithub: Don't install the NDK as root
Tobias Brunner [Thu, 9 Jan 2025 13:35:53 +0000 (14:35 +0100)] 
github: Don't install the NDK as root

On the Ubuntu 24.04 image, this causes the /home/runner/.config/.android
directory to be owned by root, which lets the build fail later.

3 months agogithub: Enable SRP in OpenSSL build for clang AddressSanitizer build
Tobias Brunner [Fri, 10 Jan 2025 14:14:11 +0000 (15:14 +0100)] 
github: Enable SRP in OpenSSL build for clang AddressSanitizer build

On Ubuntu 24.04, llvm-symbolizer-18, which is used to resolve symbols
in backtraces, links libcurl.so.4 for some reason.  And that in turn
requires SRP.  If our custom build doesn't provide it, we get stuff
like this

  /usr/bin/llvm-symbolizer-18: symbol lookup error: /lib/x86_64-linux-gnu/libcurl.so.4: undefined symbol: SSL_CTX_set_srp_password, version OPENSSL_3.0.0

and the symbols are not resolved and can't be whitelisted.

This also makes sure ASan is actually disabled if our own leak-detective
is used.

3 months agogithub: Adapt to switch to Ubuntu 24.04 for ubuntu-latest
Tobias Brunner [Thu, 9 Jan 2025 13:21:10 +0000 (14:21 +0100)] 
github: Adapt to switch to Ubuntu 24.04 for ubuntu-latest

3 months agoconstraints: Exclude self-signed root CAs without policies from policy validation
Tobias Brunner [Wed, 8 Jan 2025 12:51:21 +0000 (13:51 +0100)] 
constraints: Exclude self-signed root CAs without policies from policy validation

Self-signed trust anchors are not part of the certificate path validation
according to RFC 8280, section 6.1:

  When the trust anchor is provided in the form of a self-signed
  certificate, this self-signed certificate is not included as part of
  the prospective certification path.

But policies in them could still be used, as stated in section 6.2:

  Where a CA distributes self-signed certificates to specify trust
  anchor information, certificate extensions can be used to specify
  recommended inputs to path validation.  For example, a policy
  constraints extension could be included in the self-signed
  certificate to indicate that paths beginning with this trust anchor
  should be trusted only for the specified policies.  [...]
  Implementations that use self-signed certificates to specify trust
  anchor information are free to process or ignore such information.

So unconditionally enforcing that self-signed root certificates contain
the policies is probably too strict.  Often they won't contain the
extension at all.  With this change, we allow that but still enforce the
policies in case such a certificate contains them.  The other
policy-related constraints are also enforced still should they be
contained.

Closes strongswan/strongswan#2601

4 months agogithub: Use AWS-LC 1.41.1 for tests
Tobias Brunner [Wed, 11 Dec 2024 15:00:08 +0000 (16:00 +0100)] 
github: Use AWS-LC 1.41.1 for tests

4 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

4 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

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

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

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

4 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

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

4 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

5 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

5 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")
5 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

5 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

5 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")
5 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.

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

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

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

5 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).

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

5 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

5 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

5 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>
5 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

5 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

5 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

5 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

5 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

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

5 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

5 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

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

5 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).

5 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

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

5 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

5 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

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

5 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).

5 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".

5 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

5 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

5 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

5 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

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

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

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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

5 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

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

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

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

5 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

5 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

5 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

5 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

5 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

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

5 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

5 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

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

5 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

5 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

5 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%).

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

5 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

5 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

5 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