6 years agochild-cfg: Add equals() method
Tobias Brunner [Fri, 16 Oct 2015 10:25:37 +0000 (12:25 +0200)]
child-cfg: Add equals() method

6 years agolinked-list: Add method to compare two lists of objects for equality
Tobias Brunner [Fri, 16 Oct 2015 10:12:43 +0000 (12:12 +0200)]
linked-list: Add method to compare two lists of objects for equality

6 years agovici: Order auth rounds by optional `round` parameter instead of by position in the...
Tobias Brunner [Thu, 19 Nov 2015 11:58:23 +0000 (12:58 +0100)]
vici: Order auth rounds by optional `round` parameter instead of by position in the request

6 years agoikev1: Send NAT-D payloads after vendor ID payloads in Aggressive Mode messages
Tobias Brunner [Mon, 7 Mar 2016 13:04:41 +0000 (14:04 +0100)]
ikev1: Send NAT-D payloads after vendor ID payloads in Aggressive Mode messages

Some implementations might otherwise not recognize the NAT-D payload
type.  Also moves SIG and HASH payloads last in these messages.

Fixes #1239.

6 years agoike-sa-manager: Log a checkin/failure message for every checkout
Thomas Egerer [Mon, 7 Mar 2016 08:21:21 +0000 (09:21 +0100)]
ike-sa-manager: Log a checkin/failure message for every checkout

Signed-off-by: Thomas Egerer <>
6 years agotesting: Added swanctl/mult-auth-rsa-eap-sim-id scenario
Andreas Steffen [Sun, 6 Mar 2016 18:09:03 +0000 (19:09 +0100)]
testing: Added swanctl/mult-auth-rsa-eap-sim-id scenario

6 years agotesting: Added swanctl/xauth-rsa scenario
Andreas Steffen [Sun, 6 Mar 2016 11:28:55 +0000 (12:28 +0100)]
testing: Added swanctl/xauth-rsa scenario

6 years agoDisplay IKE ports with swanctl --list-sas
Andreas Steffen [Sat, 5 Mar 2016 17:19:00 +0000 (18:19 +0100)]
Display IKE ports with swanctl --list-sas

6 years agoVersion bump to 5.4.0rc1
Andreas Steffen [Sat, 5 Mar 2016 17:18:12 +0000 (18:18 +0100)]
Version bump to 5.4.0rc1

6 years agotesting: attr-sql is a charon plugin 5.4.0dr8
Andreas Steffen [Sat, 5 Mar 2016 14:53:22 +0000 (15:53 +0100)]
testing: attr-sql is a charon plugin

6 years agotesting: Added swanctl/rw-psk-ikev1 scenario
Andreas Steffen [Sat, 5 Mar 2016 12:50:41 +0000 (13:50 +0100)]
testing: Added swanctl/rw-psk-ikev1 scenario

6 years agotesting: Include IKE port information in evaltests
Andreas Steffen [Sat, 5 Mar 2016 12:44:06 +0000 (13:44 +0100)]
testing: Include IKE port information in evaltests

6 years agoVersion bump to 5.4.0dr8
Andreas Steffen [Fri, 4 Mar 2016 19:55:50 +0000 (20:55 +0100)]
Version bump to 5.4.0dr8

6 years agoike-sa-manager: Log some additional details like SPIs when checking out SAs
Tobias Brunner [Mon, 5 Oct 2015 15:49:52 +0000 (17:49 +0200)]
ike-sa-manager: Log some additional details like SPIs when checking out SAs

6 years agosmp: Correctly return IKE SPIs stored in network order
Tobias Brunner [Fri, 4 Mar 2016 09:28:00 +0000 (10:28 +0100)]
smp: Correctly return IKE SPIs stored in network order

6 years agovici: Correctly return IKE SPIs stored in network order
Tobias Brunner [Fri, 4 Mar 2016 09:25:40 +0000 (10:25 +0100)]
vici: Correctly return IKE SPIs stored in network order

6 years agostroke: Correctly print IKE SPIs stored in network order
Tobias Brunner [Fri, 4 Mar 2016 09:19:37 +0000 (10:19 +0100)]
stroke: Correctly print IKE SPIs stored in network order

