strongswan.git
7 years agoSome updates to the INSTALL document.
Tobias Brunner [Wed, 13 Jun 2012 10:24:23 +0000 (12:24 +0200)]
Some updates to the INSTALL document.

7 years agoRemoved remaining pluto related configure options.
Tobias Brunner [Wed, 13 Jun 2012 09:33:32 +0000 (11:33 +0200)]
Removed remaining pluto related configure options.

7 years agostarter: Print additional help texts for selected deprecated keywords.
Tobias Brunner [Tue, 12 Jun 2012 11:59:05 +0000 (13:59 +0200)]
starter: Print additional help texts for selected deprecated keywords.

7 years agostarter: Improved how deprecated keywords are handled.
Tobias Brunner [Tue, 12 Jun 2012 11:57:47 +0000 (13:57 +0200)]
starter: Improved how deprecated keywords are handled.

We only throw a warning now instead of rejecting the config.

7 years agoRevert "starter: Don't treat unsupported keywords as fatal errors just report them."
Tobias Brunner [Tue, 12 Jun 2012 09:42:00 +0000 (11:42 +0200)]
Revert "starter: Don't treat unsupported keywords as fatal errors just report them."

This reverts commit e55876a657ae9d4bbf14320e5a14f86cc5c31c7f.

7 years agoNEWS about specifying trustchain HASH algorithm requirements
Martin Willi [Tue, 12 Jun 2012 12:43:55 +0000 (14:43 +0200)]
NEWS about specifying trustchain HASH algorithm requirements

7 years agoAdd documentation for signature hash algorithm enforcing to man ipsec.conf
Martin Willi [Mon, 11 Jun 2012 13:48:03 +0000 (15:48 +0200)]
Add documentation for signature hash algorithm enforcing to man ipsec.conf

7 years agoAdded signature scheme options left/rightauth
Martin Willi [Fri, 8 Jun 2012 15:04:14 +0000 (17:04 +0200)]
Added signature scheme options left/rightauth

7 years agoSupport multiple different public key strength types in constraints
Martin Willi [Tue, 12 Jun 2012 12:19:11 +0000 (14:19 +0200)]
Support multiple different public key strength types in constraints

7 years agoAdd signature schemes to auth_cfg during trustchain validation
Martin Willi [Mon, 11 Jun 2012 12:52:37 +0000 (14:52 +0200)]
Add signature schemes to auth_cfg during trustchain validation

7 years agocertificate_t->issued_by takes an argument to receive signature scheme
Martin Willi [Mon, 11 Jun 2012 12:33:34 +0000 (14:33 +0200)]
certificate_t->issued_by takes an argument to receive signature scheme

7 years agoDefine auth_cfg rules for signature schemes
Martin Willi [Fri, 8 Jun 2012 14:47:08 +0000 (16:47 +0200)]
Define auth_cfg rules for signature schemes

7 years agostarter: Fixed parsing of left|right=%any.
Tobias Brunner [Tue, 12 Jun 2012 08:12:53 +0000 (10:12 +0200)]
starter: Fixed parsing of left|right=%any.

7 years agodeleted IKEv1 charon-pluto interoperability scenarios
Andreas Steffen [Tue, 12 Jun 2012 08:00:21 +0000 (10:00 +0200)]
deleted IKEv1 charon-pluto interoperability scenarios

7 years agostarter: Fix comparison of connections.
Tobias Brunner [Wed, 16 May 2012 15:18:27 +0000 (17:18 +0200)]
starter: Fix comparison of connections.

7 years agostarter: Removed all unsupported keywords.
Tobias Brunner [Wed, 16 May 2012 14:56:49 +0000 (16:56 +0200)]
starter: Removed all unsupported keywords.

7 years agostarter: Don't treat unsupported keywords as fatal errors just report them.
Tobias Brunner [Wed, 16 May 2012 14:25:32 +0000 (16:25 +0200)]
starter: Don't treat unsupported keywords as fatal errors just report them.

7 years agoBye bye Pluto!
Tobias Brunner [Tue, 15 May 2012 14:59:00 +0000 (16:59 +0200)]
Bye bye Pluto!

Charon will take over IKEv1 duties from here.  This also removes
libfreeswan and whack.

