]> git.ipfire.org Git - thirdparty/strongswan.git/log
thirdparty/strongswan.git
4 years agotesting: Build current liboqs-master ikev2-qske-intermediate
Andreas Steffen [Mon, 2 Sep 2019 13:58:11 +0000 (15:58 +0200)] 
testing: Build current liboqs-master

4 years agoqske: Updated to current round 2 liboqs candidates
Andreas Steffen [Fri, 30 Aug 2019 15:12:06 +0000 (17:12 +0200)] 
qske: Updated to current round 2 liboqs candidates

4 years agooqs: Removed KAT unit tests
Andreas Steffen [Fri, 30 Aug 2019 15:08:31 +0000 (17:08 +0200)] 
oqs: Removed KAT unit tests

4 years agoscripts: Added --count option to nist_kem_kat script
Andreas Steffen [Fri, 30 Aug 2019 13:54:40 +0000 (15:54 +0200)] 
scripts: Added --count option to nist_kem_kat script

4 years agotesting: Extended swanctl/rw-qske-l1 scenario
Andreas Steffen [Mon, 29 Oct 2018 11:34:26 +0000 (12:34 +0100)] 
testing: Extended swanctl/rw-qske-l1 scenario

4 years agowip
Tobias Brunner [Mon, 23 Jul 2018 16:14:28 +0000 (18:14 +0200)] 
wip

4 years agowip: unit-tests: Add QSKE exchange tests
Tobias Brunner [Mon, 16 Jul 2018 13:50:56 +0000 (15:50 +0200)] 
wip: unit-tests: Add QSKE exchange tests

4 years agounit-tests: Add mock QSKE implementation
Tobias Brunner [Mon, 16 Jul 2018 13:50:09 +0000 (15:50 +0200)] 
unit-tests: Add mock QSKE implementation

4 years agoike-sa-manager: Log SPIs when checking in an IKE_SA
Tobias Brunner [Mon, 16 Jul 2018 13:48:30 +0000 (15:48 +0200)] 
ike-sa-manager: Log SPIs when checking in an IKE_SA

4 years agowip: CHILD_SA rekey and creation testing
Tobias Brunner [Fri, 13 Jul 2018 16:45:53 +0000 (18:45 +0200)] 
wip: CHILD_SA rekey and creation testing

4 years agoikev2: Use hashes to detect retransmits
Tobias Brunner [Mon, 23 Jul 2018 15:49:15 +0000 (17:49 +0200)] 
ikev2: Use hashes to detect retransmits

We avoid parsing messages with unexpected message IDs.  This allows us to
process and detect retransmits of messages for which we don't have the keys
anymore (i.e. IKE_INTERMEDIATE after IKE_SA_INIT and changing the keys).

This also changes how retransmits for fragmented messages are triggered,
previously we waited for all fragments and reconstructed the message
before retransmitting the response.  Now we only track the first
fragment and if we receive a retransmit of it respond immediately
without waiting for other fragments (which are now ignored).  This is in
compliance with RFC 7383, section 2.6.1.

4 years agochild-create: Change how DH group/QSKE mechanism is determined
Tobias Brunner [Fri, 20 Jul 2018 15:44:14 +0000 (17:44 +0200)] 
child-create: Change how DH group/QSKE mechanism is determined

Either reuse algorithms previously used (rekeying) or use the IKE_SA's
proposal to determine a preferred group/mechanism.

4 years agochild-cfg: Add method to check if an algorithm is proposed
Tobias Brunner [Fri, 20 Jul 2018 15:43:24 +0000 (17:43 +0200)] 
child-cfg: Add method to check if an algorithm is proposed

4 years agounit-tests: Fix CHILD_SA rekey tests after INVALID_KE_PAYLOAD handling changes
Tobias Brunner [Fri, 20 Jul 2018 12:12:48 +0000 (14:12 +0200)] 
unit-tests: Fix CHILD_SA rekey tests after INVALID_KE_PAYLOAD handling changes

