]> git.ipfire.org Git - thirdparty/strongswan.git/log
thirdparty/strongswan.git
5 weeks agoMerge branch 'android-always-on-managed' android-2.5.5
Tobias Brunner [Fri, 4 Apr 2025 06:57:12 +0000 (08:57 +0200)] 
Merge branch 'android-always-on-managed'

Fixes an issue with initiating managed profiles as Always-on VPN.

Closes strongswan/strongswan#2756

5 weeks agoandroid: New release after fixing Always-on VPN with managed profiles
Tobias Brunner [Thu, 3 Apr 2025 14:35:47 +0000 (16:35 +0200)] 
android: New release after fixing Always-on VPN with managed profiles

5 weeks agoandroid: Fix starting a managed profile as Always-on VPN
Tobias Brunner [Thu, 3 Apr 2025 13:54:02 +0000 (15:54 +0200)] 
android: Fix starting a managed profile as Always-on VPN

The callbacks provided via ProcessLifecycleOwner are only triggered when
Activities are started.  However, when Android triggers the Always-on
VPN it directly starts our VpnService subclass, no Activity.  So the
configs were not loaded and the VPN couldn't be initiated with a managed
profile.  This ensures the config is loaded right from the start of
the app.  And by registering for modifications in onCreate() we can also
use the correct config if the app is never started in-between changes to
the managed profiles and triggering the Always-on VPN.

7 weeks agoCast uses of return_*(), nop() and enumerator_create_empty()
Tobias Brunner [Fri, 21 Feb 2025 16:00:44 +0000 (17:00 +0100)] 
Cast uses of return_*(), nop() and enumerator_create_empty()

As described in the previous commit, GCC 15 uses C23 by default and that
changes the meaning of such argument-less function declarations.  So
whenever we assign such a function to a pointer that expects a function
with arguments it causes an incompatible pointer type warning.  We
could define dedicated functions/callbacks whenever necessary, but this
seems like the simpler approach for now (especially since most uses of
these functions have already been cast).

7 weeks agocallback-job: Replace return_false() in constructors with dedicated function
Tobias Brunner [Fri, 21 Feb 2025 15:45:57 +0000 (16:45 +0100)] 
callback-job: Replace return_false() in constructors with dedicated function

Besides being clearer, this fixes issues with GCC 15.  The latter uses
C23 by default, which changes the meaning of function declarations
without parameters such as

bool return false();

Instead of "this function takes an unknown number of arguments", this
now equals (void), that is, "this function takes no arguments".  So we
run into incompatible pointer type warnings all over when using such
functions.  They could be cast to (void*) but this seems the cleaner
solution for this use case.

7 weeks agocharon-nm: Use CALLBACK macro for callback job's cancel implementation
Tobias Brunner [Fri, 21 Feb 2025 15:47:34 +0000 (16:47 +0100)] 
charon-nm: Use CALLBACK macro for callback job's cancel implementation

Casting to this specific function type doesn't work anymore if C23 is
used as the types mismatch.

7 weeks agopki: Fix signature of help() to match that of a callback in command_t
Tobias Brunner [Fri, 21 Feb 2025 16:18:35 +0000 (17:18 +0100)] 
pki: Fix signature of help() to match that of a callback in command_t

7 weeks agogithub: Use AWS-LC 1.48.5 for tests
Tobias Brunner [Tue, 11 Mar 2025 12:38:53 +0000 (13:38 +0100)] 
github: Use AWS-LC 1.48.5 for tests

8 weeks agotesting: Install iperf3 instead of iperf
Tobias Brunner [Mon, 10 Mar 2025 13:28:24 +0000 (14:28 +0100)] 
testing: Install iperf3 instead of iperf

8 weeks agotesting: Add options to only run pre- or posttest scripts of a scenario
Tobias Brunner [Wed, 12 Feb 2025 14:50:37 +0000 (15:50 +0100)] 
testing: Add options to only run pre- or posttest scripts of a scenario

This allows to manually do some testing without having to type commands
to set up a scenario.

Also changes how arguments are parsed (allowing to pass options mixed
with test dirs) and adds some usage output.

8 weeks agoDon't reference 5.9 in URLs to docs.strongswan.org
Tobias Brunner [Tue, 11 Mar 2025 09:26:31 +0000 (10:26 +0100)] 
Don't reference 5.9 in URLs to docs.strongswan.org

