strongswan.git
7 years agoProperly handle situation if no resolver plugins are loaded
Tobias Brunner [Mon, 1 Apr 2013 11:44:04 +0000 (13:44 +0200)]
Properly handle situation if no resolver plugins are loaded

7 years agofixed capability metadata
Andreas Steffen [Sun, 31 Mar 2013 20:15:42 +0000 (22:15 +0200)]
fixed capability metadata

7 years agofix start of wpa_supplicant
Andreas Steffen [Sun, 31 Mar 2013 17:48:00 +0000 (19:48 +0200)]
fix start of wpa_supplicant

7 years agoupdated strongswan.conf man page for tn_ifmap plugin
Andreas Steffen [Sun, 31 Mar 2013 17:05:53 +0000 (19:05 +0200)]
updated strongswan.conf man page for tn_ifmap plugin

7 years agorenamed tnc_ifmap2 plugin to tnc_ifmap
Andreas Steffen [Sun, 31 Mar 2013 14:37:30 +0000 (16:37 +0200)]
renamed tnc_ifmap2 plugin to tnc_ifmap

7 years agoremoved obsoleted tnc_ifmap plugin
Andreas Steffen [Sun, 31 Mar 2013 14:07:08 +0000 (16:07 +0200)]
removed obsoleted tnc_ifmap plugin

7 years agoimplemented http basic authentication
Andreas Steffen [Sun, 31 Mar 2013 13:59:32 +0000 (15:59 +0200)]
implemented http basic authentication

7 years agoparse IF-MAP server URI
Andreas Steffen [Sun, 31 Mar 2013 09:39:06 +0000 (11:39 +0200)]
parse IF-MAP server URI

7 years agoimplemented publish_enforcement_report and endSession methods
Andreas Steffen [Sat, 30 Mar 2013 12:19:27 +0000 (13:19 +0100)]
implemented publish_enforcement_report and endSession methods

7 years agoimplemented publish_ike_sa method
Andreas Steffen [Sat, 30 Mar 2013 08:15:16 +0000 (09:15 +0100)]
implemented publish_ike_sa method

7 years agoifmap message type is known
Andreas Steffen [Sat, 30 Mar 2013 07:22:33 +0000 (08:22 +0100)]
ifmap message type is known

7 years agoimplemented publish_device_ip method
Andreas Steffen [Sat, 30 Mar 2013 07:11:10 +0000 (08:11 +0100)]
implemented publish_device_ip method

7 years agoadded IF-MAP SOAP error handling
Andreas Steffen [Sat, 30 Mar 2013 07:10:39 +0000 (08:10 +0100)]
added IF-MAP SOAP error handling

7 years agocreated tnc_ifmap2_soap_msg class
Andreas Steffen [Fri, 29 Mar 2013 22:09:11 +0000 (23:09 +0100)]
created tnc_ifmap2_soap_msg class

7 years agoimplement NewSession and PurgePublisher messages using the libxml2 library
Andreas Steffen [Fri, 29 Mar 2013 21:29:12 +0000 (22:29 +0100)]
implement NewSession and PurgePublisher messages using the libxml2 library

7 years agoset up a new IF-MAP session
Andreas Steffen [Fri, 29 Mar 2013 08:42:06 +0000 (09:42 +0100)]
set up a new IF-MAP session

7 years agofixed typo
Andreas Steffen [Wed, 27 Mar 2013 21:56:37 +0000 (22:56 +0100)]
fixed typo

7 years agoFixed Doxygen comment in eap_radius plugin
Tobias Brunner [Wed, 27 Mar 2013 10:07:06 +0000 (11:07 +0100)]
Fixed Doxygen comment in eap_radius plugin

7 years agoFix detection and use of netinet/ip6.h on FreeBSD
Tobias Brunner [Wed, 27 Mar 2013 08:56:48 +0000 (09:56 +0100)]
Fix detection and use of netinet/ip6.h on FreeBSD

7 years agoDon't set USE_ATTR_SQL when the sql plugin is enabled only
Tobias Brunner [Wed, 27 Mar 2013 06:47:53 +0000 (07:47 +0100)]
Don't set USE_ATTR_SQL when the sql plugin is enabled only

