Andreas Steffen [Fri, 1 Nov 2013 12:46:58 +0000 (13:46 +0100)]
Updated copyright statement
Martin Willi [Fri, 1 Nov 2013 11:05:48 +0000 (12:05 +0100)]
charon-xpc: Set AUTH_RULE_IDENTITY_LOOSE on responder config
This allows the server to use a different IKE identity as long as the
configured hostname is contained in the certificate.
Martin Willi [Fri, 1 Nov 2013 10:28:53 +0000 (11:28 +0100)]
ike: Don't immediately DPD after deferred DELETEs following IKE_SA rekeying
Some peers seem to defer DELETEs a few seconds after rekeying the IKE_SA, which
is perfectly valid. For short(er) DPD delays, this leads to the situation where
we send a DPD request during set_state(), but the IKE_SA has no hosts set yet.
Avoid that DPD by resetting the INBOUND timestamp during set_state().
Andreas Steffen [Thu, 31 Oct 2013 21:11:11 +0000 (22:11 +0100)]
Added security info on CVE-2013-6075 and CVE-2013-6076
Volker Rümelin [Fri, 11 Oct 2013 07:38:24 +0000 (09:38 +0200)]
ikev1: Properly initialize list of fragments in case fragment ID is 0
Fixes CVE-2013-6076.
Martin Willi [Mon, 7 Oct 2013 12:21:57 +0000 (14:21 +0200)]
identification: Properly check length before comparing for binary DN equality
Fixes CVE-2013-6075.
Martin Willi [Tue, 8 Oct 2013 13:43:50 +0000 (15:43 +0200)]
unit-tests: Additionally do reverse match checking with empty identities
Martin Willi [Tue, 8 Oct 2013 12:49:45 +0000 (14:49 +0200)]
unit-tests: Test matching against some empty data identities
Martin Willi [Tue, 8 Oct 2013 12:34:41 +0000 (14:34 +0200)]
unit-tests: Test for equality against some empty data identities
Martin Willi [Tue, 8 Oct 2013 12:33:12 +0000 (14:33 +0200)]
unit-tests: Let identity equality test fail if a->equals(b) != b->equals(a)
Andreas Steffen [Thu, 31 Oct 2013 11:01:47 +0000 (12:01 +0100)]
PB-TNC PDP_REFERRAL message doesn't have to be in RESULT batch
Andreas Steffen [Thu, 31 Oct 2013 08:42:15 +0000 (09:42 +0100)]
Version bump to 5.1.1
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.