8 weeks agonm: Version bump to 1.6.2
Tobias Brunner [Tue, 11 Mar 2025 08:57:26 +0000 (09:57 +0100)] 
nm: Version bump to 1.6.2

8 weeks agoVersion bump to 6.0.1 6.0.1
Andreas Steffen [Mon, 10 Mar 2025 18:19:37 +0000 (19:19 +0100)] 
Version bump to 6.0.1

8 weeks agotesting: Adapted ha/active-passive tests
Andreas Steffen [Mon, 10 Mar 2025 18:18:40 +0000 (19:18 +0100)] 
testing: Adapted ha/active-passive tests

2 months agovici: Document ICMP type/code traffic selector restrictions
Tobias Brunner [Wed, 5 Mar 2025 09:55:51 +0000 (10:55 +0100)] 
vici: Document ICMP type/code traffic selector restrictions

2 months agoNEWS: Add news for 6.0.1
Tobias Brunner [Wed, 5 Mar 2025 07:50:44 +0000 (08:50 +0100)] 
NEWS: Add news for 6.0.1

2 months agoreceiver: Properly clean up if hasher or RNG can't be created
Tobias Brunner [Tue, 4 Mar 2025 14:30:25 +0000 (15:30 +0100)] 
receiver: Properly clean up if hasher or RNG can't be created

2 months agowinhttp: Properly destroy linked list if connection can't be opened
Tobias Brunner [Tue, 4 Mar 2025 14:27:53 +0000 (15:27 +0100)] 
winhttp: Properly destroy linked list if connection can't be opened

2 months agopkcs11: Free copied name of PKCS#11 module in error cases
Tobias Brunner [Tue, 4 Mar 2025 13:48:42 +0000 (14:48 +0100)] 
pkcs11: Free copied name of PKCS#11 module in error cases

2 months agostream-service: Avoid FD leak during deinitialization
Tobias Brunner [Tue, 4 Mar 2025 13:41:03 +0000 (14:41 +0100)] 
stream-service: Avoid FD leak during deinitialization

2 months agogcm: Properly clean up IV generator if crypter can't be created
Tobias Brunner [Tue, 4 Mar 2025 13:37:44 +0000 (14:37 +0100)] 
gcm: Properly clean up IV generator if crypter can't be created

2 months agodaemon: Properly clean up logger entries in error cases
Tobias Brunner [Tue, 4 Mar 2025 13:33:36 +0000 (14:33 +0100)] 
daemon: Properly clean up logger entries in error cases

The copied target string was not freed.

2 months agoswanctl: Fix memory leak in --load-creds if --clear fails
Tobias Brunner [Tue, 4 Mar 2025 13:30:35 +0000 (14:30 +0100)] 
swanctl: Fix memory leak in --load-creds if --clear fails

2 months agotesting: Update build recipe after changing Python build
Tobias Brunner [Tue, 4 Mar 2025 12:52:30 +0000 (13:52 +0100)] 
testing: Update build recipe after changing Python build

Fixes: 3babf1f7108d ("vici: Update Python build")
2 months agovici: Update docs after changing Python build
Tobias Brunner [Tue, 4 Mar 2025 12:50:59 +0000 (13:50 +0100)] 
vici: Update docs after changing Python build

Fixes: 3babf1f7108d ("vici: Update Python build")
2 months agoFixed some typos, courtesy of codespell
Tobias Brunner [Tue, 4 Mar 2025 12:31:26 +0000 (13:31 +0100)] 
Fixed some typos, courtesy of codespell

2 months agoVersion bump to 6.0.1rc1 6.0.1rc1
Andreas Steffen [Sun, 2 Mar 2025 16:09:14 +0000 (17:09 +0100)] 
Version bump to 6.0.1rc1

2 months agoRevert "kernel-netlink: Don't fallback to peer address as gateway"
Tobias Brunner [Mon, 3 Mar 2025 08:46:14 +0000 (09:46 +0100)] 
Revert "kernel-netlink: Don't fallback to peer address as gateway"

This reverts commit f717bb5249caea550bc6e2baeb09ca309ad83b39.

Causes issues in our testing environment. Default route via host is
preferred if no gateway is set in the installed routes.  Needs some
investigation.