7 years agoMake some private functions in plugins static
Tobias Brunner [Wed, 27 Mar 2013 06:31:57 +0000 (07:31 +0100)]
Make some private functions in plugins static

Fixes monolithic build.

7 years agoUse new strongSwan HA kernel patchset keeping iptables ABI
Martin Willi [Fri, 22 Mar 2013 10:33:51 +0000 (11:33 +0100)]
Use new strongSwan HA kernel patchset keeping iptables ABI

Allows us to install stock debian iptables without the need for patching and
compiling our own.

7 years agoDefine SSHCONF from strongswan testing directory, not TESTDIR
Martin Willi [Fri, 22 Mar 2013 10:30:59 +0000 (11:30 +0100)]
Define SSHCONF from strongswan testing directory, not TESTDIR

This fixes the use of SSHCONF in the ssh wrapper script before ./do-tests
had a chance to create the required symlinks.

7 years agoLazy unmount guest filesystem after building image, as it still might be busy
Martin Willi [Fri, 22 Mar 2013 10:27:37 +0000 (11:27 +0100)]
Lazy unmount guest filesystem after building image, as it still might be busy

7 years agocrypt_burn: Proper cleanup
Tobias Brunner [Mon, 25 Mar 2013 17:04:38 +0000 (18:04 +0100)]
crypt_burn: Proper cleanup

7 years agocrypt_burn: Fix loop condition for regular crypters
Tobias Brunner [Mon, 25 Mar 2013 17:02:07 +0000 (18:02 +0100)]
crypt_burn: Fix loop condition for regular crypters

7 years agolibpts: Cast first argument for %.*s to int
Tobias Brunner [Mon, 25 Mar 2013 16:37:52 +0000 (17:37 +0100)]
libpts: Cast first argument for %.*s to int

7 years agoerror-notify: Close file descriptors in case clients are still connected
Tobias Brunner [Mon, 25 Mar 2013 16:33:45 +0000 (17:33 +0100)]
error-notify: Close file descriptors in case clients are still connected

7 years agolibpttls: Destroy reader when handling errors during SASL
Tobias Brunner [Mon, 25 Mar 2013 16:19:51 +0000 (17:19 +0100)]
libpttls: Destroy reader when handling errors during SASL

7 years agopacman: Define gen_time out of the loop
Tobias Brunner [Mon, 25 Mar 2013 16:13:49 +0000 (17:13 +0100)]
pacman: Define gen_time out of the loop

It gets assigned if count==3 but only used later when count >= 7.

7 years agoipseckey: NULL pointer dereference fixed in error case
Tobias Brunner [Mon, 25 Mar 2013 16:02:45 +0000 (17:02 +0100)]
ipseckey: NULL pointer dereference fixed in error case

7 years agoRecipes: Disable Anet unit tests
Reto Buerki [Mon, 25 Mar 2013 15:24:29 +0000 (16:24 +0100)]
Recipes: Disable Anet unit tests

Some Anet unit tests may fail because of the network configuration on
the testing host. These failures do not indicate a problem in Anet but
are a result of unpredictable events.

7 years agoFixed some typos, courtesy of codespell
Tobias Brunner [Mon, 25 Mar 2013 09:59:37 +0000 (10:59 +0100)]
Fixed some typos, courtesy of codespell

7 years agoAdded hostapd package to base image
Andreas Steffen [Fri, 22 Mar 2013 22:53:39 +0000 (23:53 +0100)]
Added hostapd package to base image

7 years agoAdded Framed-IP-Address information to RADIUS accounting records
Andreas Steffen [Fri, 22 Mar 2013 22:52:01 +0000 (23:52 +0100)]
Added Framed-IP-Address information to RADIUS accounting records

7 years agoenforce singular of packets
Andreas Steffen [Fri, 22 Mar 2013 20:13:59 +0000 (21:13 +0100)]
enforce singular of packets

7 years agoasprintf(3) requires _GNU_SOURCE to be defined 5.0.3rc1
Tobias Brunner [Fri, 22 Mar 2013 18:41:01 +0000 (19:41 +0100)]
asprintf(3) requires _GNU_SOURCE to be defined

7 years agoAdded ikev2/rw-eap-framed-ip-radius scenario
Andreas Steffen [Fri, 22 Mar 2013 18:08:42 +0000 (19:08 +0100)]
Added ikev2/rw-eap-framed-ip-radius scenario