7 years ago_copyright: Replicate copyright text here instead of calling libfreeswan.
Tobias Brunner [Tue, 15 May 2012 15:12:59 +0000 (17:12 +0200)]
_copyright: Replicate copyright text here instead of calling libfreeswan.

7 years agostarter: Remove all ties to pluto/libfreeswan.
Tobias Brunner [Tue, 15 May 2012 14:37:02 +0000 (16:37 +0200)]
starter: Remove all ties to pluto/libfreeswan.

Moved some types/constants in the process.

7 years agostarter: Use custom type for SA specific options (flags).
Tobias Brunner [Tue, 15 May 2012 14:31:46 +0000 (16:31 +0200)]
starter: Use custom type for SA specific options (flags).

7 years agostarter: Parse left|rightprotoport directly in confread.c.
Tobias Brunner [Tue, 15 May 2012 14:20:15 +0000 (16:20 +0200)]
starter: Parse left|rightprotoport directly in confread.c.

7 years agostarter: No special handling for left|rightsubnet, just pass it on as string.
Tobias Brunner [Tue, 15 May 2012 13:10:23 +0000 (15:10 +0200)]
starter: No special handling for left|rightsubnet, just pass it on as string.

7 years agostarter: Use host_t to parse left|rightsourceip.
Tobias Brunner [Tue, 15 May 2012 13:04:11 +0000 (15:04 +0200)]
starter: Use host_t to parse left|rightsourceip.

Also for the yet unused natip option.