References strongswan/strongswan#2548

2 months agocharon-nm: Lower default retransmission settings to restore SAs more quickly
Tobias Brunner [Fri, 28 Feb 2025 15:40:48 +0000 (16:40 +0100)] 
charon-nm: Lower default retransmission settings to restore SAs more quickly

These are the same values we use for the Android app.

References strongswan/strongswan#2696

2 months agocharon-nm: Use a DPD to check the current path
Tobias Brunner [Thu, 27 Feb 2025 08:37:25 +0000 (09:37 +0100)] 
charon-nm: Use a DPD to check the current path

If the client's network goes down for a while but the same IP address
is assigned later, it won't be aware if the server killed the IKE_SA
while it wasn't reachable.  This way, a DPD is triggered and the client
can reestablish the SA if necessary.  When roaming to a different IP,
a MOBIKE update is triggered with the same effect.

References strongswan/strongswan#2696

2 months agoconf: Document some global options for charon-nm
Tobias Brunner [Wed, 26 Feb 2025 14:06:29 +0000 (15:06 +0100)] 
conf: Document some global options for charon-nm

These have specific values for charon-nm's use case but might have to be
changed for special setups or because of conflicts.

References strongswan/strongswan#2683

2 months agoconf: Add missing modules to install config snippets
Tobias Brunner [Wed, 26 Feb 2025 13:34:12 +0000 (14:34 +0100)] 
conf: Add missing modules to install config snippets

In particular the one for charon-nm was missing.

References strongswan/strongswan#2683

2 months agoikev2: Trigger ike_reestablish_pre|post events for make-before-break reauth
Tobias Brunner [Tue, 25 Feb 2025 13:49:38 +0000 (14:49 +0100)] 
ikev2: Trigger ike_reestablish_pre|post events for make-before-break reauth

Listeners can't track those IKE_SAs otherwise.  For break-before-make
reauthentications, these events are already triggered because that is
implemented by calling reestablish() on the old IKE_SA.

2 months agoike-sa: Fix check for make-before-break when handling DELETE failure
Tobias Brunner [Tue, 25 Feb 2025 11:14:12 +0000 (12:14 +0100)] 
ike-sa: Fix check for make-before-break when handling DELETE failure

Fixes: a5e80cf5e451 ("libcharon: Enable make_before_break option by default")
2 months agoike-natd: Float to the NAT-T port early when not connecting to port 500
michael-dev [Mon, 10 Feb 2025 12:36:34 +0000 (13:36 +0100)] 
ike-natd: Float to the NAT-T port early when not connecting to port 500

When using port 4500 for IKE_SA_INIT, Windows Server 2016, 2025 and
possibly others send back all packets to the port initially used by the
client, not the one floated to before sending IKE_AUTH. So if UDP
encapsulation is used, no traffic can be received as the initial socket
can't have UDP decapsulation enabled.

tcpdump output:
```
IP <client-ip>.47547 > <server-ip>.4500: UDP-encap: ESP(spi=0xfd4e5fc2,seq=...)
IP <server-ip>.4500 > <client-ip>.57962: UDP-encap: ESP(spi=0xccc5e213,seq=...)
```

Avoid this by floating early if a non-default destination port is used.
This also ensures we don't send packets from port 500 (without non-ESP
marker) if ephemeral source ports are not used.

Closes strongswan/strongswan#2664

Signed-off-by: Michael Braun <michael-dev@fami-braun.de>
Co-authored-by: Tobias Brunner <tobias@strongswan.org>
2 months agoike-sa: Only query last use time of CHILD_SAs if UDP-encap is used
Tobias Brunner [Tue, 21 Jan 2025 16:08:44 +0000 (17:08 +0100)] 
ike-sa: Only query last use time of CHILD_SAs if UDP-encap is used

Without UDP-encapsulation, the IKE and ESP traffic is not directly related
(other than via IPs), so firewalls might no keep the state for IKE traffic
alive if there is no IKE traffic for a while and constant ESP traffic
prevents DPDs from being exchanged because inbound ESP traffic is
considered.

Closes strongswan/strongswan#1759

2 months agoeap-radius: Add support to specify and bind a specific source address
Tobias Brunner [Thu, 16 Jan 2025 10:02:13 +0000 (11:02 +0100)] 
eap-radius: Add support to specify and bind a specific source address

