Martin Willi [Wed, 23 Oct 2013 12:54:00 +0000 (14:54 +0200)]
unit-tests: Add a simple semaphore test
Martin Willi [Wed, 23 Oct 2013 12:14:21 +0000 (14:14 +0200)]
unit-tests: Add a spinlock test case
Martin Willi [Tue, 22 Oct 2013 15:44:57 +0000 (17:44 +0200)]
unit-tests: Add a rwlock condvar thread cancel test
Martin Willi [Tue, 22 Oct 2013 15:41:37 +0000 (17:41 +0200)]
unit-tests: Add a rwlock condvar absolute timed wait test
Martin Willi [Tue, 22 Oct 2013 15:39:29 +0000 (17:39 +0200)]
unit-tests: Add a rwlock condvar wait test
Martin Willi [Tue, 22 Oct 2013 15:36:29 +0000 (17:36 +0200)]
unit-tests: Add a rwlock condvar broadcast test
Martin Willi [Tue, 22 Oct 2013 15:32:33 +0000 (17:32 +0200)]
unit-tests: Add a rwlock condvar test
Martin Willi [Tue, 22 Oct 2013 15:24:59 +0000 (17:24 +0200)]
unit-tests: Add a rwlock test case
Martin Willi [Tue, 22 Oct 2013 14:05:11 +0000 (16:05 +0200)]
unit-tests: Add a condvar test where wait gets cancelled
Martin Willi [Tue, 22 Oct 2013 14:04:25 +0000 (16:04 +0200)]
unit-tests: Add a condvar test working on a recursive mutex
Martin Willi [Mon, 21 Oct 2013 15:53:37 +0000 (17:53 +0200)]
unit-tests: Add a condvar absolute timed wait test
Martin Willi [Mon, 21 Oct 2013 15:45:58 +0000 (17:45 +0200)]
unit-tests: Add a condvar timed wait test
Martin Willi [Mon, 21 Oct 2013 15:27:49 +0000 (17:27 +0200)]
unit-tests: Add condvar broadcast test
Martin Willi [Mon, 21 Oct 2013 15:24:43 +0000 (17:24 +0200)]
unit-tests: Add a simple condvar test
Martin Willi [Mon, 21 Oct 2013 14:58:22 +0000 (16:58 +0200)]
unit-tests: Add a thread local storage cleanup test
Martin Willi [Mon, 21 Oct 2013 14:37:51 +0000 (16:37 +0200)]
unit-tests: Add a thread local storage fuzzer test
Martin Willi [Mon, 21 Oct 2013 14:12:52 +0000 (16:12 +0200)]
unit-tests: Add a thread cleanup pop test
Martin Willi [Mon, 21 Oct 2013 14:09:10 +0000 (16:09 +0200)]
unit-tests: Add cleanup test cases for different thread exit situations
Martin Willi [Mon, 21 Oct 2013 13:08:14 +0000 (15:08 +0200)]
unit-tests: Add a test for thread_cancellation_point()
Martin Willi [Mon, 21 Oct 2013 12:41:12 +0000 (14:41 +0200)]
unit-tests: Add thread cancellability testing
Martin Willi [Mon, 21 Oct 2013 12:32:06 +0000 (14:32 +0200)]
unit-tests: Add a simple thread_cancel() test
Martin Willi [Mon, 21 Oct 2013 12:17:16 +0000 (14:17 +0200)]
unit-tests: Add thread_exit() tests to both join and detach test cases
Martin Willi [Mon, 21 Oct 2013 12:10:38 +0000 (14:10 +0200)]
unit-tests: Add a simple thread detach test
Martin Willi [Mon, 21 Oct 2013 09:45:10 +0000 (11:45 +0200)]
unit-tests: Add a simple thread join() test
Martin Willi [Wed, 16 Oct 2013 13:51:12 +0000 (15:51 +0200)]
unit-tests: Add test suite for streams and services
Martin Willi [Wed, 16 Oct 2013 11:45:48 +0000 (13:45 +0200)]
unit-tests: Add a few test cases for watcher
Martin Willi [Wed, 16 Oct 2013 13:49:58 +0000 (15:49 +0200)]
unit-tests: Support testing multi-threaded code
Martin Willi [Mon, 21 Oct 2013 09:38:29 +0000 (11:38 +0200)]
unit-tests: Use a home-brew thread barrier to remove pthread dependency
Martin Willi [Tue, 5 Nov 2013 09:13:36 +0000 (10:13 +0100)]
unit-tests: Show how many test vectors have failed on test failure
Martin Willi [Tue, 15 Oct 2013 16:15:29 +0000 (18:15 +0200)]
unit-tests: Skip fmemopen() based printf() tests if not available
Martin Willi [Tue, 22 Oct 2013 16:21:01 +0000 (18:21 +0200)]
unit-tests: Avoid name clash with clone() from <sched.h>
Martin Willi [Tue, 15 Oct 2013 13:15:45 +0000 (15:15 +0200)]
unit-tests: Fix a compiler warning in identification tests
Martin Willi [Mon, 4 Nov 2013 11:13:08 +0000 (12:13 +0100)]
unit-tests: Clean up memory in new asn1 unit tests
Test runner checks for leaks when leak detective is enabled.
Martin Willi [Thu, 17 Oct 2013 15:05:38 +0000 (17:05 +0200)]
unit-tests: Pass linked_list->invoke* varargs as uintptr_t
Passing integers of unspecified length may result in passing an integer shorter
than uintptr_t. When reading them back, we might get more data than passed,
resulting in a failure.
Martin Willi [Wed, 16 Oct 2013 10:24:21 +0000 (12:24 +0200)]
unit-tests: Initialize backtracing before printing any backtraces
Martin Willi [Wed, 23 Oct 2013 13:50:17 +0000 (15:50 +0200)]
thread: Note that tread_cancellation_point temporarily activates cancelability
Martin Willi [Wed, 16 Oct 2013 10:32:15 +0000 (12:32 +0200)]
backtrace: Support backtracing even if library is not initialized
But of course backtracing must be initialized anyway using backtrace_init().
Martin Willi [Mon, 4 Nov 2013 10:26:33 +0000 (11:26 +0100)]
unit-tests: Enable libstrongswan tests even if --enable-unit-tests not set
As we don't depend on the check framework anymore, we can enable the unit tests
by default. These are built/executed with "make check" only, so it makes no
sense to disable them.
Martin Willi [Mon, 4 Nov 2013 10:59:11 +0000 (11:59 +0100)]
automake: Don't use parallel test harness being the default with automake 1.13
We have no need for the parallel test harness, and we prefer to have the output
of make check on the console
Martin Willi [Mon, 14 Oct 2013 18:29:06 +0000 (20:29 +0200)]
unit-tests: Implement testing framework without "check"
Martin Willi [Wed, 6 Nov 2013 09:10:49 +0000 (10:10 +0100)]
leak-detective: Call {gm,local}time_r() to allocate static buffer
On OS X Mavericks, these functions use a static allocation and are hard
to whitelist using other means.
Martin Willi [Wed, 6 Nov 2013 09:09:04 +0000 (10:09 +0100)]
leak-detective: Register OS X specific hooks just once
If we initialize libstrongswan more than once in the same process, we may
not register the hooks twice.
Martin Willi [Wed, 16 Oct 2013 09:16:41 +0000 (11:16 +0200)]
leak-detective: Reset leak list during cleanup
This resets leak detective state should it get created/destroyed more than once.
Martin Willi [Wed, 16 Oct 2013 08:37:38 +0000 (10:37 +0200)]
leak-detective: Use callback functions to report leaks and usage information
This is more flexible than printing reports to a FILE.
Martin Willi [Mon, 14 Oct 2013 14:44:27 +0000 (16:44 +0200)]
unit-tests: Move test suites to its own subfolder
Tobias Brunner [Wed, 6 Nov 2013 09:20:48 +0000 (10:20 +0100)]
ikev2: Properly free DH secret in case of errors during IKE key derivation
Fixes #437.
Andreas Steffen [Mon, 4 Nov 2013 17:35:25 +0000 (18:35 +0100)]
unit-tests: completed asn1_suite
Andreas Steffen [Sun, 3 Nov 2013 20:34:42 +0000 (21:34 +0100)]
Updated test_runner.h with new suites
Andreas Steffen [Sun, 3 Nov 2013 16:40:51 +0000 (17:40 +0100)]
unit-tests: 100% function coverage for asn1.c
Andreas Steffen [Sat, 2 Nov 2013 20:20:04 +0000 (21:20 +0100)]
unit-tests: 12 asn1 functions tested
Andreas Steffen [Sat, 2 Nov 2013 20:17:46 +0000 (21:17 +0100)]
Some minor refactoring in asn1.c
Andreas Steffen [Sat, 2 Nov 2013 01:11:32 +0000 (02:11 +0100)]
Do not free zero-length integer
Andreas Steffen [Fri, 1 Nov 2013 21:29:29 +0000 (22:29 +0100)]
unit-tests: Added tests for pen_type_t
Andreas Steffen [Fri, 1 Nov 2013 13:07:11 +0000 (14:07 +0100)]
Added IFOM_CAPABILITY notify message type
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.