The responder doesn't create a CHILD_SA and allocate an SPI anymore
when responding with an INVALID_KE_PAYLOAD notify.

4 years agowip: child-create: Prototypical support for QSKE mechanisms
Tobias Brunner [Fri, 13 Jul 2018 14:07:43 +0000 (16:07 +0200)] 
wip: child-create: Prototypical support for QSKE mechanisms

wip: For some errors a more specific notify might be preferable (e.g.
INVALID_SYNTAX if a QSKE payload is missing).

4 years agooqs: Allow different paths to generate/encapsulate the shared secret
Tobias Brunner [Fri, 20 Jul 2018 14:02:19 +0000 (16:02 +0200)] 
oqs: Allow different paths to generate/encapsulate the shared secret

This way we don't have to generate the QSKE payload before we can query
the shared secret.

4 years agokeymat_v2: Add optional qske_t argument to derive_child_keys()
Tobias Brunner [Fri, 13 Jul 2018 13:31:34 +0000 (15:31 +0200)] 
keymat_v2: Add optional qske_t argument to derive_child_keys()

4 years agochild-cfg: Generalize get_dh_group() method
Tobias Brunner [Fri, 20 Jul 2018 09:11:00 +0000 (11:11 +0200)] 
child-cfg: Generalize get_dh_group() method

4 years agochild-cfg: Strip QSKE mechanisms from ESP proposal when we strip DH groups
Tobias Brunner [Mon, 9 Jul 2018 14:59:05 +0000 (16:59 +0200)] 
child-cfg: Strip QSKE mechanisms from ESP proposal when we strip DH groups

4 years agoike-auth: Calculate and collect IntAuth for IKE_INTERMEDIATE exchanges
Tobias Brunner [Tue, 20 Aug 2019 15:07:55 +0000 (17:07 +0200)] 
ike-auth: Calculate and collect IntAuth for IKE_INTERMEDIATE exchanges

4 years agopubkey_authenticator: Handle IntAuth data
Tobias Brunner [Tue, 20 Aug 2019 14:38:01 +0000 (16:38 +0200)] 
pubkey_authenticator: Handle IntAuth data

4 years agopsk_authenticator: Handle IntAuth data
Tobias Brunner [Tue, 20 Aug 2019 14:36:13 +0000 (16:36 +0200)] 
psk_authenticator: Handle IntAuth data

4 years agoeap_authenticator: Handle IntAuth data
Tobias Brunner [Tue, 20 Aug 2019 14:32:17 +0000 (16:32 +0200)] 
eap_authenticator: Handle IntAuth data

4 years agokeymat_v2: Include optional IntAuth in signed octets
Tobias Brunner [Tue, 20 Aug 2019 14:18:05 +0000 (16:18 +0200)] 
keymat_v2: Include optional IntAuth in signed octets

4 years agoauthenticator: Add optional method to set IntAuth data
Tobias Brunner [Tue, 20 Aug 2019 14:13:11 +0000 (16:13 +0200)] 
authenticator: Add optional method to set IntAuth data

4 years agomessage: Add method to generate data to authenticate IKE_INTERMEDIATE exchanges
Tobias Brunner [Tue, 20 Aug 2019 12:57:30 +0000 (14:57 +0200)] 
message: Add method to generate data to authenticate IKE_INTERMEDIATE exchanges

4 years agogenerator: Make pointer to length field optional
Tobias Brunner [Tue, 20 Aug 2019 12:53:16 +0000 (14:53 +0200)] 
generator: Make pointer to length field optional

Only useful if we generate an IKE header.

4 years agomessage: Fix payload type in last unprotected payload of a fragmented message
Tobias Brunner [Fri, 5 Jul 2019 09:01:42 +0000 (11:01 +0200)] 
message: Fix payload type in last unprotected payload of a fragmented message