7 years agostarter: Remove left|rightsubnetwithin option (charon narrows left|rightsubnet down...
Tobias Brunner [Tue, 15 May 2012 13:00:15 +0000 (15:00 +0200)]
starter: Remove left|rightsubnetwithin option (charon narrows left|rightsubnet down accordingly).

7 years agostarter: Don't resolve any addresses in starter.
Tobias Brunner [Tue, 15 May 2012 11:51:59 +0000 (13:51 +0200)]
starter: Don't resolve any addresses in starter.

Also removed remains of some unknown iface option.

7 years agostarter: Removed pfs and pfsgroup options (handled via esp option).
Tobias Brunner [Tue, 15 May 2012 11:26:49 +0000 (13:26 +0200)]
starter: Removed pfs and pfsgroup options (handled via esp option).

7 years agostarter: Store mode of the IPsec SA/policy in a separate member.
Tobias Brunner [Tue, 15 May 2012 11:12:45 +0000 (13:12 +0200)]
starter: Store mode of the IPsec SA/policy in a separate member.

7 years agostarter: Use custom type to mark seen keywords.
Tobias Brunner [Tue, 15 May 2012 08:41:08 +0000 (10:41 +0200)]
starter: Use custom type to mark seen keywords.

7 years agostarter: Remove left|rightnexthop option.
Tobias Brunner [Mon, 14 May 2012 16:27:53 +0000 (18:27 +0200)]
starter: Remove left|rightnexthop option.

Charon does this lookup dynamically.

7 years agoImplement strdupnull() macro as static inline function.
Tobias Brunner [Mon, 14 May 2012 16:04:09 +0000 (18:04 +0200)]
Implement strdupnull() macro as static inline function.

This avoids compiler warnings if the argument is a const char*.

7 years agostarter: Replaced all usages of clone_str() with strdupnull().
Tobias Brunner [Mon, 14 May 2012 15:50:34 +0000 (17:50 +0200)]
starter: Replaced all usages of clone_str() with strdupnull().

7 years agostarter: Parse authby as string.
Tobias Brunner [Mon, 14 May 2012 15:36:46 +0000 (17:36 +0200)]
starter: Parse authby as string.

7 years agostarter: Remove main parts of pluto support (invoke, whack).
Tobias Brunner [Mon, 14 May 2012 15:33:03 +0000 (17:33 +0200)]
starter: Remove main parts of pluto support (invoke, whack).

7 years agostarter: Drop support for %defaultroute.
Tobias Brunner [Mon, 14 May 2012 10:17:50 +0000 (12:17 +0200)]
starter: Drop support for %defaultroute.

7 years agostarter: Migrated logging to libstrongswan.
Tobias Brunner [Mon, 14 May 2012 09:22:57 +0000 (11:22 +0200)]
starter: Migrated logging to libstrongswan.

7 years agostarter: Remove unneeded starter_exec function.
Tobias Brunner [Mon, 14 May 2012 09:01:35 +0000 (11:01 +0200)]
starter: Remove unneeded starter_exec function.

7 years agoscepclient: Option added to read PKCS#10 certificate request from a file.
Tobias Brunner [Fri, 1 Jun 2012 13:25:59 +0000 (15:25 +0200)]
scepclient: Option added to read PKCS#10 certificate request from a file.

7 years agoscepclient: Option added to read self-signed certificate from a file.
Tobias Brunner [Fri, 1 Jun 2012 12:43:12 +0000 (14:43 +0200)]
scepclient: Option added to read self-signed certificate from a file.

7 years agoscepclient: Generate uppercase transaction ID.
Tobias Brunner [Wed, 30 May 2012 13:04:31 +0000 (15:04 +0200)]
scepclient: Generate uppercase transaction ID.

7 years agoscepclient: Use HTTP 1.0 for all requests.
Tobias Brunner [Wed, 30 May 2012 13:02:32 +0000 (15:02 +0200)]
scepclient: Use HTTP 1.0 for all requests.

7 years agoscepclient: Options added to specify digest/signature algorithms.
Tobias Brunner [Wed, 30 May 2012 12:54:51 +0000 (14:54 +0200)]
scepclient: Options added to specify digest/signature algorithms.

Also changed the defaults to DES/MD5 as that's what should be used
if GetCACaps is not used to learn the issuers capabilities.

7 years agoAdded function to convert integrity algorithms to hash algorithms (if based on one).
Tobias Brunner [Wed, 30 May 2012 12:46:24 +0000 (14:46 +0200)]
Added function to convert integrity algorithms to hash algorithms (if based on one).

7 years agoProperly encode 0 in ASN.1.
Tobias Brunner [Sat, 12 May 2012 16:21:32 +0000 (18:21 +0200)]
Properly encode 0 in ASN.1.

According to X.690 an INTEGER object always has at least one content
octet.

7 years agoDon't use chunk_skip() in asn1_length().
Tobias Brunner [Fri, 11 May 2012 14:05:55 +0000 (16:05 +0200)]
Don't use chunk_skip() in asn1_length().

chunk_skip() returns chunk_empty if the length of the chunk is equal to
the number of bytes to skip, this is problematic as asn1_length() modifies
the original chunk.  asn1_parser_t for instance uses the modified chunk to
later calculate the length of the resulting ASN.1 object which produces
incorrect results if it is based on chunk_empty.

7 years agoChanged memory management and call logic in PKCS#7 parser/generator.
Tobias Brunner [Sat, 12 May 2012 16:15:50 +0000 (18:15 +0200)]
Changed memory management and call logic in PKCS#7 parser/generator.

7 years agoChanged memory management and attribute handling in PKCS#9 wrapper.
Tobias Brunner [Fri, 11 May 2012 15:28:03 +0000 (17:28 +0200)]
Changed memory management and attribute handling in PKCS#9 wrapper.

7 years agoscepclient: Also number CA certificates in case there is more than one.
Tobias Brunner [Fri, 11 May 2012 07:47:56 +0000 (09:47 +0200)]
scepclient: Also number CA certificates in case there is more than one.

Also, only number them if there are multiple certificates.

7 years agoscepclient: Store received RA certificates, using CA cert name as base.
Tobias Brunner [Thu, 10 May 2012 16:16:08 +0000 (18:16 +0200)]
scepclient: Store received RA certificates, using CA cert name as base.

7 years agoscepclient: Use pkcs7_t and pkcs9_t, remove all dependencies to pluto/libfreeswan.
Tobias Brunner [Fri, 11 May 2012 18:31:19 +0000 (20:31 +0200)]
scepclient: Use pkcs7_t and pkcs9_t, remove all dependencies to pluto/libfreeswan.

7 years agoAdded get_attributes() method to pkcs7_t.
Tobias Brunner [Fri, 4 May 2012 17:29:59 +0000 (19:29 +0200)]
Added get_attributes() method to pkcs7_t.

7 years agoscepclient: Local generation of file names.
Tobias Brunner [Fri, 4 May 2012 17:29:07 +0000 (19:29 +0200)]
scepclient: Local generation of file names.

7 years agoscepclient: Replaced usages of datatot().
Tobias Brunner [Fri, 4 May 2012 17:26:31 +0000 (19:26 +0200)]
scepclient: Replaced usages of datatot().

7 years agoscepclient: Migrated logging to libstrongswan.
Tobias Brunner [Fri, 4 May 2012 13:27:06 +0000 (15:27 +0200)]
scepclient: Migrated logging to libstrongswan.

7 years agoLog group added for applications other than daemons.
Tobias Brunner [Fri, 4 May 2012 13:22:43 +0000 (15:22 +0200)]
Log group added for applications other than daemons.

7 years agoscepclient: Some code cleanup.
Tobias Brunner [Fri, 4 May 2012 12:17:59 +0000 (14:17 +0200)]
scepclient: Some code cleanup.

7 years agoUpdated PKCS#7 parser/generator in libstrongswan.
Tobias Brunner [Fri, 4 May 2012 10:50:21 +0000 (12:50 +0200)]
Updated PKCS#7 parser/generator in libstrongswan.

Added some functionality from pluto's version, updated usage of asn1
and crypto primitives. It does compile but is not really tested yet.

7 years agoadded missing parameter in get_my_addr() and get_other_addr() calls
Andreas Steffen [Sat, 9 Jun 2012 12:06:45 +0000 (14:06 +0200)]
added missing parameter in get_my_addr() and get_other_addr() calls

7 years agoversion bump to 5.0.0rc1
Andreas Steffen [Sat, 9 Jun 2012 12:05:08 +0000 (14:05 +0200)]
version bump to 5.0.0rc1

7 years agoadded ikev1/dynamic scenarios using allow-any
Andreas Steffen [Fri, 8 Jun 2012 20:54:12 +0000 (22:54 +0200)]
added ikev1/dynamic scenarios using allow-any

7 years agoremoved whitespace
Andreas Steffen [Fri, 8 Jun 2012 20:34:49 +0000 (22:34 +0200)]
removed whitespace

7 years agoadded ikev2/dynamic-two-peers scenario
Andreas Steffen [Fri, 8 Jun 2012 19:52:20 +0000 (21:52 +0200)]
added ikev2/dynamic-two-peers scenario

7 years agoadded ikev2/dynamic-responder scenario
Andreas Steffen [Fri, 8 Jun 2012 19:21:28 +0000 (21:21 +0200)]
added ikev2/dynamic-responder scenario

7 years agoadded ikev2/dynamic-initiator scenario
Andreas Steffen [Fri, 8 Jun 2012 14:12:15 +0000 (16:12 +0200)]
added ikev2/dynamic-initiator scenario

7 years agoimplemented the right|leftallowany feature
Andreas Steffen [Fri, 8 Jun 2012 11:01:08 +0000 (13:01 +0200)]
implemented the right|leftallowany feature

7 years agoEnforce uniqueness policy in IKEv1 main and aggressive modes
Martin Willi [Fri, 8 Jun 2012 14:15:22 +0000 (16:15 +0200)]
Enforce uniqueness policy in IKEv1 main and aggressive modes

7 years agostarter: Go back to single threaded mode.
Tobias Brunner [Thu, 7 Jun 2012 10:02:14 +0000 (12:02 +0200)]
starter: Go back to single threaded mode.

Mixing multiple threads and fork(2) wasn't a very good idea it seems.
At least in some environments this caused strange side-effects.

7 years agoDisabled listening for kernel events in starter.
Tobias Brunner [Thu, 7 Jun 2012 10:00:37 +0000 (12:00 +0200)]
Disabled listening for kernel events in starter.

7 years agoTry to rekey without KE exchange if peer returns INVALID_KE_PAYLOAD(NONE)
Martin Willi [Fri, 8 Jun 2012 08:35:02 +0000 (10:35 +0200)]
Try to rekey without KE exchange if peer returns INVALID_KE_PAYLOAD(NONE)

According to RFC5996, implementations should just ignore the KE payload
if they select a non-PFS proposals. Some implementations don't, but
return MODP_NONE in INVALID_KE_PAYLOAD, hence we accept that, too.

7 years agoWhile checking for redundant quick modes, compare traffic selectors
Martin Willi [Fri, 8 Jun 2012 08:18:52 +0000 (10:18 +0200)]
While checking for redundant quick modes, compare traffic selectors

If a configuration is instanced more than once using narrowing,
we should keep all unique quick modes up during rekeying.

7 years agoStore shorter soft lifetime of in- and outbound SAs only
Martin Willi [Tue, 5 Jun 2012 14:16:07 +0000 (16:16 +0200)]
Store shorter soft lifetime of in- and outbound SAs only

7 years agoInitiate quick mode rekeying with narrowed traffic selectors
Martin Willi [Tue, 5 Jun 2012 13:32:28 +0000 (15:32 +0200)]
Initiate quick mode rekeying with narrowed traffic selectors

7 years agoUse traffic selectors passed to quick mode constructor as initiator
Martin Willi [Tue, 5 Jun 2012 13:27:34 +0000 (15:27 +0200)]
Use traffic selectors passed to quick mode constructor as initiator

7 years agoInstead of rekeying, delete a quick mode if we have a fresher instance
Martin Willi [Tue, 5 Jun 2012 13:03:10 +0000 (15:03 +0200)]
Instead of rekeying, delete a quick mode if we have a fresher instance

If both peers initiate quick mode rekeying simultaneously, we end up
with duplicate SAs for a configuration. This can't be avoided, nor do
the standards provide an appropriate solution. Instead of closing one
SA immediately, we keep both. But once rekeying triggers, we don't
refresh the SA with the shorter soft lifetime, but delete it.

7 years agoProperly handle empty RDN values in DN strings.
Tobias Brunner [Thu, 7 Jun 2012 14:50:11 +0000 (16:50 +0200)]
Properly handle empty RDN values in DN strings.

7 years agoProperly install policies with ports in PF_KEY kernel interface.
Tobias Brunner [Thu, 7 Jun 2012 12:36:17 +0000 (14:36 +0200)]
Properly install policies with ports in PF_KEY kernel interface.

7 years agoAs responder, enforce the same configuration while rekeying CHILD_SAs
Martin Willi [Wed, 6 Jun 2012 14:00:58 +0000 (16:00 +0200)]
As responder, enforce the same configuration while rekeying CHILD_SAs

7 years agostarter: Only handle SIGCHLD asynchronously and the rest in pselect(2).
Tobias Brunner [Wed, 6 Jun 2012 12:23:25 +0000 (14:23 +0200)]
starter: Only handle SIGCHLD asynchronously and the rest in pselect(2).

7 years agoShow expiration time of rekeyed CHILD_SAs in statusall
Martin Willi [Tue, 5 Jun 2012 08:29:06 +0000 (10:29 +0200)]
Show expiration time of rekeyed CHILD_SAs in statusall

7 years agostarter: (De-)Initialize logging when forking.
Tobias Brunner [Mon, 4 Jun 2012 10:55:05 +0000 (12:55 +0200)]
starter: (De-)Initialize logging when forking.

7 years agostarter: Close open file descriptors when forking daemons.
Tobias Brunner [Thu, 31 May 2012 14:44:03 +0000 (16:44 +0200)]
starter: Close open file descriptors when forking daemons.

7 years agostarter: Changed signal handling now that starter is multi-threaded.
Tobias Brunner [Thu, 31 May 2012 13:53:47 +0000 (15:53 +0200)]
starter: Changed signal handling now that starter is multi-threaded.

7 years agoMark CHILD_SAs used for trap policies to uninstall them properly.
Tobias Brunner [Mon, 4 Jun 2012 15:43:38 +0000 (17:43 +0200)]
Mark CHILD_SAs used for trap policies to uninstall them properly.

If the installation failed the state is not CHILD_ROUTED which means the
wrong priority is used to uninstall the policies.  This is a problem for
kernel interfaces that keep track of installed policies as now the proper
policy is not found (if the priority is considered).

7 years agoNEWS for 4.6.4 added.
Tobias Brunner [Mon, 28 May 2012 10:44:38 +0000 (12:44 +0200)]
NEWS for 4.6.4 added.

7 years agoFixed return values of several functions (e.g. return FALSE for pointer types).
Tobias Brunner [Mon, 7 May 2012 13:47:00 +0000 (15:47 +0200)]
Fixed return values of several functions (e.g. return FALSE for pointer types).

7 years agoFix boolean return value if an empty RSA signature is detected in gmp plugin
Martin Willi [Mon, 7 May 2012 11:51:46 +0000 (13:51 +0200)]
Fix boolean return value if an empty RSA signature is detected in gmp plugin

Fixes CVE-2012-2388.

7 years agoAvoid queueing more than one retry initiate job.
Tobias Brunner [Fri, 25 May 2012 14:09:31 +0000 (16:09 +0200)]
Avoid queueing more than one retry initiate job.

7 years agoRetry IKE_SA initiation if DNS resolution failed.
Tobias Brunner [Fri, 25 May 2012 13:30:32 +0000 (15:30 +0200)]
Retry IKE_SA initiation if DNS resolution failed.

This is disabled by default and can be enabled with the
charon.retry_initiate_interval option in strongswan.conf.

7 years agoJob added to re-initiate an IKE_SA.
Tobias Brunner [Fri, 25 May 2012 13:24:57 +0000 (15:24 +0200)]
Job added to re-initiate an IKE_SA.

7 years agoadded nonce plugin to gcrypt scenarios
Andreas Steffen [Wed, 30 May 2012 05:21:03 +0000 (07:21 +0200)]
added nonce plugin to gcrypt scenarios

7 years agoupgraded ipv6 scenarios to 5.0.0
Andreas Steffen [Tue, 29 May 2012 21:40:01 +0000 (23:40 +0200)]
upgraded ipv6 scenarios to 5.0.0

7 years agoFix MOBIKE address update if responder address changed.
Tobias Brunner [Wed, 9 May 2012 15:53:34 +0000 (17:53 +0200)]
Fix MOBIKE address update if responder address changed.

Use the source address of the current MOBIKE message as peer address
instead of assuming the address cached on the IKE_SA is still valid.

7 years agoResolve hosts before reauthenticating due to address change.
Tobias Brunner [Wed, 9 May 2012 13:46:17 +0000 (15:46 +0200)]
Resolve hosts before reauthenticating due to address change.

7 years agoDon't queue delete_ike_sa job when setting IKE_DELETING.
Tobias Brunner [Wed, 9 May 2012 13:28:29 +0000 (15:28 +0200)]
Don't queue delete_ike_sa job when setting IKE_DELETING.

This avoids deleting IKE_SAs during reauthentication (without
trying to reestablish them).

7 years agoDuring reauthentication reestablish IKE_SA even if deleting the old one fails.
Tobias Brunner [Wed, 9 May 2012 13:15:43 +0000 (15:15 +0200)]
During reauthentication reestablish IKE_SA even if deleting the old one fails.

7 years agoIntegrated main parts of IKE_REAUTH task into ike_sa_t.reestablish.
Tobias Brunner [Wed, 9 May 2012 13:14:34 +0000 (15:14 +0200)]
Integrated main parts of IKE_REAUTH task into ike_sa_t.reestablish.

7 years agoFixed route lookup in case MOBIKE is not enabled.
Tobias Brunner [Tue, 8 May 2012 14:48:51 +0000 (16:48 +0200)]
Fixed route lookup in case MOBIKE is not enabled.

7 years agoenable xauth-eap plugin in UML scenarios
Andreas Steffen [Fri, 25 May 2012 15:02:39 +0000 (17:02 +0200)]
enable xauth-eap plugin in UML scenarios

7 years agoadded nonce plugin in default host configurations
Andreas Steffen [Fri, 25 May 2012 15:00:03 +0000 (17:00 +0200)]
added nonce plugin in default host configurations

7 years agoupgraded ike scenarios to 5.0.0
Andreas Steffen [Fri, 25 May 2012 14:58:17 +0000 (16:58 +0200)]
upgraded ike scenarios to 5.0.0