Using a specific address can be useful in scenarios where dynamic routing
could change the path to the RADIUS server and a changing source address
is a problem for the server.

Closes strongswan/strongswan#2598

2 months agoMerge branch 'ha-multi-ke'
Tobias Brunner [Fri, 28 Feb 2025 15:11:59 +0000 (16:11 +0100)] 
Merge branch 'ha-multi-ke'

Adds support for multiple key exchanges to the ha plugin.  Also,
because of the delayed key derivation and the not synced IntAuth
values, incomplete IKE_SAs are now destroyed during a failover.

Closes strongswan/strongswan#2550

2 months agoha: Destroy incomplete IKE_SAs after de-/activating a segment
Tobias Brunner [Fri, 6 Dec 2024 14:02:13 +0000 (15:02 +0100)] 
ha: Destroy incomplete IKE_SAs after de-/activating a segment

The node that gets activated usually won't be able to complete the
IKE_SA mainly because the IKE keys are now derived delayed, so the key
material required to process a message often won't be available (only
later IKE_AUTH messages and retransmits of earlier messages that the
active node already received and synced the keys for may be decrypted).

A second issue affects IKE_SAs with multiple key exchanges.  Because the
IntAuth value(s) are currently not synced, which are necessary to
verify/create the AUTH payloads, the IKE_AUTH exchange couldn't be
completed.

2 months agotesting: Add ha/active-passive-multi-ke scenario
Jean-François Hren [Tue, 29 Oct 2024 10:27:38 +0000 (11:27 +0100)] 
testing: Add ha/active-passive-multi-ke scenario

2 months agoha: Add support to sync IKE and Child SAs with multiple key exchanges
Tobias Brunner [Thu, 5 Dec 2024 10:55:52 +0000 (11:55 +0100)] 
ha: Add support to sync IKE and Child SAs with multiple key exchanges

Synchronization for the additional transforms in the IKE and Child SA
proposals is added.  Details of the IKE_SA synchronization are changed
to support IKE_INTERMEDIATE exchanges that cause multiple HA_IKE_ADD
messages and key derivations.  The cache has been extended to handle
multiple such messages.

Co-authored-by: Thomas Egerer <thomas.egerer@secunet.com>
2 months agokernel-netlink: Don't fallback to peer address as gateway
Tobias Brunner [Fri, 29 Nov 2024 13:57:31 +0000 (14:57 +0100)] 
kernel-netlink: Don't fallback to peer address as gateway

This doesn't really seem useful (perhaps it was before we started to
configure the outbound interface on our routes). And it can actually
cause the route installation to fail e.g. for routes over point-to-point
interfaces where we'd get "Error: Nexthop has invalid gateway" errors.

Closes strongswan/strongswan#2548

2 months agoscripts: Add support for out-of-tree builds to test script
Tobias Brunner [Fri, 28 Feb 2025 10:28:47 +0000 (11:28 +0100)] 
scripts: Add support for out-of-tree builds to test script

Can be useful when using the script locally.

2 months agovici: Fix out-of-tree builds with Perl module enabled
Tobias Brunner [Fri, 28 Feb 2025 10:55:46 +0000 (11:55 +0100)] 
vici: Fix out-of-tree builds with Perl module enabled

Not really building it out-of-tree for now, though.

2 months agogithub: Explicitly install required packages for Linux builds
Tobias Brunner [Thu, 27 Feb 2025 16:22:14 +0000 (17:22 +0100)] 
github: Explicitly install required packages for Linux builds

The runner images have some software pre-installed, which isn't the
case on regular Ubuntu images.

2 months agogithub: Use all available CPU cores when building
Tobias Brunner [Thu, 27 Feb 2025 16:21:51 +0000 (17:21 +0100)] 
github: Use all available CPU cores when building

2 months agogithub: Call Botan configure script directly
Tobias Brunner [Thu, 27 Feb 2025 16:20:12 +0000 (17:20 +0100)] 
github: Call Botan configure script directly

This should find the required Python binary automatically (`python` might
not be available if not explicitly installed).

2 months agogithub: Don't use pip3 to install Python packages anymore
Tobias Brunner [Thu, 27 Feb 2025 14:50:02 +0000 (15:50 +0100)] 
github: Don't use pip3 to install Python packages anymore