4 years agokeymat_v2: Add method to calculate IntAuth for IKE_INTERMEDIATE exchanges
Tobias Brunner [Tue, 2 Jul 2019 13:01:26 +0000 (15:01 +0200)] 
keymat_v2: Add method to calculate IntAuth for IKE_INTERMEDIATE exchanges

4 years agotesting: Added swanctl/rw-qske-l1 and swanctl/rw-qske-l5 scenarios
Andreas Steffen [Mon, 18 Jun 2018 22:06:35 +0000 (00:06 +0200)] 
testing: Added swanctl/rw-qske-l1 and swanctl/rw-qske-l5 scenarios

4 years agoike-rekey: Reset IKE_SA after processing CREATE_CHILD_SA request
Tobias Brunner [Tue, 10 Jul 2018 12:36:28 +0000 (14:36 +0200)] 
ike-rekey: Reset IKE_SA after processing CREATE_CHILD_SA request

This probably didn't cause any problems, as there wasn't really anything
happening between the calls, but reset it anyway, just to be safe.

4 years agowip: ike-init: Prototypical (optional) IKE_INTERMEDIATE exchange for QSKE mechanisms
Tobias Brunner [Mon, 25 Jun 2018 15:19:39 +0000 (17:19 +0200)] 
wip: ike-init: Prototypical (optional) IKE_INTERMEDIATE exchange for QSKE mechanisms

The QSKE payloads are, by default, exchanged in a separate IKE_INTERMEDIATE
exchange after IKE_SA_INIT to leverage IKEv2 fragmentation.  It would be
possible to do that directly in IKE_SA_INIT (DH is currently not optional,
though).

Rekeying is always done with a single CREATE_CHILD_SA exchange (again,
DH is currently not optional).

The key material is derived by concatenating the DH and QSKE secrets.

wip: DH could theoretically be made optional if QSKE is used (only during
rekeying, or when not using IKE_INTERMEDIATE also during IKE_SA_INIT)

wip: HA and the ike_keys() hook on listener_t currently handle only
classic key derivation.

wip: Retransmits of IKE_INTERMEDIATE requests will fail after changing
the keys.  We either have to keep the old keys around, or use hashes to
detect retransmits (tricky with fragments, unless we retransmit the message
even if we receive the retransmit of just one fragment).

4 years agoikev2: Allow tasks to do work after processing requests/responses
Tobias Brunner [Thu, 22 Aug 2019 12:23:44 +0000 (14:23 +0200)] 
ikev2: Allow tasks to do work after processing requests/responses

4 years agotask: Add optional post_process() method
Tobias Brunner [Thu, 22 Aug 2019 12:22:48 +0000 (14:22 +0200)] 
task: Add optional post_process() method

This will allows tasks to do some work after a message has been
processed.

4 years agonotify-payload: Add INVALID_QSKE_PAYLOAD notify type
Tobias Brunner [Thu, 19 Jul 2018 10:08:19 +0000 (12:08 +0200)] 
notify-payload: Add INVALID_QSKE_PAYLOAD notify type

4 years agoike-cfg: Generalize get_dh_group() method
Tobias Brunner [Thu, 19 Jul 2018 14:53:01 +0000 (16:53 +0200)] 
ike-cfg: Generalize get_dh_group() method

4 years agoproposal: Generalize DH methods
Tobias Brunner [Mon, 9 Jul 2018 14:27:04 +0000 (16:27 +0200)] 
proposal: Generalize DH methods

4 years agokeymat_v2: Add optional qske_t argument to derive_ike_keys()
Tobias Brunner [Thu, 28 Jun 2018 09:40:49 +0000 (11:40 +0200)] 
keymat_v2: Add optional qske_t argument to derive_ike_keys()

If given, its shared secret is appended to the secret provided by the
diffie_hellman_t implementation.