7 years agoStore debug output from standalone IMC/IMVs
Andreas Steffen [Fri, 22 Mar 2013 15:45:24 +0000 (16:45 +0100)]
Store debug output from standalone IMC/IMVs

7 years agoAdded ikev2/ip-two-pools-v4v6-db scenario
Andreas Steffen [Fri, 22 Mar 2013 11:18:43 +0000 (12:18 +0100)]
Added ikev2/ip-two-pools-v4v6-db scenario

7 years agoUse proper integer types when handling TLS exchanges
Tobias Brunner [Fri, 22 Mar 2013 10:36:48 +0000 (11:36 +0100)]
Use proper integer types when handling TLS exchanges

tls_t.build takes a size_t argument not a ssize_t.

7 years agoCheck return value of asprintf(3) when converting AR identity
Tobias Brunner [Fri, 22 Mar 2013 10:34:16 +0000 (11:34 +0100)]
Check return value of asprintf(3) when converting AR identity

Using chunk_t.ptr as target was also not optimal as it resulted in
a compiler warning.

7 years agoversion bump to 5.0.3rc1
Andreas Steffen [Fri, 22 Mar 2013 09:38:25 +0000 (10:38 +0100)]
version bump to 5.0.3rc1

7 years agoSwitch encoding of AR Identity Value from binary to UTF-8
Andreas Steffen [Fri, 22 Mar 2013 09:37:49 +0000 (10:37 +0100)]
Switch encoding of AR Identity Value from binary to UTF-8

7 years agoFixed TKM build
Reto Buerki [Fri, 22 Mar 2013 09:35:48 +0000 (10:35 +0100)]
Fixed TKM build

7 years agoBuild TNC-enabled wpa_supplicant
Andreas Steffen [Fri, 22 Mar 2013 09:33:39 +0000 (10:33 +0100)]
Build TNC-enabled wpa_supplicant

7 years agoactivate logging before loading plugins
Andreas Steffen [Thu, 21 Mar 2013 17:04:24 +0000 (18:04 +0100)]
activate logging before loading plugins

7 years agoAdd a load-tester option to keep allocated external address until shutdown
Martin Willi [Thu, 21 Mar 2013 09:29:23 +0000 (10:29 +0100)]
Add a load-tester option to keep allocated external address until shutdown

7 years agoandroid: No need to disable CMS explicitly
Tobias Brunner [Wed, 20 Mar 2013 15:59:45 +0000 (16:59 +0100)]
android: No need to disable CMS explicitly

The version check introduced with 0d237763 should take care of it.

7 years agoAllow up to 10 NAT-D payloads in IKEv1 messages
Tobias Brunner [Wed, 20 Mar 2013 15:20:39 +0000 (16:20 +0100)]
Allow up to 10 NAT-D payloads in IKEv1 messages

7 years agoAvoid a race condition when reloading secrets from ipsec.secrets
Tobias Brunner [Fri, 1 Mar 2013 13:36:02 +0000 (14:36 +0100)]
Avoid a race condition when reloading secrets from ipsec.secrets

With the previous implementation that cleared the secrets in the active
credential set and then loaded the secrets, IKE SA establishment would
fail (as initiator or responder) if secrets are concurrently reloaded
and the required secret was not yet loaded.

7 years agoAdd a method to replace all secrets in a mem_cred_t object
Tobias Brunner [Fri, 1 Mar 2013 13:34:31 +0000 (14:34 +0100)]
Add a method to replace all secrets in a mem_cred_t object

7 years agoandroid: Build native libraries also for x86
Tobias Brunner [Wed, 20 Mar 2013 13:50:41 +0000 (14:50 +0100)]
android: Build native libraries also for x86

Requires an updated build script for Vstr.

7 years agoandroid: libtnccs requires headers from libtls
Tobias Brunner [Fri, 8 Mar 2013 16:26:04 +0000 (17:26 +0100)]
android: libtnccs requires headers from libtls

7 years agoandroid: Fix Android.mk for ipsec script
Tobias Brunner [Fri, 8 Mar 2013 16:05:55 +0000 (17:05 +0100)]
android: Fix Android.mk for ipsec script