Currently, the runner images enable break-system-packages globally.
However, this workaround will be removed by the end of March.  So
we switch to installing these packages as intended via distro (the
alternative would be to use pipx, at least for tox).

2 months agoMerge branch 'android-reauth-fix' android-2.5.4
Tobias Brunner [Thu, 27 Feb 2025 10:23:52 +0000 (11:23 +0100)] 
Merge branch 'android-reauth-fix'

Fixes issues with reauthentication, in particular, to reestablish the
SA if MOBIKE is disabled.  The app currently can't handle
make-before-break reauthentication.  In part because necessary events are
currently not triggered.  So for now, we switch back to the classic
reauthentication approach.

2 months agoandroid: New release after fixing reauthentication regression
Tobias Brunner [Tue, 25 Feb 2025 12:40:54 +0000 (13:40 +0100)] 
android: New release after fixing reauthentication regression

2 months agoandroid: Disable make-before-break reauthentication
Tobias Brunner [Tue, 25 Feb 2025 11:15:20 +0000 (12:15 +0100)] 
android: Disable make-before-break reauthentication

The service implementation with its handling of reauth callbacks and
no-DNS TUN device etc. can't handle make-before-break reauthentication
at the moment.

2 months agogithub: Remove runs on Ubuntu 20.04
Tobias Brunner [Fri, 21 Feb 2025 13:41:44 +0000 (14:41 +0100)] 
github: Remove runs on Ubuntu 20.04

They will start to fail on certain days in March before the images are
removed on April 1st.

2 months agogithub: Check test vectors with output in crypto plugin tests
Tobias Brunner [Fri, 21 Feb 2025 13:09:34 +0000 (14:09 +0100)] 
github: Check test vectors with output in crypto plugin tests

This way we see what was actually tested. Increasing the verbosity for
the general test run produces too much output.

2 months agotest-vectors: Add a soft dependency on DRBG used for KEM tests
Tobias Brunner [Fri, 21 Feb 2025 10:06:17 +0000 (11:06 +0100)] 
test-vectors: Add a soft dependency on DRBG used for KEM tests

Depending on the loaded plugins, it's not necessary. So it's not a hard
dependency.

2 months agogmp: Declare dependency on DRBG to generate private keys
Tobias Brunner [Fri, 21 Feb 2025 10:06:02 +0000 (11:06 +0100)] 
gmp: Declare dependency on DRBG to generate private keys

2 months agocirrus: Use FreeBSD 13.4 and 14.2
Tobias Brunner [Thu, 20 Feb 2025 14:51:38 +0000 (15:51 +0100)] 
cirrus: Use FreeBSD 13.4 and 14.2

2 months agogithub: Use OpenSSL 3.4.1 for tests
Tobias Brunner [Tue, 19 Sep 2023 14:43:47 +0000 (16:43 +0200)] 
github: Use OpenSSL 3.4.1 for tests

There was an issue with OPENSSL_armcap_P in Android's static build for
OpenSSL 3.1.1+. This was finally fixed with this release (and was also
backported to older versions).

2 months agogithub: Use AWS-LC 1.46.1 for tests
Tobias Brunner [Wed, 19 Feb 2025 08:06:40 +0000 (09:06 +0100)] 
github: Use AWS-LC 1.46.1 for tests

2 months agoandroid: Move annotation to method where startActivityAndCollapse() is called
Tobias Brunner [Thu, 20 Feb 2025 10:58:38 +0000 (11:58 +0100)] 
android: Move annotation to method where startActivityAndCollapse() is called

Fixes: 5237bf3a5c6f ("android: Suppress deprecation warning because of startActivityAndCollapse()")
2 months agoMerge branch 'android-passwords' android-2.5.3
Tobias Brunner [Thu, 20 Feb 2025 10:08:29 +0000 (11:08 +0100)] 
Merge branch 'android-passwords'

Adds support to import passwords via managed configuration and profile
files. Also fixes several deprecation warnings.

Closes strongswan/strongswan#2589
Closes strongswan/strongswan#2642
Closes strongswan/strongswan#2643

2 months agoandroid: New release after adding support for passwords in managed configs and profil...
Tobias Brunner [Tue, 4 Feb 2025 09:12:58 +0000 (10:12 +0100)] 
android: New release after adding support for passwords in managed configs and profile files