6 years agobyteorder: Simplify htoun64/untoh64 functions
Tobias Brunner [Fri, 4 Mar 2016 09:15:49 +0000 (10:15 +0100)]
byteorder: Simplify htoun64/untoh64 functions

6 years agobyteorder: Always define be64toh/htobe64 macros
Tobias Brunner [Fri, 4 Mar 2016 09:13:49 +0000 (10:13 +0100)]
byteorder: Always define be64toh/htobe64 macros

6 years agoMerge branch 'ike-sig-contraints'
Tobias Brunner [Fri, 4 Mar 2016 15:42:41 +0000 (16:42 +0100)]
Merge branch 'ike-sig-contraints'

Signature scheme constraints against IKEv2 authentication may now be
configured independently of constraints against trustchains.

6 years agoNEWS: Add note about IKEv2 signature scheme constraints
Tobias Brunner [Fri, 4 Mar 2016 15:29:32 +0000 (16:29 +0100)]
NEWS: Add note about IKEv2 signature scheme constraints

6 years agoswanctl: Document signature scheme constraints
Tobias Brunner [Wed, 3 Feb 2016 14:45:09 +0000 (15:45 +0100)]
swanctl: Document signature scheme constraints

6 years agovici: Add support for pubkey constraints with EAP-TLS
Tobias Brunner [Wed, 3 Feb 2016 14:16:48 +0000 (15:16 +0100)]
vici: Add support for pubkey constraints with EAP-TLS

This is a feature currently supported by stroke.

6 years agoauth-cfg: Make IKE signature schemes configurable
Tobias Brunner [Mon, 1 Feb 2016 17:16:16 +0000 (18:16 +0100)]
auth-cfg: Make IKE signature schemes configurable

This also restores the charon.signature_authentication_constraints
functionality, that is, if no explicit IKE signature schemes are
configured we apply all regular signature constraints as IKE constraints.

6 years agoikev2: Always store signature scheme in auth-cfg
Tobias Brunner [Mon, 1 Feb 2016 17:15:57 +0000 (18:15 +0100)]
ikev2: Always store signature scheme in auth-cfg

As we use a different rule we can always store the scheme.

6 years agoikev2: Diversify signature scheme rule
Thomas Egerer [Mon, 1 Feb 2016 17:15:15 +0000 (18:15 +0100)]
ikev2: Diversify signature scheme rule

This allows for different signature schemes for IKE authentication and
trustchain verification.

Signed-off-by: Thomas Egerer <>
6 years agoNEWS: Document RFC 5685 support
Tobias Brunner [Fri, 4 Mar 2016 15:07:17 +0000 (16:07 +0100)]
NEWS: Document RFC 5685 support

6 years agoMerge branch 'ike-redirect'
Tobias Brunner [Fri, 4 Mar 2016 15:03:07 +0000 (16:03 +0100)]
Merge branch 'ike-redirect'

This adds support for IKEv2 redirection (RFC 5685).  There is currently
no default implementation of the redirect_provider_t interface provided.
Plugins may implement the interface to decide if and when to redirect
connecting clients.  It is also possible to redirect established IKE_SAs
via VICI/swanctl.

6 years agoike-init: Verify REDIRECT notify before processing IKE_SA_INIT message
Tobias Brunner [Thu, 21 May 2015 12:56:01 +0000 (14:56 +0200)]
ike-init: Verify REDIRECT notify before processing IKE_SA_INIT message

An attacker could blindly send a message with invalid nonce data (or none
at all) to DoS an initiator if we just destroy the SA.  To prevent this we
ignore the message and wait for the one by the correct responder.

6 years agoikev2: Allow tasks to verify request messages before processing them
Tobias Brunner [Thu, 21 May 2015 12:48:35 +0000 (14:48 +0200)]
ikev2: Allow tasks to verify request messages before processing them

6 years agoikev2: Allow tasks to verify response messages before processing them
Tobias Brunner [Thu, 21 May 2015 12:45:52 +0000 (14:45 +0200)]
ikev2: Allow tasks to verify response messages before processing them