4 years agokeymat_v2: Proper cleanup if derive_ike_keys() is called multiple times
Tobias Brunner [Thu, 28 Jun 2018 13:33:35 +0000 (15:33 +0200)] 
keymat_v2: Proper cleanup if derive_ike_keys() is called multiple times

4 years agokeymat_v2: Add method to create QSKE implementation
Tobias Brunner [Thu, 28 Jun 2018 09:38:54 +0000 (11:38 +0200)] 
keymat_v2: Add method to create QSKE implementation

4 years agoikev2: Allow tasks to do work after generating requests/responses
Tobias Brunner [Thu, 28 Jun 2018 08:44:40 +0000 (10:44 +0200)] 
ikev2: Allow tasks to do work after generating requests/responses

4 years agotask: Add optional post_build() method
Tobias Brunner [Thu, 28 Jun 2018 08:44:03 +0000 (10:44 +0200)] 
task: Add optional post_build() method

This will allow tasks to do some work after the message has been
generated.

4 years agounit-tests: Use simple default IKE proposal to avoid issues with IKE_INTERMEDIATE
Tobias Brunner [Tue, 26 Jun 2018 08:13:05 +0000 (10:13 +0200)] 
unit-tests: Use simple default IKE proposal to avoid issues with IKE_INTERMEDIATE

The exchange tests don't expect an IKE_INTERMEDIATE exchange so we don't want
any QSKE methods getting negotiated (in case they are proposed in the default
proposal).

4 years agoike-auth: Support IKE_INTERMEDIATE exchange between IKE_SA_INIT and IKE_AUTH
Tobias Brunner [Mon, 25 Jun 2018 12:27:16 +0000 (14:27 +0200)] 
ike-auth: Support IKE_INTERMEDIATE exchange between IKE_SA_INIT and IKE_AUTH

4 years agochild-create: Support IKE_INTERMEDIATE exchange between IKE_SA_INIT and IKE_AUTH
Tobias Brunner [Mon, 25 Jun 2018 12:14:59 +0000 (14:14 +0200)] 
child-create: Support IKE_INTERMEDIATE exchange between IKE_SA_INIT and IKE_AUTH

4 years agoike-mobike: Support IKE_INTERMEDIATE exchange between IKE_SA_INIT and IKE_AUTH
Tobias Brunner [Mon, 25 Jun 2018 12:03:56 +0000 (14:03 +0200)] 
ike-mobike: Support IKE_INTERMEDIATE exchange between IKE_SA_INIT and IKE_AUTH

This changes the MID of the first IKE_AUTH message.

4 years agoike-config: Support IKE_INTERMEDIATE exchange between IKE_SA_INIT and IKE_AUTH
Tobias Brunner [Mon, 25 Jun 2018 10:32:27 +0000 (12:32 +0200)] 
ike-config: Support IKE_INTERMEDIATE exchange between IKE_SA_INIT and IKE_AUTH

This changes the MID of the first IKE_AUTH message.

4 years agoike-cert-post: Make absolutely sure certificates are only added to IKE_AUTH
Tobias Brunner [Mon, 25 Jun 2018 10:23:50 +0000 (12:23 +0200)] 
ike-cert-post: Make absolutely sure certificates are only added to IKE_AUTH

The AUTH payload check should be fine, but add some extra checks just to make
really sure and also for clarification.

4 years agoike-cert-pre: Support IKE_INTERMEDIATE exchange between IKE_SA_INIT and IKE_AUTH
Tobias Brunner [Mon, 25 Jun 2018 10:07:50 +0000 (12:07 +0200)] 
ike-cert-pre: Support IKE_INTERMEDIATE exchange between IKE_SA_INIT and IKE_AUTH

The first IKE_AUTH does not have MID 1 if that's the case.

4 years agostatus: Add return_need_more() utility function
Tobias Brunner [Fri, 13 Jul 2018 12:52:05 +0000 (14:52 +0200)] 
status: Add return_need_more() utility function