7 years agoandroid: Remove/filter header files from LOCAL_SRC_FILES
Tobias Brunner [Fri, 8 Mar 2013 15:48:11 +0000 (16:48 +0100)]
android: Remove/filter header files from LOCAL_SRC_FILES

This avoids huge warnings when building the native code.

7 years agoandroid: Request and install an IPv6 DNS server
Tobias Brunner [Thu, 7 Mar 2013 17:20:10 +0000 (18:20 +0100)]
android: Request and install an IPv6 DNS server

7 years agoandroid: Also request a virtual IPv6 address and propose IPv6 TS
Tobias Brunner [Thu, 7 Mar 2013 17:16:56 +0000 (18:16 +0100)]
android: Also request a virtual IPv6 address and propose IPv6 TS

This allows IPv6 over IPv4 but falls back nicely if we don't get a
virtual IPv6 (or IPv4) address.

7 years agoipsec: Increased log level for message in case no outbound policy is found
Tobias Brunner [Thu, 7 Mar 2013 15:21:11 +0000 (16:21 +0100)]
ipsec: Increased log level for message in case no outbound policy is found

This might happen on Android if sockets are bound to the physical IP
address but packets are still routed via TUN device.  Since it seems to
happen quite often (or for stuff that requires regular traffic) this
hides these messages from the default log.

7 years agoAdd an option to autobalance a HA cluster automatically
Martin Willi [Tue, 19 Mar 2013 15:49:07 +0000 (16:49 +0100)]
Add an option to autobalance a HA cluster automatically

7 years agoCheck if for some reason we handle a HA segment on both nodes
Martin Willi [Tue, 19 Mar 2013 15:48:53 +0000 (16:48 +0100)]
Check if for some reason we handle a HA segment on both nodes

7 years agoAcquire HA segment lock while sending heartbeat
Martin Willi [Tue, 19 Mar 2013 15:46:43 +0000 (16:46 +0100)]
Acquire HA segment lock while sending heartbeat

7 years agoRemoved unused variable 'id'
Tobias Brunner [Tue, 19 Mar 2013 15:37:40 +0000 (16:37 +0100)]
Removed unused variable 'id'

7 years agoProperly cleanup libmysql
Tobias Brunner [Mon, 18 Mar 2013 18:17:19 +0000 (19:17 +0100)]
Properly cleanup libmysql

Seems to work correctly with recent MySQL versions.

7 years agoUse proper address family when adding multiple addresses to SQL pool
Tobias Brunner [Mon, 18 Mar 2013 18:11:10 +0000 (19:11 +0100)]
Use proper address family when adding multiple addresses to SQL pool

7 years agoIgnore SQL-based IP address pools if their address family does not match
Tobias Brunner [Mon, 18 Mar 2013 17:45:29 +0000 (18:45 +0100)]
Ignore SQL-based IP address pools if their address family does not match

7 years agocharon-nm: Add dependencies to CERT_DECODE and PRIVKEY plugin features
Tobias Brunner [Tue, 26 Feb 2013 14:43:30 +0000 (15:43 +0100)]
charon-nm: Add dependencies to CERT_DECODE and PRIVKEY plugin features

This ensures the NM-specific credential set is unloaded before any
implementation of certificate/key objects, which causes a segmentation
fault during shutdown.

7 years agocharon-nm: Prevent NM from changing the default route
Tobias Brunner [Fri, 22 Feb 2013 17:52:17 +0000 (18:52 +0100)]
charon-nm: Prevent NM from changing the default route

This is not required as we install our own (narrow) route(s) in our own
routing table. This should allow split tunneling if configured on the
gateway.

7 years agocharon-nm: Use VIP (if any) as local address
Tobias Brunner [Fri, 22 Feb 2013 17:49:55 +0000 (18:49 +0100)]
charon-nm: Use VIP (if any) as local address

NM will install this address on the provided device.

7 years agocharon-nm: Pass a dummy TUN device to NetworkManager
Tobias Brunner [Fri, 22 Feb 2013 15:51:52 +0000 (16:51 +0100)]
charon-nm: Pass a dummy TUN device to NetworkManager

NetworkManager modifies the addresses etc. on this interface so using
"lo" is not optimal. With the dummy interface NM is free to do its
thing.