Also fixes some bugs and deprecation warnings.

2 months agoandroid: Imported VPN profile files may contain passwords
Tobias Brunner [Tue, 18 Feb 2025 12:26:08 +0000 (13:26 +0100)] 
android: Imported VPN profile files may contain passwords

A warning is displayed to the users, reminding them that there is a
cleartext password in the file.

2 months agoandroid: Consistently use *Start/End in layouts and remove redundant old settings
Tobias Brunner [Tue, 18 Feb 2025 11:11:43 +0000 (12:11 +0100)] 
android: Consistently use *Start/End in layouts and remove redundant old settings

2 months agoandroid: Suppress deprecation warning because of stopForeground()
Tobias Brunner [Wed, 5 Feb 2025 16:02:42 +0000 (17:02 +0100)] 
android: Suppress deprecation warning because of stopForeground()

2 months agoandroid: Suppress deprecation warning because of startActivityAndCollapse()
Tobias Brunner [Wed, 5 Feb 2025 16:00:25 +0000 (17:00 +0100)] 
android: Suppress deprecation warning because of startActivityAndCollapse()

2 months agoandroid: Handle deprecated getParcelable* and getSerializable methods
Tobias Brunner [Wed, 5 Feb 2025 15:35:39 +0000 (16:35 +0100)] 
android: Handle deprecated getParcelable* and getSerializable methods

2 months agoandroid: Suppress warning in implementation only used for Android < 33
Tobias Brunner [Wed, 5 Feb 2025 15:27:57 +0000 (16:27 +0100)] 
android: Suppress warning in implementation only used for Android < 33

2 months agoandroid: Replace deprecated onBackPressed() and enable predictive back gestures
Tobias Brunner [Wed, 5 Feb 2025 15:13:13 +0000 (16:13 +0100)] 
android: Replace deprecated onBackPressed() and enable predictive back gestures

Doesn't really make a difference it seems.

2 months agoandroid: Replace deprecated fragment menu APIs
Tobias Brunner [Wed, 5 Feb 2025 14:27:37 +0000 (15:27 +0100)] 
android: Replace deprecated fragment menu APIs

2 months agoandroid: Ignore empty strings for settings in managed profiles
Tobias Brunner [Tue, 4 Feb 2025 14:53:46 +0000 (15:53 +0100)] 
android: Ignore empty strings for settings in managed profiles

Unspecified settings should be set to null, while some MDMs might send
them as empty strings, which could cause issues (like an empty password
or trying to parse an empty DNS server address).

2 months agoandroid: Allow setting the password in managed profiles
Tobias Brunner [Tue, 4 Feb 2025 14:33:33 +0000 (15:33 +0100)] 
android: Allow setting the password in managed profiles

To avoid complicated changes in the UI, users can still update it.  But
the default, if they clear the field, will be the managed password.

2 months agoandroid: Properly deinit library if parsing an IP fails
Tobias Brunner [Tue, 4 Feb 2025 13:07:37 +0000 (14:07 +0100)] 
android: Properly deinit library if parsing an IP fails

This can happen with empty strings, which might be set for managed
profiles, which caused the refcounting to be askew and the resolver not
to work after connecting once because it was flushed and disabled.

2 months agoandroid: Update NDK version and enable support for 16KiB page tables
Tobias Brunner [Mon, 3 Feb 2025 12:21:41 +0000 (13:21 +0100)] 
android: Update NDK version and enable support for 16KiB page tables

2 months agoandroid: Fix updating password for managed profiles
Tobias Brunner [Fri, 31 Jan 2025 07:27:55 +0000 (08:27 +0100)] 
android: Fix updating password for managed profiles

Without data source set on the profile, this caused the app to crash
with a null pointer dereference when it is updated.

2 months agounit-tests: Document additional supported env variables
Tobias Brunner [Mon, 10 Feb 2025 14:41:52 +0000 (15:41 +0100)] 
unit-tests: Document additional supported env variables

3 months agoMerge branch 'nm-gui-ts'
Tobias Brunner [Fri, 7 Feb 2025 12:26:23 +0000 (13:26 +0100)] 
Merge branch 'nm-gui-ts'

Adds fields for local and remote TS to the GUI.