4 years agotest-vectors: Added QSKE vectors
Andreas Steffen [Tue, 10 Jul 2018 07:31:26 +0000 (09:31 +0200)] 
test-vectors: Added QSKE vectors

4 years agoscripts: nist-kam-kat generates KEM KAT test data
Andreas Steffen [Fri, 6 Jul 2018 06:06:16 +0000 (08:06 +0200)] 
scripts: nist-kam-kat generates KEM KAT test data

The script converts the Known-Answers-Test data (KAT) for the NIST
post-quantum round 1 submission Key Encapsulation Mechanism (KEM)
candidates into a C struct amenable for our unit-tests.

4 years agounit-tests: Tests for oqs plugin
Andreas Steffen [Wed, 4 Jul 2018 17:15:41 +0000 (19:15 +0200)] 
unit-tests: Tests for oqs plugin

4 years agounit-tests: Fixed newhope plugin test
Andreas Steffen [Wed, 4 Jul 2018 17:12:19 +0000 (19:12 +0200)] 
unit-tests: Fixed newhope plugin test

4 years agooqs: Created QSKE plugin based on OQS library
Andreas Steffen [Wed, 27 Jun 2018 11:22:58 +0000 (13:22 +0200)] 
oqs: Created QSKE plugin based on OQS library

4 years agoqske-newhope: Created NewHope QSKE plugin
Andreas Steffen [Wed, 20 Jun 2018 12:51:07 +0000 (14:51 +0200)] 
qske-newhope: Created NewHope QSKE plugin

4 years agostroke: Support for QSKE mechanisms
Andreas Steffen [Thu, 21 Jun 2018 08:23:52 +0000 (10:23 +0200)] 
stroke: Support for QSKE mechanisms

4 years agoswanctl: Support for QSKE mechanisms
Andreas Steffen [Mon, 18 Jun 2018 22:30:11 +0000 (00:30 +0200)] 
swanctl: Support for QSKE mechanisms

4 years agovici: Support for QSKE mechanisms
Andreas Steffen [Mon, 18 Jun 2018 22:29:39 +0000 (00:29 +0200)] 
vici: Support for QSKE mechanisms

4 years agoencoding: Transport of QSKE payload via IKE_INTERMEDIATE
Andreas Steffen [Mon, 18 Jun 2018 15:48:04 +0000 (17:48 +0200)] 
encoding: Transport of QSKE payload via IKE_INTERMEDIATE

4 years agocrypto: Support for QSKE mechanisms
Andreas Steffen [Mon, 18 Jun 2018 15:43:11 +0000 (17:43 +0200)] 
crypto: Support for QSKE mechanisms

A new transform type for Quantum-Safe Key Encapsulation (QSKE)
mechanisms is defined.

4 years agoVersion bump to 5.8.2dr1 5.8.2dr1
Andreas Steffen [Fri, 18 Oct 2019 14:26:41 +0000 (16:26 +0200)] 
Version bump to 5.8.2dr1

4 years agotesting: Added drbg plugin where required
Andreas Steffen [Fri, 18 Oct 2019 12:38:43 +0000 (14:38 +0200)] 
testing: Added drbg plugin where required

4 years agogmp: Use NIST DRBG for RSA key pair generation
Andreas Steffen [Wed, 16 Oct 2019 09:57:22 +0000 (11:57 +0200)] 
gmp: Use NIST DRBG for RSA key pair generation

4 years agostroke: List drbgs in list_algs
Andreas Steffen [Tue, 15 Oct 2019 21:04:56 +0000 (23:04 +0200)] 
stroke: List drbgs in list_algs

4 years agovici: List drbgs in get_algorithms
Andreas Steffen [Tue, 15 Oct 2019 20:30:40 +0000 (22:30 +0200)] 
vici: List drbgs in get_algorithms

4 years agontru: Replaced ntru_drbg by drbg
Andreas Steffen [Thu, 10 Oct 2019 10:50:08 +0000 (12:50 +0200)] 
ntru: Replaced ntru_drbg by drbg