7 years agocharon-nm: Fix NM plugin utility macros
Tobias Brunner [Mon, 25 Feb 2013 17:46:15 +0000 (18:46 +0100)]
charon-nm: Fix NM plugin utility macros

7 years agoIgnore 'compile' script which is generated by AM_PROG_CC_C_O
Tobias Brunner [Tue, 19 Mar 2013 15:18:35 +0000 (16:18 +0100)]
Ignore 'compile' script which is generated by AM_PROG_CC_C_O

7 years agoAvoid returning COOKIEs right after system boot
Tobias Brunner [Thu, 31 Jan 2013 17:42:26 +0000 (18:42 +0100)]
Avoid returning COOKIEs right after system boot

When the monotonic timer is initialized to 0 right after the system is
booted the daemon responded with COOKIES for COOKIE_CALMDOWN_DELAY (10s).

Since the COOKIE verification code actually produces an overflow for
COOKIE_LIFETIME (10s) it wouldn't even accept properly returned COOKIEs.

Checking for last_cookie makes sense anyway as that condition must only
apply if we actually sent a COOKIE before.

7 years agoFix scheduling of heartbeat sending in HA plugin
Martin Willi [Tue, 19 Mar 2013 14:17:41 +0000 (15:17 +0100)]
Fix scheduling of heartbeat sending in HA plugin

e0efd7c1 switches to automated job rescheduling for HA heartbeat. However,
send_status() is initially called directly, which will not reschedule the job
as required.

7 years agoFix compiler warning in HA plugin
Martin Willi [Tue, 19 Mar 2013 14:16:06 +0000 (15:16 +0100)]
Fix compiler warning in HA plugin

7 years agoMerge branch 'tkm'
Tobias Brunner [Tue, 19 Mar 2013 14:25:38 +0000 (15:25 +0100)]
Merge branch 'tkm'

This adds charon-tkm a special build of the charon IKEv2 daemon that delegates
security critical operations to a separate process (TKM = Trusted Key Manager).

7 years agoVarious stylistic fixes
Adrian-Ken Rueegsegger [Mon, 18 Mar 2013 17:47:16 +0000 (18:47 +0100)]
Various stylistic fixes

7 years ago Add NEWS about TKM separation
Reto Buerki [Mon, 18 Mar 2013 15:13:55 +0000 (16:13 +0100)]
 Add NEWS about TKM separation

7 years agoUse network byte order for ESA SPIs
Adrian-Ken Rueegsegger [Mon, 4 Mar 2013 10:23:22 +0000 (11:23 +0100)]
Use network byte order for ESA SPIs

7 years agoProvide MODP-2048 through TKM DH plugin
Adrian-Ken Rueegsegger [Mon, 11 Feb 2013 14:21:49 +0000 (15:21 +0100)]
Provide MODP-2048 through TKM DH plugin

7 years agoAdd charon-tkm API documentation
Adrian-Ken Rueegsegger [Wed, 30 Jan 2013 10:16:16 +0000 (11:16 +0100)]
Add charon-tkm API documentation

7 years agoDo not hardwire keys to KEY_RSA
Reto Buerki [Wed, 30 Jan 2013 14:36:03 +0000 (15:36 +0100)]
Do not hardwire keys to KEY_RSA

Make the TKM private and public keys more easily extendable by
determining the associated key type dynamically.

7 years agoProvide TKM credential encoder
Reto Buerki [Fri, 18 Jan 2013 13:40:02 +0000 (14:40 +0100)]
Provide TKM credential encoder

The TKM credential encoder creates fingerprints of type
KEYID_PUBKEY_INFO_SHA1 and KEYID_PUBKEY_SHA1 using
CRED_PART_RSA_PUB_ASN1_DER.

This makes the pkcs1 plugin unnecessary.

7 years agoSwitch to openssl plugin
Reto Buerki [Tue, 29 Jan 2013 09:28:38 +0000 (10:28 +0100)]
Switch to openssl plugin

7 years agoImplement multiple-clients integration test
Reto Buerki [Mon, 28 Jan 2013 10:58:03 +0000 (11:58 +0100)]
Implement multiple-clients integration test

Two transport connections to gateway sun are set up, one from client
carol and the other from client dave. The gateway sun uses the Trusted
Key Manager (TKM) and is the responder for both connections. The
authentication is based on X.509 certificates. In order to test the
connections, both carol and dave ping gateway sun.