6 years agotask: Add optional pre_process() method
Tobias Brunner [Thu, 21 May 2015 12:38:02 +0000 (14:38 +0200)]
task: Add optional pre_process() method

This will eventually allow tasks to pre-process and verify received

6 years agotesting: Add ikev2/redirect-active scenario
Tobias Brunner [Tue, 12 May 2015 14:53:04 +0000 (16:53 +0200)]
testing: Add ikev2/redirect-active scenario

6 years agoike-init: Ignore notifies related to redirects during rekeying
Tobias Brunner [Thu, 30 Apr 2015 10:57:19 +0000 (12:57 +0200)]
ike-init: Ignore notifies related to redirects during rekeying

Also don't query redirect providers in this case.

6 years agoike-sa: Add limit for the number of redirects within a defined time period
Tobias Brunner [Thu, 30 Apr 2015 10:44:56 +0000 (12:44 +0200)]
ike-sa: Add limit for the number of redirects within a defined time period

6 years agoike-sa: Reauthenticate to the same addresses we currently use
Tobias Brunner [Thu, 30 Apr 2015 10:26:41 +0000 (12:26 +0200)]
ike-sa: Reauthenticate to the same addresses we currently use

If the SA got redirected this would otherwise cause a reauthentication with
the original gateway.  Reestablishing the SA to the original gateway, if e.g.
the new gateway is not reachable makes sense though.

6 years agovici: Don't redirect all SAs if no selectors are given
Tobias Brunner [Tue, 12 May 2015 15:49:46 +0000 (17:49 +0200)]
vici: Don't redirect all SAs if no selectors are given