4 years agodrbg: Implemented NIST SP-800-90A DRBG
Andreas Steffen [Wed, 9 Oct 2019 22:00:05 +0000 (00:00 +0200)] 
drbg: Implemented NIST SP-800-90A DRBG

4 years agoMerge branch 'android-updates'
Tobias Brunner [Tue, 15 Oct 2019 15:26:16 +0000 (17:26 +0200)] 
Merge branch 'android-updates'

Makes the local identity configurable and includes a fix for Android 10,
plus a break-before-make reauth issue (not Android specific) and some
deprecation workarounds.

4 years agoandroid: New release after making local identity configurable
Tobias Brunner [Tue, 8 Oct 2019 13:34:00 +0000 (15:34 +0200)] 
android: New release after making local identity configurable

This also includes a fix for Android 10 and some older fixes for
API level 28 compatibility and a crash on Huawei devices.  The API
used to detect network changes is also replaced on newer Android
versions and an issue with DELETES received during break-before-make
reauthentication is also fixed.

4 years agoike-delete: Continue break-before-make reauth if server concurrently deletes SA
Tobias Brunner [Mon, 14 Oct 2019 15:24:15 +0000 (17:24 +0200)] 
ike-delete: Continue break-before-make reauth if server concurrently deletes SA

There seem to be servers around that, upon receiving a delete from the
client, instead of responding with an empty INFORMATIONAL, send a delete
themselves.

4 years agoandroid: Replace deprecated CONNECTIVITY_ACTION on newer Android versions
Tobias Brunner [Mon, 14 Oct 2019 13:03:10 +0000 (15:03 +0200)] 
android: Replace deprecated CONNECTIVITY_ACTION on newer Android versions

It was deprecated in API level 28, registerNetworkCallback is available
since API level 21, but ConnectivityManager got some updates with 24
(e.g. default network handling) so we start using it then.

4 years agoandroid: Don't use specific key types to select user certificates
Tobias Brunner [Tue, 8 Oct 2019 13:51:18 +0000 (15:51 +0200)] 
android: Don't use specific key types to select user certificates

Android 10 will honor the preselection and could, thus, hide some
installed certificates if we only pass "RSA".  The dialog will also only
be shown if there are actually certificates installed (i.e. users will
have to do that manually outside of the app or via profile import).

Fixes #3196.

4 years agoandroid: Import local identity for all authentication types
Tobias Brunner [Tue, 8 Oct 2019 13:13:55 +0000 (15:13 +0200)] 
android: Import local identity for all authentication types

4 years agoandroid: Allow configuration of client identity for all authentication types
Tobias Brunner [Tue, 8 Oct 2019 13:02:30 +0000 (15:02 +0200)] 
android: Allow configuration of client identity for all authentication types

This replaces the drop-down box to select certificate identities with a
text field (in the advanced settings) with auto-completion for SANs
contained in the certificate.

The field is always shown and allows using an IKE identity different from
the username for EAP authentication (e.g. to configure a more complete
identity to select a specific config on the server).

Fixes #3134.

4 years agoandroid: Rename adapter for gateway address auto-completion
Tobias Brunner [Tue, 8 Oct 2019 12:51:31 +0000 (14:51 +0200)] 
android: Rename adapter for gateway address auto-completion

4 years agoandroid: No auto-completion required for DNS server text box
Tobias Brunner [Tue, 8 Oct 2019 12:49:16 +0000 (14:49 +0200)] 
android: No auto-completion required for DNS server text box

4 years agoandroid: Add helper to read strings from text boxes
Tobias Brunner [Tue, 8 Oct 2019 12:46:38 +0000 (14:46 +0200)] 
android: Add helper to read strings from text boxes