Closes strongswan/strongswan#2580

3 months agonm: Add German translation for traffic selector fields
Tobias Brunner [Fri, 7 Feb 2025 10:48:41 +0000 (11:48 +0100)] 
nm: Add German translation for traffic selector fields

3 months agonm: Expose local-ts 2580/head
Jiří Matěják [Tue, 7 Jan 2025 18:47:45 +0000 (19:47 +0100)] 
nm: Expose local-ts

Signed-off-by: Jiří Matěják <matejak@merica.cz>
3 months agonm: Expose remote-ts
Jiří Matěják [Sun, 22 Dec 2024 02:45:28 +0000 (03:45 +0100)] 
nm: Expose remote-ts

Signed-off-by: Jiří Matěják <matejak@merica.cz>
3 months agocharon-nm: Add option to configure local traffic selectors
Tobias Brunner [Tue, 12 Nov 2024 12:56:16 +0000 (13:56 +0100)] 
charon-nm: Add option to configure local traffic selectors

Closes strongswan/strongswan#2084

3 months agogithub: Use AWS-LC 1.45.0 for tests
Tobias Brunner [Thu, 6 Feb 2025 07:29:09 +0000 (08:29 +0100)] 
github: Use AWS-LC 1.45.0 for tests

3 months agoUse Botan 3.7.1 for tests
Tobias Brunner [Wed, 5 Feb 2025 13:14:40 +0000 (14:14 +0100)] 
Use Botan 3.7.1 for tests

3 months agoMerge branch 'dhcp-receive'
Tobias Brunner [Fri, 31 Jan 2025 10:21:04 +0000 (11:21 +0100)] 
Merge branch 'dhcp-receive'

This fixes a regression introduced with pf_handler_t in 5.9.14.  It also
binds the packet sockets correctly to the configured interface, and adds
an option for the dhcp plugin that allows binding the send and receive
sockets to different interfaces.

3 months agodhcp: Add option to bind the receive socket to a different interface
Tobias Brunner [Wed, 29 Jan 2025 16:23:31 +0000 (17:23 +0100)] 
dhcp: Add option to bind the receive socket to a different interface

This can be useful if the DHCP server runs on the same server. On Linux,
the response is then sent via `lo`, so packets won't be received if both
sockets are bound to e.g. a bridge interface.

3 months agopf-handler: Correctly bind packet socket to an interface
Tobias Brunner [Thu, 30 Jan 2025 13:40:33 +0000 (14:40 +0100)] 
pf-handler: Correctly bind packet socket to an interface

Binding such sockets via SO_BINDTODEVICE does not work at all. Instead,
bind() has to be used, as described in the packet(7) man page.

3 months agopf-handler: Accept loopback interfaces as packet source
Tobias Brunner [Mon, 27 Jan 2025 08:40:56 +0000 (09:40 +0100)] 
pf-handler: Accept loopback interfaces as packet source

In some setups the responses from the DHCP server are sent via lo, which
does not have an address of type `ARPHRD_ETHER` (the address length is
the same, though, just all zeros, by default).  Note that the dhcp plugin
doesn't actually care for the MAC address or interface details, that's
only used by the farp plugin.

Fixes: 187c72d1afdc ("dhcp: Port the plugin to FreeBSD/macOS")
3 months agoikev2: Handle INVALID_SYNTAX after IKE_AUTH by deleting IKE_SA
Nathan Tran [Tue, 28 Jan 2025 05:48:35 +0000 (21:48 -0800)] 
ikev2: Handle INVALID_SYNTAX after IKE_AUTH by deleting IKE_SA

When serving as a responder and receiving an INFORMATIONAL exchange
containing INVALID_SYNTAX after IKE_AUTH, the IKE_SA should be deleted.
Currently, it only gets deleted after receiving AUTHENTICATION_FAILED.
RFC7296 section 2.21.2 says:

 In an IKE_AUTH exchange, or in the INFORMATIONAL exchange immediately
 following it (in case an error happened when processing a response to
 IKE_AUTH), the UNSUPPORTED_CRITICAL_PAYLOAD, INVALID_SYNTAX, and
 AUTHENTICATION_FAILED notifications are the only ones to cause the
 IKE SA to be deleted or not created, without a Delete payload.

Closes strongswan/strongswan#2636

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]