This avoid confusion and redirecting all SAs can now easily be done
explicitly (e.g. peer_ip=

6 years agovici: Match subnets and ranges against peer IP in redirect command
Tobias Brunner [Thu, 30 Apr 2015 08:56:27 +0000 (10:56 +0200)]
vici: Match subnets and ranges against peer IP in redirect command

6 years agovici: Match identity with wildcards against remote ID in redirect command
Tobias Brunner [Tue, 28 Apr 2015 16:33:31 +0000 (18:33 +0200)]
vici: Match identity with wildcards against remote ID in redirect command

6 years agoswanctl: Add --redirect command
Tobias Brunner [Tue, 28 Apr 2015 16:00:01 +0000 (18:00 +0200)]
swanctl: Add --redirect command

6 years agovici: Add redirect command
Tobias Brunner [Tue, 28 Apr 2015 15:45:52 +0000 (17:45 +0200)]
vici: Add redirect command

This allows redirecting IKE_SAs by multiple different selectors, if none
are given all SAs are redirected.

6 years agoredirect-job: Add job to redirect an active IKE_SA
Tobias Brunner [Tue, 28 Apr 2015 15:29:42 +0000 (17:29 +0200)]
redirect-job: Add job to redirect an active IKE_SA

6 years agoike-sa: Add redirect() method to actively redirect an IKE_SA
Tobias Brunner [Tue, 28 Apr 2015 12:50:11 +0000 (14:50 +0200)]
ike-sa: Add redirect() method to actively redirect an IKE_SA

6 years agoike-redirect: Add task to redirect active IKE_SAs
Tobias Brunner [Tue, 28 Apr 2015 12:10:43 +0000 (14:10 +0200)]
ike-redirect: Add task to redirect active IKE_SAs

6 years agoike-auth: Handle REDIRECT notifies during IKE_AUTH
Tobias Brunner [Fri, 24 Apr 2015 14:59:44 +0000 (16:59 +0200)]
ike-auth: Handle REDIRECT notifies during IKE_AUTH

6 years agoike-sa: Handle redirect requests for established SAs as reestablishment
Tobias Brunner [Fri, 24 Apr 2015 14:57:43 +0000 (16:57 +0200)]
ike-sa: Handle redirect requests for established SAs as reestablishment

We handle this similar to how we do reestablishing IKE_SAs with all CHILD_SAs,
which also includes the one actively queued during IKE_AUTH.

To delete the old SA we use the recently added ike_reauth_complete task.

6 years agoike-auth: Send REDIRECT notify during IKE_AUTH if requested by providers
Tobias Brunner [Thu, 23 Apr 2015 14:43:35 +0000 (16:43 +0200)]
ike-auth: Send REDIRECT notify during IKE_AUTH if requested by providers

To prevent the creation of the CHILD_SA we set a condition on the
IKE_SA.  We also schedule a delete job in case the client does not
terminate the IKE_SA (which is a SHOULD in RFC 5685).

6 years agoike-config: Do not assign attributes for redirected IKE_SAs
Tobias Brunner [Tue, 28 Apr 2015 16:15:35 +0000 (18:15 +0200)]
ike-config: Do not assign attributes for redirected IKE_SAs

6 years agochild-create: Don't create CHILD_SA if the IKE_SA got redirected in IKE_AUTH
Tobias Brunner [Thu, 23 Apr 2015 14:36:49 +0000 (16:36 +0200)]
child-create: Don't create CHILD_SA if the IKE_SA got redirected in IKE_AUTH

6 years agoike-sa: Add a condition to mark redirected IKE_SAs
Tobias Brunner [Thu, 23 Apr 2015 14:31:39 +0000 (16:31 +0200)]
ike-sa: Add a condition to mark redirected IKE_SAs

6 years agoike-init: Handle REDIRECTED_FROM similar to REDIRECT_SUPPORTED as server
Tobias Brunner [Thu, 23 Apr 2015 10:29:03 +0000 (12:29 +0200)]
ike-init: Handle REDIRECTED_FROM similar to REDIRECT_SUPPORTED as server

6 years agoike-init: Send REDIRECTED_FROM instead of REDIRECT_SUPPORTED if appropriate
Tobias Brunner [Thu, 23 Apr 2015 10:23:46 +0000 (12:23 +0200)]
ike-init: Send REDIRECTED_FROM instead of REDIRECT_SUPPORTED if appropriate

6 years agoike-sa: Keep track of the address of the gateway that redirected us
Tobias Brunner [Thu, 23 Apr 2015 10:16:21 +0000 (12:16 +0200)]
ike-sa: Keep track of the address of the gateway that redirected us

6 years agoikev2: Add option to disable following redirects as client
Tobias Brunner [Mon, 20 Apr 2015 15:36:45 +0000 (17:36 +0200)]
ikev2: Add option to disable following redirects as client

6 years agoikev2: Handle REDIRECT notifies during IKE_SA_INIT
Tobias Brunner [Thu, 23 Apr 2015 09:50:31 +0000 (11:50 +0200)]
ikev2: Handle REDIRECT notifies during IKE_SA_INIT

6 years agoike-init: Send REDIRECT notify during IKE_SA_INIT if requested by providers
Tobias Brunner [Wed, 22 Apr 2015 15:02:23 +0000 (17:02 +0200)]
ike-init: Send REDIRECT notify during IKE_SA_INIT if requested by providers

6 years agoredirect-manager: Add helper function to create and parse REDIRECT notify data
Tobias Brunner [Wed, 22 Apr 2015 12:34:53 +0000 (14:34 +0200)]
redirect-manager: Add helper function to create and parse REDIRECT notify data

The same encoding is also used for the REDIRECT_FROM notifies.

6 years agoredirect-manager: Verify type of returned gateway ID
Tobias Brunner [Wed, 22 Apr 2015 12:19:54 +0000 (14:19 +0200)]
redirect-manager: Verify type of returned gateway ID

6 years agoike-init: Send REDIRECT_SUPPORTED as initiator
Tobias Brunner [Mon, 20 Apr 2015 13:16:10 +0000 (15:16 +0200)]
ike-init: Send REDIRECT_SUPPORTED as initiator

6 years agoike-init: Enable redirection extension if client sends REDIRECT_SUPPORTED notify
Tobias Brunner [Mon, 20 Apr 2015 12:59:08 +0000 (14:59 +0200)]
ike-init: Enable redirection extension if client sends REDIRECT_SUPPORTED notify

6 years agoike-sa: Add new extension for IKEv2 redirection (RFC 5685)
Tobias Brunner [Mon, 20 Apr 2015 12:56:21 +0000 (14:56 +0200)]
ike-sa: Add new extension for IKEv2 redirection (RFC 5685)

6 years agodaemon: Create global redirect manager instance
Tobias Brunner [Mon, 20 Apr 2015 12:41:09 +0000 (14:41 +0200)]
daemon: Create global redirect manager instance

6 years agoredirect-manager: Add manager for redirect providers
Tobias Brunner [Mon, 20 Apr 2015 12:38:17 +0000 (14:38 +0200)]
redirect-manager: Add manager for redirect providers

6 years agoredirect-provider: Add interface to redirect clients during initial messages
Tobias Brunner [Mon, 20 Apr 2015 12:05:16 +0000 (14:05 +0200)]
redirect-provider: Add interface to redirect clients during initial messages

This will allow e.g. plugins to decide whether a connecting client is
redirected to a different gateway using RFC 5685.

6 years agoSet PLUTO port variables to 0 in the case of no port restrictions
Andreas Steffen [Fri, 4 Mar 2016 11:52:35 +0000 (12:52 +0100)]
Set PLUTO port variables to 0 in the case of no port restrictions

6 years agoAdded port range support to NEWS
Andreas Steffen [Fri, 4 Mar 2016 09:03:12 +0000 (10:03 +0100)]
Added port range support to NEWS

6 years agotesting: Added swanctl/protoport-range scenario
Andreas Steffen [Thu, 3 Mar 2016 14:01:12 +0000 (15:01 +0100)]
testing: Added swanctl/protoport-range scenario

6 years agoPort range support in updown script
Andreas Steffen [Thu, 3 Mar 2016 12:29:59 +0000 (13:29 +0100)]
Port range support in updown script

6 years agoImplemented port ranges in kernel_netlink interface
Andreas Steffen [Thu, 3 Mar 2016 11:24:41 +0000 (12:24 +0100)]
Implemented port ranges in kernel_netlink interface

6 years agothread: Allow thread ID to be value returned by gettid()
Thomas Egerer [Fri, 12 Feb 2016 16:09:47 +0000 (17:09 +0100)]
thread: Allow thread ID to be value returned by gettid()

Signed-off-by: Thomas Egerer <>
6 years agoRequest missing SWID tags in a directed PA-TNC message
Andreas Steffen [Fri, 4 Mar 2016 00:04:44 +0000 (01:04 +0100)]
Request missing SWID tags in a directed PA-TNC message

6 years agoMerge branch 'libhydra-bye-bye'
Tobias Brunner [Thu, 3 Mar 2016 16:39:27 +0000 (17:39 +0100)]
Merge branch 'libhydra-bye-bye'

Moves kernel plugins to libcharon and removes the unused libhydra.  The
kernel interface is now accessible under charon->kernel.

6 years agolibhydra: Remove empty unused library
Tobias Brunner [Fri, 12 Feb 2016 15:35:54 +0000 (16:35 +0100)]
libhydra: Remove empty unused library

6 years agolibhydra: Move kernel interface to libcharon
Tobias Brunner [Fri, 12 Feb 2016 14:30:18 +0000 (15:30 +0100)]
libhydra: Move kernel interface to libcharon

This moves hydra->kernel_interface to charon->kernel.

6 years agolibhydra: Move all kernel plugins to libcharon
Tobias Brunner [Fri, 12 Feb 2016 14:21:54 +0000 (15:21 +0100)]
libhydra: Move all kernel plugins to libcharon

6 years agoikev1: Send and verify IPv6 addresses correctly
Tobias Brunner [Wed, 10 Feb 2016 09:11:31 +0000 (10:11 +0100)]
ikev1: Send and verify IPv6 addresses correctly

According to the mode-config draft there is no prefix sent for
IPv6 addresses in IKEv1.  We still accept 17 bytes long addresses for
backwards compatibility with older strongSwan releases.

Fixes #1304.

6 years agoikev1: Allow immediate deletion of rekeyed CHILD_SAs
Tobias Brunner [Wed, 17 Feb 2016 16:31:51 +0000 (17:31 +0100)]
ikev1: Allow immediate deletion of rekeyed CHILD_SAs

When charon rekeys a CHILD_SA after a soft limit expired, it is only
deleted after the hard limit is reached.  In case of packet/byte limits
this may not be the case for a long time since the packets/bytes are
usually sent using the new SA.  This may result in a very large number of
stale CHILD_SAs and kernel states.  With enough connections configured this
will ultimately exhaust the memory of the system.

This patch adds a strongswan.conf setting that, if enabled, causes the old
CHILD_SA to be deleted by the initiator after a successful rekeying.

Enabling this setting might create problems with implementations that
continue to use rekeyed SAs (e.g. if the DELETE notify is lost).

6 years agoikev1: Avoid modifying local auth config when detecting pubkey method
Tobias Brunner [Thu, 17 Dec 2015 17:18:09 +0000 (18:18 +0100)]
ikev1: Avoid modifying local auth config when detecting pubkey method

If it was necessary to pass the local certificates we could probably
clone the config (but we don't do that either when later looking for the
key to actually authenticate).
Passing auth adds the same subject cert to the config over and over
again (I guess we could also try to prevent that by searching for

6 years agoforecast: Fix alignment when adding rules
Tobias Brunner [Mon, 30 Nov 2015 15:30:22 +0000 (16:30 +0100)]
forecast: Fix alignment when adding rules

Basically the same issue as with the connmark plugin.

Fixes #1212.

6 years agoconnmark: Fix alignment when adding rules
Tobias Brunner [Mon, 30 Nov 2015 15:04:35 +0000 (16:04 +0100)]
connmark: Fix alignment when adding rules

The structs that make up a message sent to the kernel have all to be
aligned with XT_ALIGN.  That was not necessarily the case when
initializing the complete message as struct.

Fixes #1212.

6 years agoike: Keep track of send keepalive jobs to avoid scheduling more than one per IKE_SA
Tobias Brunner [Mon, 16 Nov 2015 16:14:18 +0000 (17:14 +0100)]
ike: Keep track of send keepalive jobs to avoid scheduling more than one per IKE_SA

6 years agoike: Don't send NAT keepalives if we have no path to the other peer
Tobias Brunner [Mon, 16 Nov 2015 16:01:46 +0000 (17:01 +0100)]
ike: Don't send NAT keepalives if we have no path to the other peer

If there is no path to the other peer there is no point in trying to
send a NAT keepalive.

If the condition changes back and forth within the keepalive interval there
is a chance that multiple jobs get queued.

6 years agovici: Provide ports of local and remote IKE endpoints
Tobias Brunner [Tue, 19 Jan 2016 12:34:11 +0000 (13:34 +0100)]
vici: Provide ports of local and remote IKE endpoints

6 years agoduplicheck: Include required headers for FreeBSD
Denis Volpato Martins [Thu, 25 Feb 2016 13:52:59 +0000 (10:52 -0300)]
duplicheck: Include required headers for FreeBSD

Closes strongswan/strongswan#34.

6 years agocharon: Add custom logger to daemon
Thomas Egerer [Mon, 1 Feb 2016 13:52:49 +0000 (14:52 +0100)]
charon: Add custom logger to daemon

This logger can be used to easily register custom logging instances
using __attribute__((constructor)) benefiting from the global reload
mechanism (with reset of log levels).

Note that this is not intended to be used from plugins, which are loaded
after loggers have already been initialized.

Signed-off-by: Thomas Egerer <>
6 years agovici: Correctly document 'up' key for updown events
Tobias Brunner [Wed, 3 Feb 2016 15:33:24 +0000 (16:33 +0100)]
vici: Correctly document 'up' key for updown events

Instead of sending 'no' it is omitted when an SA goes down.

6 years agoikev2: Use config value for sending of vendor IDs
Thomas Egerer [Tue, 2 Feb 2016 16:01:50 +0000 (17:01 +0100)]
ikev2: Use config value for sending of vendor IDs

Signed-off-by: Thomas Egerer <>
6 years agoswanctl: Fix minor typos in documentation
Chris Patterson [Fri, 26 Feb 2016 14:32:39 +0000 (09:32 -0500)]
swanctl: Fix minor typos in documentation

"UPD" should be "UDP".

Signed-off-by: Chris Patterson <>
6 years agotesting: Added swanctl/shunt-policies-nat-rw
Andreas Steffen [Sun, 28 Feb 2016 21:25:50 +0000 (22:25 +0100)]
testing: Added swanctl/shunt-policies-nat-rw

6 years agotesting: Some minor fixes in test scenarios
Andreas Steffen [Sun, 28 Feb 2016 21:25:21 +0000 (22:25 +0100)]
testing: Some minor fixes in test scenarios

6 years agoVersion bump to 5.4.0dr7 5.4.0dr7
Andreas Steffen [Sun, 28 Feb 2016 14:56:06 +0000 (15:56 +0100)]
Version bump to 5.4.0dr7

6 years agotesting: Added swanctl/protoport-dual scenario
Andreas Steffen [Sun, 28 Feb 2016 13:33:48 +0000 (14:33 +0100)]
testing: Added swanctl/protoport-dual scenario

6 years agotesting: converted af-alg scenarios to swanctl
Andreas Steffen [Fri, 26 Feb 2016 12:31:36 +0000 (13:31 +0100)]
testing: converted af-alg scenarios to swanctl

6 years agotesting: Use absolute path to the _updown script in SQL scenarios
Tobias Brunner [Wed, 17 Feb 2016 10:55:45 +0000 (11:55 +0100)]
testing: Use absolute path to the _updown script in SQL scenarios

/usr/local/sbin is not included in PATH set by the charon init script and
since the ipsec script is obsolete when using swanctl it makes sense to
change this anyway.

6 years agoike-sa-manager: Store a reference to the thread that checked out an IKE_SA
Tobias Brunner [Wed, 10 Feb 2016 15:41:52 +0000 (16:41 +0100)]
ike-sa-manager: Store a reference to the thread that checked out an IKE_SA

This could be helpful when debugging deadlocks that manifest around
wait_for_entry(), as it helps identifying other involved threads (the
thread object is seen in the thread_main() call in each thread's backtrace).

6 years agotesting: Increased ping interval in ikev2/trap-any scenario
Andreas Steffen [Tue, 16 Feb 2016 17:21:19 +0000 (18:21 +0100)]
testing: Increased ping interval in ikev2/trap-any scenario

6 years agoVersion bump to 5.4.0dr6 5.4.0dr6
Andreas Steffen [Tue, 16 Feb 2016 17:17:44 +0000 (18:17 +0100)]
Version bump to 5.4.0dr6

6 years agoCorrected the description of the swanctl/dhcp-dynamic scenario
Andreas Steffen [Tue, 16 Feb 2016 17:17:17 +0000 (18:17 +0100)]
Corrected the description of the swanctl/dhcp-dynamic scenario

6 years agoFix of the mutual TNC measurement use case
Andreas Steffen [Tue, 16 Feb 2016 17:00:27 +0000 (18:00 +0100)]
Fix of the mutual TNC measurement use case

If the IKEv2 initiator acting as a TNC server receives invalid TNC measurements
from the IKEv2 responder acting as a TNC clienti, the exchange of PB-TNC batches
is continued until the IKEv2 responder acting as a TNC server has also finished
its TNC measurements.

In the past if these measurements in the other direction were correct
the IKEv2 responder acting as EAP server declared the IKEv2 EAP authentication
successful and the IPsec connection was established even though the TNC
measurement verification on the EAP peer side failed.

The fix adds an "allow" group membership on each endpoint if the corresponding
TNC measurements of the peer are successful. By requiring a "allow" group
membership in the IKEv2 connection definition the IPsec connection succeeds
only if the TNC measurements on both sides are valid.

6 years agokernel-netlink: Allow Netlink send buffer size to be configured via compile option
Tobias Brunner [Fri, 12 Feb 2016 14:08:34 +0000 (15:08 +0100)]
kernel-netlink: Allow Netlink send buffer size to be configured via compile option

The receive buffer size can already be changed via strongswan.conf if