4 years agoandroid: Fix deprecation warning related to FragmentPagerAdapter
Tobias Brunner [Tue, 8 Oct 2019 13:21:00 +0000 (15:21 +0200)] 
android: Fix deprecation warning related to FragmentPagerAdapter

4 years agoandroid: Update AndroidX libraries
Tobias Brunner [Mon, 7 Oct 2019 15:00:11 +0000 (17:00 +0200)] 
android: Update AndroidX libraries

4 years agoandroid: Update Gradle plugin
Tobias Brunner [Mon, 7 Oct 2019 14:42:00 +0000 (16:42 +0200)] 
android: Update Gradle plugin

4 years agokernel-pfkey: Pass ESN flag to kernel if ESN is enabled
Patryk Duda [Tue, 17 Sep 2019 08:12:49 +0000 (08:12 +0000)] 
kernel-pfkey: Pass ESN flag to kernel if ESN is enabled

This patch adds passing the ESN flag to the kernel if ESN was negotiated
and the appropriate flag is present in the kernel headers, which will
be the case in future FreeBSD releases.

Signed-off-by: Patryk Duda <pdk@semihalf.com>
Closes strongswan/strongswan#155.

4 years agoUse Botan 2.12.1 for tests
Tobias Brunner [Mon, 14 Oct 2019 09:43:58 +0000 (11:43 +0200)] 
Use Botan 2.12.1 for tests

4 years agoUse Botan 2.12.0 for tests
Tobias Brunner [Mon, 7 Oct 2019 12:31:40 +0000 (14:31 +0200)] 
Use Botan 2.12.0 for tests

4 years agovici: Use unique names for CHILD_SAs in the child-updown event too
Felix Kaiser [Fri, 4 Oct 2019 06:18:30 +0000 (23:18 -0700)] 
vici: Use unique names for CHILD_SAs in the child-updown event too

The unique names were introduced for the list-sas command in commit
04c0219e55d9338b6492548c073189bfd3d5431b.  However, the child-updown
event wasn't updated to match.  Even though the documentation suggests
that the section name of the CHILD_SAs are the same in both messages.

The original name is already being returned in the "name" attribute,
so it'll still be available.

