]> git.ipfire.org Git - people/ms/strongswan.git/log
people/ms/strongswan.git
2 years agotesting: Build wolfSSL from the Git repository
Tobias Brunner [Tue, 22 Jun 2021 14:49:40 +0000 (16:49 +0200)] 
testing: Build wolfSSL from the Git repository

Use the same configure options etc. for both builds (no need for the cert
options as we don't use TLS or X.509 parsing) and switch to a Git commit
that includes the SHA-3 OID fix (it's actually the fix itself).

2 years agotesting: Fixed ikev2/farp scenario
Andreas Steffen [Tue, 22 Jun 2021 10:32:35 +0000 (12:32 +0200)] 
testing: Fixed ikev2/farp scenario

2 years agoVersion bump to 5.9.3dr4
Andreas Steffen [Tue, 22 Jun 2021 08:33:07 +0000 (10:33 +0200)] 
Version bump to 5.9.3dr4

2 years agotesting: Migrate ikev2-stroke-bye scenarios to vici
Andreas Steffen [Wed, 26 May 2021 07:40:42 +0000 (09:40 +0200)] 
testing: Migrate ikev2-stroke-bye scenarios to vici

2 years agotesting: Fixed pretest script of ikev1/rw-psk-aggressive scenario
Andreas Steffen [Fri, 21 May 2021 10:04:43 +0000 (12:04 +0200)] 
testing: Fixed pretest script of ikev1/rw-psk-aggressive scenario

2 years agotesting: Migrate ikev2/host2host-transport-nat scenario to vici
Tobias Brunner [Thu, 17 Jun 2021 15:03:39 +0000 (17:03 +0200)] 
testing: Migrate ikev2/host2host-transport-nat scenario to vici

This also restores the test as it was before the referenced commit so it
again, as written in the description, demonstrates that venus is unable
to ping sun without IPsec tunnel.

Fixes: f27fb58ae0ec ("testing: Update description and test evaluation of host2host-transport-nat")
2 years agotesting: Migrate MOBIKE tests to vici
Tobias Brunner [Thu, 10 Jun 2021 14:41:01 +0000 (16:41 +0200)] 
testing: Migrate MOBIKE tests to vici

Note that the mobike-nat test has been removed as it basically did the same
as the mobike-virtual-ip-nat test.  Instead, the mobike-nat-mapping scenario
is added, which simulates a NAT router restart.

2 years agoike-mobike: Force MOBIKE update after NAT mappings changed
Tobias Brunner [Thu, 10 Jun 2021 14:39:18 +0000 (16:39 +0200)] 
ike-mobike: Force MOBIKE update after NAT mappings changed

The addresses observed by the client behind the NAT are exactly the same if
the NAT router gets restarted.

Fixes: 2b255f01afbc ("ike-mobike: Use ike_sa_t::update_hosts() to trigger events")
2 years agoike-sa: Log IKE endpoint changes
Tobias Brunner [Thu, 10 Jun 2021 14:38:23 +0000 (16:38 +0200)] 
ike-sa: Log IKE endpoint changes

2 years agoha: Register the correct IKE_SA with the manager after a rekeying
Tobias Brunner [Fri, 18 Jun 2021 13:31:06 +0000 (15:31 +0200)] 
ha: Register the correct IKE_SA with the manager after a rekeying

Fixes: 20dfbcad0875 ("ha: Register new IKE_SAs before calling inherit_post()")
Closes strongswan/strongswan#456.

2 years agoMerge branch 'vici-stuck'
Tobias Brunner [Mon, 21 Jun 2021 07:59:28 +0000 (09:59 +0200)] 
Merge branch 'vici-stuck'

Closes strongswan/strongswan#268.

2 years agovici: Signal waiting threads when skipping disconnected connections
Tobias Brunner [Fri, 7 May 2021 13:32:49 +0000 (15:32 +0200)] 
vici: Signal waiting threads when skipping disconnected connections

If two threads are waiting in find_entry() and remove_entry(),
respectively, and the former is woken first, the latter remains stuck
as it won't get signaled.

2 years agovici: Signal waiting threads when removing a connection entry
Tobias Brunner [Fri, 7 May 2021 08:53:57 +0000 (10:53 +0200)] 
vici: Signal waiting threads when removing a connection entry

If there are threads waiting in find_entry() and one in remove_entry()
and the latter is woken first by a thread calling put_entry(), the
former threads would remain stuck as they get never signaled.

2 years agokernel-netlink: Don't wait for VIPs to disappear during de-initialization
Tobias Brunner [Thu, 10 Jun 2021 09:34:37 +0000 (11:34 +0200)] 
kernel-netlink: Don't wait for VIPs to disappear during de-initialization

This can happen if an IKE_SA is terminated forcefully shortly before
terminating the daemon.  The thread that handles the terminate command
will call checkin_and_destroy(), which unregisters the IKE_SA from the
manager before destroying it.  The main thread that calls flush() on the
IKE_SA manager won't wait for this SA (its entry is already gone), so
the processor and in turn the watcher job/thread might get canceled
before the first thread started deleting the VIP.  It would then wait
indefinitely for a signal that can never be sent.

There is still a small chance the thread hangs in wait() if the state check
happens right before the watcher is canceled and it wasn't yet able to
deliver the event from the kernel, we counter that by rechecking the state
after a while.

2 years agoNEWS: Add news for 5.9.3
Tobias Brunner [Fri, 18 Jun 2021 08:31:31 +0000 (10:31 +0200)] 
NEWS: Add news for 5.9.3

2 years agotesting: Update Anet to version 0.4.2
Adrian-Ken Rueegsegger [Wed, 16 Jun 2021 16:27:23 +0000 (18:27 +0200)] 
testing: Update Anet to version 0.4.2

2 years agocharon-tkm: Remove useless checks when deriving IKE keys
Stefan Berghofer [Wed, 4 Mar 2020 16:58:21 +0000 (17:58 +0100)] 
charon-tkm: Remove useless checks when deriving IKE keys

2 years agocharon-tkm: Delegate encryption/decryption of IKE traffic to TKM
Stefan Berghofer [Tue, 23 Jul 2019 10:42:26 +0000 (12:42 +0200)] 
charon-tkm: Delegate encryption/decryption of IKE traffic to TKM

Co-authored-by: Tobias Brunner <tobias@strongswan.org>
2 years agopkcs11: Change how unavailable attributes like CKA_TRUSTED are handled
Tobias Brunner [Thu, 20 May 2021 14:52:49 +0000 (16:52 +0200)] 
pkcs11: Change how unavailable attributes like CKA_TRUSTED are handled

If a PKCS#11 library/token doesn't provide one or more attributes via
C_GetAttributeValue(), we get back CKR_ATTRIBUTE_TYPE_INVALID (similar
for protected attributes where CKR_ATTRIBUTE_SENSITIVE is returned).
This is not an error as the spec demands that all attributes have been
processed with the unavailable attributes having set their length
field to CK_UNAVAILABLE_INFORMATION.

We use this to handle the CKA_TRUSTED attribute, which some tokens
apparently don't support.  We previously used a version check to remove
the attribute from the call but even the latest spec doesn't make the
attribute mandatory (it's just in a list of "common" attributes for
CKO_CERTIFICATE objects, without a default value), so there are current
tokens that don't support it and prevent us from enumerating certificates.

2 years agoreceiver: Avoid division by 0 after system start if CLOCK_MONOTONIC is used
Tobias Brunner [Tue, 8 Jun 2021 13:33:36 +0000 (15:33 +0200)] 
receiver: Avoid division by 0 after system start if CLOCK_MONOTONIC is used

Depending on how CLOCK_MONOTONIC is implemented, time_monotonic() might
return 0 within 1 second after the system is started.  If that's the
case, we just default to 0 for now to avoid a crash (doesn't "hide" the
system time, but it's only the uptime anyway in this case).

Closes strongswan/strongswan#435.

2 years agocharon-nm: Simplify certificate enumeration and allow IDs other than DNs
Tobias Brunner [Wed, 9 Jun 2021 14:36:57 +0000 (16:36 +0200)] 
charon-nm: Simplify certificate enumeration and allow IDs other than DNs

This allows using SANs as identity instead of having to use the subject DN.

References strongswan/strongswan#437.

2 years agodhcp: Move log messages for received packets
Tobias Brunner [Fri, 28 May 2021 07:14:59 +0000 (09:14 +0200)] 
dhcp: Move log messages for received packets

This way they are logged in the context of the corresponding IKE_SA.

Closes strongswan/strongswan#417.

2 years agobus: Extend and reorder arguments of ike_derived_keys() hook
Thomas Egerer [Tue, 1 Jun 2021 12:36:21 +0000 (14:36 +0200)] 
bus: Extend and reorder arguments of ike_derived_keys() hook

This now includes all key material derived for IKE_SAs in the order
defined in the RFC:

  {SK_d | SK_ai | SK_ar | SK_ei | SK_er | SK_pi | SK_pr}
               = prf+ (SKEYSEED, Ni | Nr | SPIi | SPIr)

Signed-off-by: Thomas Egerer <thomas.egerer@secunet.com>
2 years agoVersion bump to 5.9.3dr3
Andreas Steffen [Fri, 4 Jun 2021 07:28:12 +0000 (09:28 +0200)] 
Version bump to 5.9.3dr3

2 years agoikev1: Fix flags so NAT Vendor IDs are sent again
Tobias Brunner [Fri, 4 Jun 2021 07:12:33 +0000 (09:12 +0200)] 
ikev1: Fix flags so NAT Vendor IDs are sent again

Fixes: 6c49ddfbca72 ("ike: Add additional Vendor IDs for third-party implementations")
2 years agotesting: Added openssl-ikev2/net2net-sha3-rsa-cert scenario
Andreas Steffen [Thu, 3 Jun 2021 10:27:16 +0000 (12:27 +0200)] 
testing: Added openssl-ikev2/net2net-sha3-rsa-cert scenario

2 years agoopenssl: Support SHA-3 based RSA_EMSA_PKCS1 signatures
Andreas Steffen [Thu, 3 Jun 2021 10:24:19 +0000 (12:24 +0200)] 
openssl: Support SHA-3 based RSA_EMSA_PKCS1 signatures

2 years agotesting: Test wolfssl plugin
Andreas Steffen [Thu, 3 Jun 2021 08:22:59 +0000 (10:22 +0200)] 
testing: Test wolfssl plugin

2 years agowolfssl: Full support of SHA3 signatures
Andreas Steffen [Tue, 1 Jun 2021 18:13:20 +0000 (20:13 +0200)] 
wolfssl: Full support of SHA3 signatures

2 years agocredential_factory: Store name of plugin registering a builder
Andreas Steffen [Sun, 30 May 2021 04:32:50 +0000 (06:32 +0200)] 
credential_factory: Store name of plugin registering a builder

2 years agowolfssl: Set RSA key type
Andreas Steffen [Sun, 30 May 2021 10:39:59 +0000 (12:39 +0200)] 
wolfssl: Set RSA key type

3 years agoccm: Destroy IV generator on crypter creation failure
Marius Tomaschewski [Thu, 22 Apr 2021 10:47:18 +0000 (12:47 +0200)] 
ccm: Destroy IV generator on crypter creation failure

Closes strongswan/strongswan#343.

3 years agodhcp: Log MAC address when sending DISCOVER message
Tobias Brunner [Fri, 7 May 2021 14:17:54 +0000 (16:17 +0200)] 
dhcp: Log MAC address when sending DISCOVER message

Closes strongswan/strongswan#239.

3 years agoike: Add additional Vendor IDs for third-party implementations
Noel Kuntze [Mon, 10 May 2021 11:03:36 +0000 (13:03 +0200)] 
ike: Add additional Vendor IDs for third-party implementations

For some that are followed by unknown data (e.g. detailed version
information) we only do a prefix match.

Co-authored-by: Tobias Brunner <tobias@strongswan.org>
Closes strongswan/strongswan#393.

3 years agoVersion bump to 5.9.3dr2
Andreas Steffen [Fri, 21 May 2021 08:00:41 +0000 (10:00 +0200)] 
Version bump to 5.9.3dr2

3 years agotesting: Reorganizing IKEv1 and IKEv2 examples
Andreas Steffen [Sun, 4 Apr 2021 08:45:46 +0000 (10:45 +0200)] 
testing: Reorganizing IKEv1 and IKEv2 examples

For documentation purposes the new folders ikev1-algs, ikev2-algs,
ikev1-multi-ca and ikev2-multi-ca have been created. Most of the
test cases have now been converted to the vici interface. The
remaining legacy stroke scenarios yet to be converted have been put
into the ikev2-stroke-bye folder.

For documentation purposes some legacy stroke scenarios will be kept
in the ikev1-stroke, ikev2-stroke and ipv6-stroke folders.

3 years agonotify-payload: Update reference for notify types for PPKs
Tobias Brunner [Tue, 11 May 2021 12:27:08 +0000 (14:27 +0200)] 
notify-payload: Update reference for notify types for PPKs

draft-ietf-ipsecme-qr-ikev2 was released as RFC 8784 in June of 2020.

3 years agoDon't report current text in parser error messages
Tobias Brunner [Mon, 10 May 2021 12:55:45 +0000 (14:55 +0200)] 
Don't report current text in parser error messages

The values of `yytext` and `yyleng` might not be properly defined when
the error function is called (in particular if the lexer reached EOF).
While this might just cause non-printable characters in the output, it
could actually lead to a crash depending on where `yytext` points.

Closes strongswan/strongswan#346.

3 years agotesting: Replace kvm with qemu-system-x86_64
Noel Kuntze [Thu, 22 Apr 2021 14:33:34 +0000 (16:33 +0200)] 
testing: Replace kvm with qemu-system-x86_64

It might not exist on all platforms and according to the man page:

  The kvm wrapper script is used to provide compatibility with old
  qemu-kvm package which has been merged into qemu as of version 1.3.

  The script executes
    qemu-system-x86_64 -enable-kvm
  passing all other command-line arguments to the qemu binary.

Closes strongswan/strongswan#385.

3 years agotesting: Use host-passthrough CPU mode for all KVM guests
Tobias Brunner [Tue, 4 May 2021 13:40:45 +0000 (15:40 +0200)] 
testing: Use host-passthrough CPU mode for all KVM guests

This should give us the best performance and feature set on modern
hardware (in particular when compared to code2duo, which e.g. does not allow
nested virtualization).

Closes strongswan/strongswan#340.

3 years agoUse Botan 2.18.0 for tests
Tobias Brunner [Fri, 7 May 2021 12:48:17 +0000 (14:48 +0200)] 
Use Botan 2.18.0 for tests

3 years agoopenssl: Consider authorityKeyIdentifier in issued_by()
Adrian-Ken Rueegsegger [Wed, 14 Apr 2021 13:34:29 +0000 (15:34 +0200)] 
openssl: Consider authorityKeyIdentifier in issued_by()

Prior to verifying the cryptographic signature, check if the
authorityKeyIdentifier matches the key ID of the issuing certificate if
it is available.

3 years agox509: Consider authorityKeyIdentifier in issued_by()
Adrian-Ken Rueegsegger [Wed, 14 Apr 2021 13:20:27 +0000 (15:20 +0200)] 
x509: Consider authorityKeyIdentifier in issued_by()

Prior to verifying the cryptographic signature, check if the
authorityKeyIdentifier matches the key ID of the issuing certificate if
it is available.

3 years agoopenssl: Bring CRL issued_by() in line with x509 plugin
Adrian-Ken Rueegsegger [Wed, 14 Apr 2021 11:45:30 +0000 (13:45 +0200)] 
openssl: Bring CRL issued_by() in line with x509 plugin

3 years agoike: Set DCSP on keepalive packets
Adrian-Ken Rueegsegger [Tue, 9 Mar 2021 17:07:34 +0000 (18:07 +0100)] 
ike: Set DCSP on keepalive packets

3 years agoopenssl: Add support for AES in CCM mode
Tobias Brunner [Tue, 4 May 2021 16:19:57 +0000 (18:19 +0200)] 
openssl: Add support for AES in CCM mode

While CCM is available in earlier versions, we only use it with
OpenSSL 1.1.0 and newer because the generic control variables are not
available before and we default to GCM for them.

Closes strongswan/strongswan#353.

3 years agotesting: Make sure $SHAREDDIR exists before mounting it
Noel Kuntze [Thu, 22 Apr 2021 12:28:34 +0000 (14:28 +0200)] 
testing: Make sure $SHAREDDIR exists before mounting it

Closes strongswan/strongswan#344.

3 years agogithub: Fix python build and checks on older Ubuntu releases
Tobias Brunner [Wed, 5 May 2021 16:46:49 +0000 (18:46 +0200)] 
github: Fix python build and checks on older Ubuntu releases

On 18.04, setuptools was apparently pulled in by python-pip but is not
by python3-pip and on Ubuntu 16.04 there is an issue with tox when
installed via pip3 (syntax error in one of the dependencies) and with
pip that dependency is not even available.

3 years agowolfssl: Properly handle failure to initialize SHAKE_256
Tobias Brunner [Thu, 6 May 2021 09:03:19 +0000 (11:03 +0200)] 
wolfssl: Properly handle failure to initialize SHAKE_256

3 years agogithub: Don't fail LGTM test with an error if variables are missing
Tobias Brunner [Wed, 5 May 2021 16:56:58 +0000 (18:56 +0200)] 
github: Don't fail LGTM test with an error if variables are missing

That's because forks are currently not allowed to be analyzed by LGTM (unlike
with SonarCloud) so this check can't actually be successful for forks even if
variables are defined.

References strongswan/strongswan#328.

3 years agogithub: Fail LGTM test if required environment variables aren't set
Noel Kuntze [Thu, 15 Apr 2021 12:49:19 +0000 (14:49 +0200)] 
github: Fail LGTM test if required environment variables aren't set

Closes strongswan/strongswan#328.

3 years agogithub: Make LGTM project ID configurable via environment variable
Tobias Brunner [Wed, 5 May 2021 14:39:26 +0000 (16:39 +0200)] 
github: Make LGTM project ID configurable via environment variable

3 years agogithub: Fail sonarcloud test if required environment variables aren't set
Noel Kuntze [Sat, 17 Apr 2021 05:22:39 +0000 (07:22 +0200)] 
github: Fail sonarcloud test if required environment variables aren't set

Closes strongswan/strongswan#330.

3 years agogithub: Always upload lint results from Android build
Tobias Brunner [Wed, 5 May 2021 12:30:36 +0000 (14:30 +0200)] 
github: Always upload lint results from Android build

3 years agogithub: Fix build on Ubuntu 20.04 and add a job for 18.04
Tobias Brunner [Wed, 5 May 2021 08:25:05 +0000 (10:25 +0200)] 
github: Fix build on Ubuntu 20.04 and add a job for 18.04

The nm test can only be done on Ubuntu 18.04 as the required libraries
are not available on newer systems.

Switch to pip3 to install tox (the only Python dependency we use).

Closes strongswan/strongswan#327.

3 years agogithub: Fix installation of Python dependencies
Tobias Brunner [Wed, 5 May 2021 16:07:47 +0000 (18:07 +0200)] 
github: Fix installation of Python dependencies

3 years agoandroid: Avoid lint errors when determining column indices
Tobias Brunner [Wed, 5 May 2021 14:09:37 +0000 (16:09 +0200)] 
android: Avoid lint errors when determining column indices

The lint version used on our GitHub build hosts reported these errors:

Error: Value must be ≥ 0 [Range]
        db.update(TABLE_VPNPROFILE, values, KEY_ID + " = " + cursor.getLong(cursor.getColumnIndex(KEY_ID)), null);

That's because get*() expect a valid index >= 0 but getColumnIndex()
can return -1 if the column name doesn't exist.

3 years agobacktrace: The BFD API changed in newer versions
Tobias Brunner [Wed, 5 May 2021 09:37:21 +0000 (11:37 +0200)] 
backtrace: The BFD API changed in newer versions

3 years agoopenssl: Fix OpenSSL version check for EC_POINT_set_affine_coordinates
Noel Kuntze [Thu, 15 Apr 2021 14:23:18 +0000 (16:23 +0200)] 
openssl: Fix OpenSSL version check for EC_POINT_set_affine_coordinates

Fixes: bd323ae6c832 ("openssl: Migrate from deprecated EC_POINT_[set|get]_affine_coordinates_GFp() functions")
Closes strongswan/strongswan#332

3 years agoforecast: Restrict strncpy() call
Noel Kuntze [Sat, 17 Apr 2021 03:02:01 +0000 (05:02 +0200)] 
forecast: Restrict strncpy() call

Closes strongswan/strongswan#331.

3 years agoMerge branch 'doxygen-fixes'
Tobias Brunner [Tue, 4 May 2021 12:39:56 +0000 (14:39 +0200)] 
Merge branch 'doxygen-fixes'

Closes strongswan/strongswan#326.

3 years agoDoxyfile.in: Remove deprecated variables
Noel Kuntze [Wed, 14 Apr 2021 22:33:23 +0000 (00:33 +0200)] 
Doxyfile.in: Remove deprecated variables

3 years agodoxygen: Fix documentation problems
Noel Kuntze [Wed, 14 Apr 2021 22:17:59 +0000 (00:17 +0200)] 
doxygen: Fix documentation problems

3 years agoVersion bump to 5.9.3dr1
Andreas Steffen [Wed, 31 Mar 2021 07:59:55 +0000 (09:59 +0200)] 
Version bump to 5.9.3dr1

3 years agotesting: Migrated p2pnat/medsrv-psk scenario to vici
Andreas Steffen [Tue, 30 Mar 2021 20:05:49 +0000 (22:05 +0200)] 
testing: Migrated p2pnat/medsrv-psk scenario to vici

3 years agotesting: Migrated p2pnat/behind-same-nat scenario to vici
Andreas Steffen [Tue, 30 Mar 2021 16:54:47 +0000 (18:54 +0200)] 
testing: Migrated p2pnat/behind-same-nat scenario to vici

3 years agotesting: Store mars credentials in the swanctl directory
Andreas Steffen [Sun, 28 Mar 2021 13:11:28 +0000 (15:11 +0200)] 
testing: Store mars credentials in the swanctl directory

3 years agotesting: Migrated redirect-active scenario to vici
Andreas Steffen [Sun, 28 Mar 2021 13:07:41 +0000 (15:07 +0200)] 
testing: Migrated redirect-active scenario to vici

3 years agotesting: Migrated ha/both-active scenario to vici
Andreas Steffen [Sat, 27 Mar 2021 21:15:13 +0000 (22:15 +0100)] 
testing: Migrated ha/both-active scenario to vici

3 years agotesting: Migrated ha/active-passive scenario to vici
Andreas Steffen [Sat, 27 Mar 2021 13:44:47 +0000 (14:44 +0100)] 
testing: Migrated ha/active-passive scenario to vici

3 years agotesting: Switched PTS measurements to /usr/sbin
Andreas Steffen [Tue, 23 Mar 2021 09:49:32 +0000 (10:49 +0100)] 
testing: Switched PTS measurements to /usr/sbin

Due to Debian 10 linking /bin to /usr/bin which drastically
increased the number of files in /bin, the PTS measurement
was switched to /usr/sbin with a lesser number of files.

3 years agowolfssl: Support SHAKE_256
Andreas Steffen [Fri, 19 Mar 2021 06:18:59 +0000 (07:18 +0100)] 
wolfssl: Support SHAKE_256

3 years agowolfssl: Support SHA3
Andreas Steffen [Thu, 18 Mar 2021 06:58:21 +0000 (07:58 +0100)] 
wolfssl: Support SHA3

3 years agowolfssl: Support AES_ECB
Andreas Steffen [Thu, 18 Mar 2021 06:28:00 +0000 (07:28 +0100)] 
wolfssl: Support AES_ECB

3 years agoopenssl: Migrate from deprecated EC_POINT_[set|get]_affine_coordinates_GFp() functions
Andreas Steffen [Fri, 19 Mar 2021 07:50:27 +0000 (08:50 +0100)] 
openssl: Migrate from deprecated EC_POINT_[set|get]_affine_coordinates_GFp() functions

3 years agolibcharon: Include libtpmtss in monolithic build
Petr Gotthard [Wed, 17 Mar 2021 11:14:47 +0000 (12:14 +0100)] 
libcharon: Include libtpmtss in monolithic build

3 years agotesting: Bump guest kernel to Linux 5.11
Andreas Steffen [Sun, 7 Mar 2021 13:39:44 +0000 (14:39 +0100)] 
testing: Bump guest kernel to Linux 5.11

3 years agoVersion bump to 5.9.2
Andreas Steffen [Fri, 26 Feb 2021 10:30:13 +0000 (11:30 +0100)] 
Version bump to 5.9.2

3 years agoMerge branch 'sha2-no-trunc'
Tobias Brunner [Tue, 23 Feb 2021 16:30:11 +0000 (17:30 +0100)] 
Merge branch 'sha2-no-trunc'

Closes strongswan/strongswan#215.

3 years agosave-keys: Fix length of AES-GCM with 12-byte ICV
Tobias Brunner [Tue, 23 Feb 2021 14:28:36 +0000 (15:28 +0100)] 
save-keys: Fix length of AES-GCM with 12-byte ICV

3 years agosave-keys: Add support for full-length HMAC-SHA256 for ESP
Michał Skalski [Mon, 22 Feb 2021 15:41:23 +0000 (16:41 +0100)] 
save-keys: Add support for full-length HMAC-SHA256 for ESP

Wireshark doesn't really support it, but this way it at least decodes
the ESP packets correctly and the encryption keys are saved and the
packets can be decrypted.  The full-length versions of SHA-384 and
SHA-512 are not supported by Wireshark as 256-bit is the longest ICV
it is able to decode currently.

3 years agokernel-netlink: Add support for full-length HMAC-SHA2 algorithms
Michał Skalski [Fri, 5 Feb 2021 05:59:13 +0000 (06:59 +0100)] 
kernel-netlink: Add support for full-length HMAC-SHA2 algorithms

3 years agokeymat: Add support for full-length HMAC-SHA2 algorithms
Michał Skalski [Mon, 22 Feb 2021 14:25:45 +0000 (15:25 +0100)] 
keymat: Add support for full-length HMAC-SHA2 algorithms

3 years agoaf-alg: Fix typo in algorithm mapping for full-size HMAC-SHA-256
Michał Skalski [Mon, 22 Feb 2021 14:48:37 +0000 (15:48 +0100)] 
af-alg: Fix typo in algorithm mapping for full-size HMAC-SHA-256

3 years agoVersion bump to 5.9.2rc2
Andreas Steffen [Sun, 21 Feb 2021 09:40:34 +0000 (10:40 +0100)] 
Version bump to 5.9.2rc2

3 years agotesting: Use TLS 1.3 in TNC PT-TLS tests
Andreas Steffen [Sun, 21 Feb 2021 08:48:34 +0000 (09:48 +0100)] 
testing: Use TLS 1.3 in TNC PT-TLS tests

3 years agotesting: Added mgf1 plugin to load statement
Andreas Steffen [Fri, 19 Feb 2021 16:41:44 +0000 (17:41 +0100)] 
testing: Added mgf1 plugin to load statement

3 years agoMerge branch 'tls-fixes'
Andreas Steffen [Thu, 18 Feb 2021 19:28:33 +0000 (20:28 +0100)] 
Merge branch 'tls-fixes'

3 years agoVersion bump to 5.9.2rc1
Andreas Steffen [Wed, 17 Feb 2021 12:34:06 +0000 (13:34 +0100)] 
Version bump to 5.9.2rc1

3 years agopt-tls-server: Make TLS client authentication optional as appropriate
Tobias Brunner [Thu, 18 Feb 2021 14:41:52 +0000 (15:41 +0100)] 
pt-tls-server: Make TLS client authentication optional as appropriate

3 years agotls-test: Add option to make client authentication optional
Tobias Brunner [Thu, 18 Feb 2021 14:36:59 +0000 (15:36 +0100)] 
tls-test: Add option to make client authentication optional

3 years agotls-server: Add flag that makes client authentication optional
Tobias Brunner [Thu, 18 Feb 2021 14:10:42 +0000 (15:10 +0100)] 
tls-server: Add flag that makes client authentication optional

This allows clients to send an empty certificate payload if the server
sent a certificate request.  If an identity was set previously, it will
be reset so get_peer_id() may be used to check if the client was
authenticated.

3 years agolibtls: Add control flags and replace GENERIC_NULLOK purpose with one
Tobias Brunner [Thu, 18 Feb 2021 14:03:29 +0000 (15:03 +0100)] 
libtls: Add control flags and replace GENERIC_NULLOK purpose with one

3 years agopt-tls-server: Explicitly request client authentication if necessary
Tobias Brunner [Thu, 18 Feb 2021 11:34:29 +0000 (12:34 +0100)] 
pt-tls-server: Explicitly request client authentication if necessary

The PT_TLS_AUTH_TLS_OR_SASL case currently can't be implemented properly
as TLS authentication will be enforced if a client identity is configured
on the TLS server socket.

3 years agotls-server: Use subject DN as peer identity if it was ID_ANY
Tobias Brunner [Thu, 18 Feb 2021 11:31:17 +0000 (12:31 +0100)] 
tls-server: Use subject DN as peer identity if it was ID_ANY

To request client authentication if we don't know the client's identity,
it's possible to use ID_ANY.  However, if we don't change the identity
get_peer_id() would still report ID_ANY after the authentication.

3 years agotesting: Adapt some checks as SHA-384 is now preferred for TLS signatures
Tobias Brunner [Thu, 18 Feb 2021 11:01:02 +0000 (12:01 +0100)] 
testing: Adapt some checks as SHA-384 is now preferred for TLS signatures

3 years agotls-eap: Only servers conclude EAP method after processing packets
Tobias Brunner [Thu, 18 Feb 2021 09:46:56 +0000 (10:46 +0100)] 
tls-eap: Only servers conclude EAP method after processing packets

As client with older TLS versions, we have to ack the receipt of the server's
Finished message instead.

Fixes: 083f38259c79 ("tls-eap: Conclude EAP method also after processing packets")
3 years agoike-sa: Properly set timing info for delete after rekeying
Stefan Berghofer [Thu, 18 Feb 2021 08:43:10 +0000 (09:43 +0100)] 
ike-sa: Properly set timing info for delete after rekeying

The job is queued properly, yet the timing information is wrong.

Signed-off-by: Stefan Berghofer <stefan.berghofer@secunet.com>
Fixes: ee61471113c2 ("implemented RFC4478 (repeated authentication)...")
3 years agoNEWS: Add news for 5.9.2
Tobias Brunner [Wed, 17 Feb 2021 14:24:36 +0000 (15:24 +0100)] 
NEWS: Add news for 5.9.2

3 years agodhcp: Properly initialize struct when binding to interface
Tobias Brunner [Tue, 16 Feb 2021 14:22:18 +0000 (15:22 +0100)] 
dhcp: Properly initialize struct when binding to interface