7 years agoImplement net2net-xfrmproxy integration test
Reto Buerki [Mon, 28 Jan 2013 09:44:19 +0000 (10:44 +0100)]
Implement net2net-xfrmproxy integration test

7 years agoImplement net2net-initiator integration test
Reto Buerki [Mon, 28 Jan 2013 09:40:36 +0000 (10:40 +0100)]
Implement net2net-initiator integration test

7 years agoAdd xfrm_proxy integration test
Reto Buerki [Fri, 25 Jan 2013 09:40:29 +0000 (10:40 +0100)]
Add xfrm_proxy integration test

7 years agoProvide script to build Ada XFRM proxy
Reto Buerki [Fri, 25 Jan 2013 09:33:46 +0000 (10:33 +0100)]
Provide script to build Ada XFRM proxy

7 years agoAdd TKM responder integration test
Reto Buerki [Thu, 24 Jan 2013 16:05:17 +0000 (17:05 +0100)]
Add TKM responder integration test

7 years agoAdd initial TKM integration test
Reto Buerki [Tue, 22 Jan 2013 19:52:55 +0000 (20:52 +0100)]
Add initial TKM integration test

A connection between the hosts moon and sun is set up. The host moon
uses the Trusted Key Manager (TKM) and is the initiator of the transport
connection. The authentication is based on X.509 certificates.

7 years agoAdd expect-file guest image script
Reto Buerki [Thu, 24 Jan 2013 17:26:34 +0000 (18:26 +0100)]
Add expect-file guest image script

This script can be used in pretest.dat files to wait until a given file
appears.

7 years agoAdd /usr/local/lib/ipsec to linker cache
Reto Buerki [Tue, 22 Jan 2013 19:52:15 +0000 (20:52 +0100)]
Add /usr/local/lib/ipsec to linker cache

7 years agoProvide recipes to build tkm and required libraries
Reto Buerki [Tue, 22 Jan 2013 15:07:25 +0000 (16:07 +0100)]
Provide recipes to build tkm and required libraries

7 years agoAdd GNAT compiler and Ada libs to base image
Reto Buerki [Tue, 22 Jan 2013 15:04:34 +0000 (16:04 +0100)]
Add GNAT compiler and Ada libs to base image

7 years agoDon't manually register kernel_netlink_net
Reto Buerki [Wed, 23 Jan 2013 12:51:12 +0000 (13:51 +0100)]
Don't manually register kernel_netlink_net

Load complete kernel_netlink plugin instead. Registering the TKM
specific plugins first still ensures that the correct ipsec plugin
is used.

Lazy initialize the RNG_WEAK plugin to avoid the unsatisfiable
soft dependency on startup.

7 years agoMove stroke plugin to the end of PLUGINS list
Reto Buerki [Wed, 23 Jan 2013 12:43:07 +0000 (13:43 +0100)]
Move stroke plugin to the end of PLUGINS list

This fixes the problem of stroke being unable to load the ca
certificates on startup.

7 years agoMake sure IP_XFRM_POLICY is defined
Reto Buerki [Thu, 17 Jan 2013 09:01:31 +0000 (10:01 +0100)]
Make sure IP_XFRM_POLICY is defined

7 years agoCall isa_skip_create_first when keeping IKE SA
Adrian-Ken Rueegsegger [Wed, 19 Dec 2012 14:58:17 +0000 (15:58 +0100)]
Call isa_skip_create_first when keeping IKE SA

An ALERT_KEEP_ON_CHILD_SA_FAILURE alert is issued when child SA establishment
fails but the corresponding IKE SA is not destroyed. To allow later creation
of child SAs the ISA context must be signaled that the implicity first child SA
creation was skipped.

7 years agoMake IKE and EES sockets configurable
Adrian-Ken Rueegsegger [Tue, 18 Dec 2012 16:15:58 +0000 (17:15 +0100)]
Make IKE and EES sockets configurable

The IKE and EES sockets are now read from strongswan.conf. They can be
specified like this:

charon-tkm {
ike_socket = /tmp/tkm.rpc.ike
ees_socket = /tmp/tkm.rpc.ees
}

The socket names given above are used by default if none are configured.