Example:

    >>> import vici, json
    >>> s = vici.Session()

    # First, for comparison, the list-sas command:
    >>> print(json.dumps(list(s.list_sas()), sort_keys=True, indent=4, separators=(',', ': ')))
    [
        {
            "vti0": {
                "child-sas": {
                    "vti0-1": {
                        ...

    # A child-updown event before the change:
    >>> for x in s.listen(["child-updown"]): print(json.dumps(x, sort_keys=True, indent=4, separators=(',', ': ')))
    [
        "child-updown",
        {
            "vti0": {
                "child-sas": {
                    "vti0": {   # <-- wrong: inconsistent with list-sas
                        ...

    # A child-updown event after the change:
    >>> s = vici.Session()
    >>> for x in s.listen(["child-updown"]): print(json.dumps(x, sort_keys=True, indent=4, separators=(',', ': ')))
    [
        "child-updown",
        {
            "vti0": {
                "child-sas": {
                    "vti0-1": {  # <-- fixed

Closes strongswan/strongswan#153.

4 years agofuzz: Add fuzzer for identification_t
Tobias Brunner [Thu, 26 Jul 2018 08:01:46 +0000 (10:01 +0200)] 
fuzz: Add fuzzer for identification_t

4 years agotravis: Bump tpm2-tss to 2.3.1
Tobias Brunner [Thu, 26 Sep 2019 09:50:46 +0000 (11:50 +0200)] 
travis: Bump tpm2-tss to 2.3.1

4 years agowolfssl: Fixes for building with OpenSSL compatibility layer
David Garske [Tue, 24 Sep 2019 18:38:36 +0000 (11:38 -0700)] 
wolfssl: Fixes for building with OpenSSL compatibility layer

Resolves conflicts with building against wolfSSL when
`--enable-opensslextra` is set, namely the `WOLFSSL_HMAC_H_`,
`RNG` and `ASN1_*` name conflicts.

Closes strongswan/strongswan#151.

4 years agoopenssl: Don't manually seed DRBG with OpenSSL 1.1.1
Tobias Brunner [Thu, 12 Sep 2019 14:15:46 +0000 (16:15 +0200)] 
openssl: Don't manually seed DRBG with OpenSSL 1.1.1

According to the documentation, it's generally not necessary to manually
seed OpenSSL's DRBG (and it actually can cause the daemon to lock up
during start up on systems with low entropy if OpenSSL is already trying
to seed it itself and holds the lock).  While that might already have been
the case with earlier versions, it's not explicitly stated in their
documentation.  So we keep the code for these versions.

4 years agotravis: Bump OpenSSL to 1.1.1d
Tobias Brunner [Tue, 10 Sep 2019 14:33:18 +0000 (16:33 +0200)] 
travis: Bump OpenSSL to 1.1.1d

4 years agodaemon: Correctly re-register custom loggers in set_level()
Tobias Brunner [Fri, 20 Sep 2019 12:13:56 +0000 (14:13 +0200)] 
daemon: Correctly re-register custom loggers in set_level()

Fixes: 2080c7e1e232 ("charon: Add custom logger to daemon")
Fixes #3182.

4 years agocharon-nm: Move D-Bus conf file to $(datadir)/dbus-1/system.d
worldofpeace [Mon, 16 Sep 2019 16:11:21 +0000 (12:11 -0400)] 
charon-nm: Move D-Bus conf file to $(datadir)/dbus-1/system.d

Since D-Bus 1.9.18 configuration files installed by third-party should
go in share/dbus-1/system.d. The old location is for sysadmin overrides.

Closes strongswan/strongswan#150.

4 years agoconf: Fix typo in documentation of charon.rdn_matching
Tobias Brunner [Tue, 3 Sep 2019 08:26:29 +0000 (10:26 +0200)] 
conf: Fix typo in documentation of charon.rdn_matching

Fixes #3165.

4 years agoVersion bump to 5.8.1 5.8.1
Andreas Steffen [Mon, 2 Sep 2019 12:39:16 +0000 (14:39 +0200)] 
Version bump to 5.8.1

4 years agoVersion bump to 5.8.1rc2 5.8.1rc2
Andreas Steffen [Thu, 29 Aug 2019 09:15:18 +0000 (11:15 +0200)] 
Version bump to 5.8.1rc2

4 years agoVersion bump to 5.8.1rc1
Andreas Steffen [Wed, 28 Aug 2019 14:30:24 +0000 (16:30 +0200)] 
Version bump to 5.8.1rc1

4 years agoFixed some typos, courtesy of codespell
Tobias Brunner [Wed, 28 Aug 2019 12:03:41 +0000 (14:03 +0200)] 
Fixed some typos, courtesy of codespell

4 years agoNEWS: Added some news for 5.8.1
Tobias Brunner [Wed, 28 Aug 2019 10:17:44 +0000 (12:17 +0200)] 
NEWS: Added some news for 5.8.1

4 years agoikev2: Check the length of received COOKIE notifies
Tobias Brunner [Tue, 27 Aug 2019 16:32:32 +0000 (18:32 +0200)] 
ikev2: Check the length of received COOKIE notifies

As specified by RFC 7296, section 2.6, the data associated with COOKIE
notifications MUST be between 1 and 64 octets in length (inclusive).

Fixes #3160.

4 years agolibipsec: Fix compiler warning with GCC 9
Tobias Brunner [Wed, 28 Aug 2019 07:53:19 +0000 (09:53 +0200)] 
libipsec: Fix compiler warning with GCC 9

The compiler complains that "taking address of packed member ... of
class or structure 'ip6_hdr' may result in an unaligned pointer value".
We don't care if the address is aligned as we explicitly use untoh16()
to convert the read value.