Andreas Steffen [Wed, 30 Oct 2013 19:47:44 +0000 (20:47 +0100)]
Added test-driver to .gitignore
Andreas Steffen [Wed, 30 Oct 2013 19:46:32 +0000 (20:46 +0100)]
Encrypt carol's PKCS#8 private key in openssl-ikve2/rw-suite-b-128|192 scenarios
Ansis Atteka [Wed, 30 Oct 2013 02:48:51 +0000 (19:48 -0700)]
updown: fix segfault when interface name can't be resolved
The child_updown() function sets up environment variables to the updown
script. Sometimes call to hydra->kernel_interface->get_interface() could
fail and iface variable could be left uninitialized. This patch fixes
this issue by passing "unknown" as interface name.
Here is the stacktrace:
0 0x00007fa90791f445 in raise () from /lib/x86_64-linux-gnu/libc.so.6
1 0x00007fa907922bab in abort () from /lib/x86_64-linux-gnu/libc.so.6
2 0x0000000000401ed7 in segv_handler (signal=11) at charon.c:183
3 <signal handler called>
4 0x00007fa90793221f in vfprintf () from /lib/x86_64-linux-gnu/libc.so.6
5 0x00007fa9079f0580 in __vsnprintf_chk () from /lib/x86_64-linux-gnu/libc.so.6
6 0x00007fa9079f04c8 in __snprintf_chk () from /lib/x86_64-linux-gnu/libc.so.6
7 0x00007fa8f9b95b86 in snprintf (
__fmt=0x7fa8f9b961b8 "2>&1 PLUTO_VERSION='1.1' PLUTO_VERB='%s%s%s' PLUTO_CONNECTION='%s' PLUTO_INTERFACE='%s' PLUTO_REQID='%u' PLUTO_ME='%H' PLUTO_MY_ID='%Y' PLUTO_MY_CLIENT='%H/%u' PLUTO_MY_PORT='%u' PLUTO_MY_PROTOCOL='%u"..., __n=1024, __s=0x7fa8f7923440 "2>&1 PLUTO_VERSION='1.1' PLUTO_VERB='up-host' PLUTO_CONNECTION='remote-40.0.0.40' PLUTO_INTERFACE='\367\250\177")
at /usr/include/x86_64-linux-gnu/bits/stdio2.h:65
8 child_updown (this=0x8486b0, ike_sa=0x7fa8e4005f80, child_sa=0x7fa8d4008290, up=true) at updown_listener.c:308
9 0x00007fa907ecc11c in ?? () from /usr/lib/strongswan/libcharon.so.0
10 0x00007fa907ef89bf in ?? () from /usr/lib/strongswan/libcharon.so.0
11 0x00007fa907ef2fc8 in ?? () from /usr/lib/strongswan/libcharon.so.0
12 0x00007fa907ee84ff in ?? () from /usr/lib/strongswan/libcharon.so.0
13 0x00007fa907ee3067 in ?? () from /usr/lib/strongswan/libcharon.so.0
14 0x00007fa90835e8fb in ?? () from /usr/lib/strongswan/libstrongswan.so.0
15 0x00007fa908360d30 in ?? () from /usr/lib/strongswan/libstrongswan.so.0
16 0x00007fa907cade9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
17 0x00007fa9079db4bd in clone () from /lib/x86_64-linux-gnu/libc.so.6
18 0x0000000000000000 in ?? ()
Signed-Off-By: Ansis Atteka <aatteka@nicira.com>
Ansis Atteka [Fri, 25 Oct 2013 22:42:10 +0000 (15:42 -0700)]
debian: build debug symbol package
Before this patch all debug symbols were stripped off and simply
discarded. GDB without debug symbols is barely usable, but at
the same time distributing binaries with debug symbols would
drastically increase strongswan/libstrongswan package size.
Instead of discarding debug symbols, it would be better to strip
them off into a dedicated debian package. So that, if needed, one
could still install them and use GDB.
Signed-off-by: Ansis Atteka <aatteka@nicira.com>
Tobias Brunner [Tue, 29 Oct 2013 16:19:57 +0000 (17:19 +0100)]
ipsec: Updated ipsec(8)
Tobias Brunner [Tue, 29 Oct 2013 15:34:10 +0000 (16:34 +0100)]
ipsec: Remove unused distro.txt
Tobias Brunner [Tue, 29 Oct 2013 15:18:35 +0000 (16:18 +0100)]
utils: Include stdio.h for fmemopen() replacement
This might now be required because Vstr is not necessarily required
anymore, which means stdio.h might not be pulled in by prinf_hook.h.
Tobias Brunner [Tue, 29 Oct 2013 14:16:22 +0000 (15:16 +0100)]
Use exact mask when calling umask(2)
Due to the previous negation the high bits of the mask were set, which
at least some versions of the Android build system prevent with a compile-time
check.
Martin Willi [Tue, 29 Oct 2013 13:11:41 +0000 (14:11 +0100)]
whitelist: Read multiple commands until client closes connection
This restores the same behavior we had before
e11c02c8, and fixes the whitelist
add/remove-from command.
Tobias Brunner [Tue, 29 Oct 2013 12:36:15 +0000 (13:36 +0100)]
libtnccs: Add dummy entry to pb_tnc_tcg_msg_infos
That's required because the first message type in pb_tnc_tcg_msg_type_t
is 1 not 0.
Tobias Brunner [Tue, 29 Oct 2013 12:14:37 +0000 (13:14 +0100)]
swid: Properly clean up after reading SWID tag
Tobias Brunner [Tue, 29 Oct 2013 10:45:25 +0000 (11:45 +0100)]
man: strongswan.conf(5) updated
Tobias Brunner [Tue, 29 Oct 2013 09:07:03 +0000 (10:07 +0100)]
Fixed some typos
Martin Willi [Mon, 28 Oct 2013 14:13:54 +0000 (15:13 +0100)]
charon-xpc: Load missing eap-md5 plugin after enabling it
Martin Willi [Mon, 28 Oct 2013 13:40:49 +0000 (14:40 +0100)]
charon-xpc: Disable warnings about deprecated functions
This avoids all the deprecated warnings when using OpenSSL functins.
Martin Willi [Mon, 28 Oct 2013 13:39:35 +0000 (14:39 +0100)]
charon-xpc: Avoid -all_load linker flag
This seems to be not required anymore with the LLVM 5 toolchain.
Martin Willi [Mon, 28 Oct 2013 13:29:07 +0000 (14:29 +0100)]
charon-xpc: Properly xpc_retain() connections we xpc_release()
Martin Willi [Mon, 28 Oct 2013 13:00:22 +0000 (14:00 +0100)]
charon-xpc: Properly cast SA identifier to uintptr representation
Martin Willi [Mon, 28 Oct 2013 12:38:44 +0000 (13:38 +0100)]
charon-xpc: Don’t build against libvstr anymore
We now have our own printf backend and use it instead of Vstr.
Martin Willi [Mon, 28 Oct 2013 12:36:01 +0000 (13:36 +0100)]
charon-xpc: Build with EAP-MD5 support
Martin Willi [Thu, 24 Oct 2013 13:58:28 +0000 (15:58 +0200)]
utils: Fix check for fmemopen() fallback implementation
Martin Willi [Thu, 24 Oct 2013 13:27:28 +0000 (15:27 +0200)]
unit-tests: Set sa_len in sockaddr template data, if required
Martin Willi [Thu, 24 Oct 2013 13:17:30 +0000 (15:17 +0200)]
printf-hook-builtin: Don't rely on isinf() return value signedness
Many systems don't return a negative value for negative infinities; so do
a separate check.
Martin Willi [Thu, 24 Oct 2013 13:07:43 +0000 (15:07 +0200)]
watcher: Rebuild fdset when select() fails
This should make sure we refresh the fdset if a user closes an FD it just
removed. Some selects() seem to complain about the bad FD before signaling the
notification pipe.
Martin Willi [Thu, 24 Oct 2013 12:46:14 +0000 (14:46 +0200)]
rwlock: Disable thread cancelability while waiting in (fallback) rwlock
An rwlock wait is not a thread cancellation point. As a canceled thread
would not have released the mutex, the rwlock would have been left in unusable
state.
Martin Willi [Thu, 24 Oct 2013 11:45:31 +0000 (13:45 +0200)]
rwlock: Don't use buggy pthread_rwlock on OS X
Recursive read locks don't seem to work properly, at least on 10.9.
Martin Willi [Thu, 24 Oct 2013 09:49:32 +0000 (11:49 +0200)]
utils: Provide a fmemopen(3) fallback using BSD funopen()
Andreas Steffen [Wed, 23 Oct 2013 20:23:47 +0000 (22:23 +0200)]
Fixed sql/net2net-route-pem scenario evaluation
Andreas Steffen [Wed, 23 Oct 2013 20:12:12 +0000 (22:12 +0200)]
Added some example Debian SWID tags
Andreas Steffen [Wed, 23 Oct 2013 19:11:22 +0000 (21:11 +0200)]
Added Brainpool ECP support to NEWS
Andreas Steffen [Wed, 23 Oct 2013 19:08:18 +0000 (21:08 +0200)]
Added two Brainpool IKEv2 scenarios
Tobias Brunner [Tue, 22 Oct 2013 12:35:13 +0000 (14:35 +0200)]
pki: Replace BUILD_FROM_FD with passing a chunk via BUILD_BLOB
This allows more than one builder to try parsing the data read from STDIN.
Tobias Brunner [Tue, 22 Oct 2013 12:22:35 +0000 (14:22 +0200)]
chunk: Add helper function to create a chunk from data read from a file descriptor
Martin Willi [Wed, 23 Oct 2013 14:05:40 +0000 (16:05 +0200)]
semaphore: Support cancellation in wait functions of semaphore fallback
Semaphore wait functions should be a thread cancellation point, but did
not properly release the mutex in the fallback implementation.
Martin Willi [Tue, 22 Oct 2013 16:36:44 +0000 (18:36 +0200)]
rwlock: Re-acquire rwlock even if condvar wait times out
A caller expects that the associated rwlock is held, whether the condvar
gets signaled or the wait times out.
Andreas Steffen [Tue, 22 Oct 2013 22:26:02 +0000 (00:26 +0200)]
Updated and split data.sql
Andreas Steffen [Tue, 22 Oct 2013 08:09:24 +0000 (10:09 +0200)]
Adapted recipe and patches to freeradius-2.2.1
Andreas Steffen [Mon, 21 Oct 2013 19:33:30 +0000 (21:33 +0200)]
Support Ubuntu 13.10 measurements
Andreas Steffen [Mon, 21 Oct 2013 19:03:53 +0000 (21:03 +0200)]
check it specified IF-TNCCS protocol is enabled
Tobias Brunner [Fri, 18 Oct 2013 07:38:01 +0000 (09:38 +0200)]
kernel-netlink: Check existence of linux/fib_rules.h, don't include it in distribution
This reverts commit
b0761f1f0a5abd225edc291c8285f99a538e6a66.
Tobias Brunner [Thu, 17 Oct 2013 14:57:48 +0000 (16:57 +0200)]
Merge branch 'icmp'
Improves handling of ICMP[v6] traffic selectors that specify message type and
code.
Fixes #421.
Tobias Brunner [Mon, 14 Oct 2013 15:10:16 +0000 (17:10 +0200)]
ipsec.conf.5: Note about ICMP[v6] message type/code added
Tobias Brunner [Thu, 17 Oct 2013 14:29:30 +0000 (16:29 +0200)]
updown: Properly configure ICMP[v6] message type and code in firewall rules
Tobias Brunner [Mon, 14 Oct 2013 15:08:09 +0000 (17:08 +0200)]
updown: Pass ICMP[v6] message type and code to updown script
The type is passed in $PLUTO_MY_PORT and the code in $PLUTO_PEER_PORT.
Tobias Brunner [Tue, 15 Oct 2013 12:26:51 +0000 (14:26 +0200)]
kernel-pfkey: Install ICMP[v6] type/code as expected by the Linux kernel
Tobias Brunner [Tue, 15 Oct 2013 15:59:26 +0000 (17:59 +0200)]
kernel-netlink: Convert ports in acquires to ICMP[v6] type and code
Tobias Brunner [Mon, 14 Oct 2013 15:00:18 +0000 (17:00 +0200)]
kernel-netlink: Properly install policies with ICMP[v6] types and codes
Tobias Brunner [Mon, 14 Oct 2013 14:53:42 +0000 (16:53 +0200)]
traffic-selector: Print ICMP[v6] message type and code in a more readable way
Tobias Brunner [Mon, 14 Oct 2013 14:52:20 +0000 (16:52 +0200)]
traffic-selector: Store ICMP[v6] message type and code properly
We now store them as defined in RFC 4301, section 4.4.1.1.
Tobias Brunner [Tue, 15 Oct 2013 08:04:04 +0000 (10:04 +0200)]
traffic-selector: Move class to its own Doxygen group
Tobias Brunner [Thu, 17 Oct 2013 14:56:31 +0000 (16:56 +0200)]
Merge branch 'ecc-brainpool'
Adds support for ECC Brainpool curves for DH exchanges.
Tobias Brunner [Fri, 13 Sep 2013 09:29:40 +0000 (11:29 +0200)]
proposal: Add ECC Brainpool DH groups to the default proposal
Tobias Brunner [Thu, 17 Oct 2013 11:31:17 +0000 (13:31 +0200)]
openssl: Add workaround if ECC Brainpool curves are not defined
Tobias Brunner [Thu, 17 Oct 2013 11:28:30 +0000 (13:28 +0200)]
openssl: Add support for ECC Brainpool curves for DH, if defined by OpenSSL
OpenSSL does not include them in releases before 1.0.2.
Andreas Steffen [Mon, 9 Sep 2013 07:36:04 +0000 (09:36 +0200)]
ecc: Added ECC Brainpool ECDH groups as registered with IANA
Tobias Brunner [Fri, 11 Oct 2013 23:56:24 +0000 (01:56 +0200)]
unit-tests: Make test for bio_writer_t more portable
Tobias Brunner [Thu, 17 Oct 2013 09:36:32 +0000 (11:36 +0200)]
libipsec: Don't print ciphertext with ICV in log message
Tobias Brunner [Fri, 11 Oct 2013 23:09:53 +0000 (01:09 +0200)]
libipsec: Properly calculate padding length especially for AES-GCM
Tobias Brunner [Fri, 11 Oct 2013 23:01:06 +0000 (01:01 +0200)]
utils: Add utility function to calculate padding length
Tobias Brunner [Thu, 19 Sep 2013 08:59:20 +0000 (10:59 +0200)]
stroke: Reuse reqids of established CHILD_SAs when routing connections
Tobias Brunner [Thu, 19 Sep 2013 08:53:05 +0000 (10:53 +0200)]
trap-manager: Make sure a config is not trapped twice
Tobias Brunner [Tue, 15 Oct 2013 09:16:09 +0000 (11:16 +0200)]
Doxygen fixes
Andreas Steffen [Sun, 13 Oct 2013 20:17:18 +0000 (22:17 +0200)]
Set recommendation in the case of PCR measurement failures
Andreas Steffen [Sun, 13 Oct 2013 18:51:10 +0000 (20:51 +0200)]
Add linux/fip_rules.h to include files
Andreas Steffen [Sun, 13 Oct 2013 17:56:04 +0000 (19:56 +0200)]
Revert refactoring which broke CentOS build
Andreas Steffen [Fri, 11 Oct 2013 19:34:59 +0000 (21:34 +0200)]
Increase debug level in libipsec/rw-suite-b scenario
Andreas Steffen [Fri, 11 Oct 2013 19:23:10 +0000 (21:23 +0200)]
Use bold font to display key size
Andreas Steffen [Fri, 11 Oct 2013 18:59:24 +0000 (20:59 +0200)]
Added swid_directory option
Andreas Steffen [Fri, 11 Oct 2013 18:18:59 +0000 (20:18 +0200)]
Added tnc/tnccs-11-supplicant scenario
Andreas Steffen [Fri, 11 Oct 2013 18:16:59 +0000 (20:16 +0200)]
Define aaa.strongswan.org in /etc/hosts
Tobias Brunner [Fri, 11 Oct 2013 16:04:48 +0000 (18:04 +0200)]
testing: Add libipsec/host2host-cert scenario
Tobias Brunner [Fri, 11 Oct 2013 15:33:19 +0000 (17:33 +0200)]
checksum: The pool utility was moved to its own directory
Tobias Brunner [Fri, 11 Oct 2013 15:26:57 +0000 (17:26 +0200)]
ccm: Add missing comma in get_iv_gen method signature
Tobias Brunner [Fri, 11 Oct 2013 15:22:30 +0000 (17:22 +0200)]
iv-gen: Add missing header files to Makefile.am
Tobias Brunner [Fri, 11 Oct 2013 14:20:41 +0000 (16:20 +0200)]
NEWS: Updates for the recent merges
Tobias Brunner [Fri, 11 Oct 2013 13:55:49 +0000 (15:55 +0200)]
Merge branch 'iv-gen'
Modularizes the generation of initialization vectors, which allows to use
different methods depending on the algorithms. For instance for AES-GCM
sequential IVs are now used instead of the earlier random IVs, which are
still used for other algorithms e.g. AES-CBC.
Tobias Brunner [Mon, 5 Aug 2013 14:24:40 +0000 (16:24 +0200)]
iv_gen: Mask sequential IVs with a random salt
This makes it harder to attack a HA setup, even if the sequence numbers were
not fully in sync.
Tobias Brunner [Mon, 5 Aug 2013 13:41:45 +0000 (15:41 +0200)]
iv_gen: Provide external sequence number (IKE, ESP)
This prevents duplicate sequential IVs in case of a HA failover.
Tobias Brunner [Mon, 5 Aug 2013 12:59:10 +0000 (14:59 +0200)]
ipsec: Use IV generator to encrypt ESP messages
Tobias Brunner [Mon, 5 Aug 2013 12:55:51 +0000 (14:55 +0200)]
ikev2: Use IV generator to encrypt encrypted payload
Tobias Brunner [Mon, 5 Aug 2013 12:52:30 +0000 (14:52 +0200)]
iv_gen: aead_t implementations provide an IV generator
Tobias Brunner [Mon, 5 Aug 2013 12:43:50 +0000 (14:43 +0200)]
iv_gen: Add IV generator that allocates IVs sequentially
Tobias Brunner [Mon, 5 Aug 2013 12:19:43 +0000 (14:19 +0200)]
iv_gen: Add IV generator that allocates IVs randomly
Uses RNG_WEAK as the code currently does elsewhere to allocate IVs.
Tobias Brunner [Mon, 5 Aug 2013 12:10:47 +0000 (14:10 +0200)]
crypto: Add generic interface for IV generators
Tobias Brunner [Mon, 5 Aug 2013 12:09:43 +0000 (14:09 +0200)]
apidoc: Move mac_prf to prf Doxygen group
Tobias Brunner [Fri, 11 Oct 2013 13:52:36 +0000 (15:52 +0200)]
Merge branch 'radius-unity'
Adds support for Cisco Unity specific RADIUS attributes.
References #383.
Tobias Brunner [Mon, 19 Aug 2013 11:31:55 +0000 (13:31 +0200)]
eap-radius: Forward RAT_FRAMED_IP_NETMASK as INTERNAL_IP4_NETMASK
Tobias Brunner [Fri, 16 Aug 2013 13:25:33 +0000 (15:25 +0200)]
eap-radius: Forward UNITY_SPLIT_INCLUDE or UNITY_LOCAL_LAN attributes
Depending on the value of the CVPN3000-IPSec-Split-Tunneling-Policy(55)
radius attribute, the subnets in the CVPN3000-IPSec-Split-Tunnel-List(27)
attribute are sent in either a UNITY_SPLIT_INCLUDE (if the value is 1)
or a UNITY_LOCAL_LAN (if the value is 2).
So if the following attributes would be configured for a RADIUS user
CVPN3000-IPSec-Split-Tunnel-List := "10.0.1.0/255.255.255.0,10.0.2.0/255.255.255.0"
CVPN3000-IPSec-Split-Tunneling-Policy := 1
A UNITY_SPLIT_INCLUDE configuration payload containing these two subnets
would be sent to the client during the ModeCfg exchange.
Tobias Brunner [Fri, 16 Aug 2013 11:41:22 +0000 (13:41 +0200)]
eap-radius: Forward UNITY_DEF_DOMAIN and UNITY_SPLITDNS_NAME attributes
The contents of the CVPN3000-IPSec-Default-Domain(28) and
CVPN3000-IPSec-Split-DNS-Names(29) radius attributes are forwarded in
the corresponding Unity configuration attributes.
Tobias Brunner [Fri, 11 Oct 2013 13:46:09 +0000 (15:46 +0200)]
Merge branch 'dnscert'
The new dnscert plugin adds support for authentication via CERT resource
records that are protected with DNSSEC.
Tobias Brunner [Thu, 26 Sep 2013 16:28:48 +0000 (18:28 +0200)]
testing: Add ikev2/net2net-dnscert scenario
Tobias Brunner [Thu, 26 Sep 2013 16:16:10 +0000 (18:16 +0200)]
testing: Provide moon's and sun's certificate as CERT RR
Tobias Brunner [Thu, 26 Sep 2013 15:01:11 +0000 (17:01 +0200)]
testing: Enable dnscert plugin
Tobias Brunner [Thu, 26 Sep 2013 15:00:21 +0000 (17:00 +0200)]
testing: Load testing.conf.local from the same directory as testing.conf
Ruslan N. Marchenko [Fri, 30 Aug 2013 15:51:12 +0000 (17:51 +0200)]
dnscert: Add DNS CERT support for pubkey authentication
Add DNSSEC protected CERT RR delivered certificate authentication.
The new dnscert plugin is based on the ipseckey plugin and relies on the
existing PEM decoder as well as x509 and PGP parsers. As such the plugin
expects PEM encoded PKIX(x509) or PGP(GPG) certificate payloads.
The plugin is targeted to improve interoperability with Racoon, which
supports this type of authentication, ignoring in-stream certificates
and using only DNS provided certificates for FQDN IDs.
Tobias Brunner [Thu, 29 Aug 2013 13:58:48 +0000 (15:58 +0200)]
ipseckey: Properly handle failure to create a certificate
Also, try the next key (if available) if parsing an IPSECKEY failed.
Tobias Brunner [Thu, 29 Aug 2013 13:47:05 +0000 (15:47 +0200)]
ipseckey: Refactor creation of certificate enumerator
Reduces nesting and fixes a memory leak (rrsig_enum).
Tobias Brunner [Thu, 29 Aug 2013 13:25:23 +0000 (15:25 +0200)]
ipseckey: Depend on plugin features to create public key and certificate objects
Tobias Brunner [Thu, 29 Aug 2013 07:04:36 +0000 (09:04 +0200)]
unbound: Add support for DLV (DNSSEC Lookaside Validation)
Fixes #392.
Tobias Brunner [Fri, 11 Oct 2013 13:33:06 +0000 (15:33 +0200)]
Merge branch 'fwmarks'
Allows setting a mark on outbound packets and the routing rule
installed by charon. With those settings it is possible to setup
tunnels with kernel-libipsec where the remote peer is part of the remote
traffic selector.
The following example settings in strongswan.conf show how this can be
configured:
charon {
plugins {
kernel-netlink {
fwmark = !0x42
}
socket-default {
fwmark = 0x42
}
kernel-libipsec {
allow_peer_ts = yes
}
}
}
To make it work it is necessary to set
net.ipv4.conf.all.rp_filter
appropriately, otherwise the kernel drops the packets.
References #380.