Tobias Brunner [Thu, 19 Jun 2014 09:58:15 +0000 (11:58 +0200)]
starter: Don't directly refer to source files in Makefile for unit tests
Older versions of automake have trouble recursively cleaning such
constructs properly.
Tobias Brunner [Wed, 18 Jun 2014 13:11:32 +0000 (15:11 +0200)]
starter: Explicitly allow @# at the beginning of strings
Since we treat everything after # as comment identities of type
ID_KEY_ID couldn't be parsed otherwise, unless quoted.
Tobias Brunner [Wed, 18 Jun 2014 09:31:49 +0000 (11:31 +0200)]
starter: Add --conftest option to test ipsec.conf syntax
Tobias Brunner [Wed, 21 May 2014 13:06:12 +0000 (15:06 +0200)]
starter: Remove old parser
Tobias Brunner [Wed, 21 May 2014 12:51:44 +0000 (14:51 +0200)]
starter: Use new parser to read config file
Tobias Brunner [Wed, 21 May 2014 12:36:46 +0000 (14:36 +0200)]
starter: Move kw_entry_t definition
Tobias Brunner [Wed, 21 May 2014 11:36:24 +0000 (13:36 +0200)]
starter: Remove unused ARG_LST argument type
Tobias Brunner [Tue, 20 May 2014 16:16:48 +0000 (18:16 +0200)]
starter: Add tests for ipsec.conf parser
Tobias Brunner [Tue, 20 May 2014 17:27:50 +0000 (19:27 +0200)]
unit-tests: Make fixture functions optional
Tobias Brunner [Tue, 20 May 2014 16:15:13 +0000 (18:15 +0200)]
starter: Add new bison/flex based parser for ipsec.conf
The parser simply returns key/value pairs of all sections, it already
resolves also= and allows overriding options in all included sections
(not only %default), options set in included section can also be cleared
again (key=).
It provides other improvements too, like quoted strings (with escape
sequences), unlimited includes and better whitespace/comment handling.
Tobias Brunner [Tue, 20 May 2014 14:40:39 +0000 (16:40 +0200)]
starter: Remove out of date README
Tobias Brunner [Fri, 16 May 2014 09:53:08 +0000 (11:53 +0200)]
collections: Add interface for read-only dictionaries
Tobias Brunner [Tue, 27 Aug 2013 14:37:41 +0000 (16:37 +0200)]
hashtable: Add destroy_function method
Tobias Brunner [Thu, 20 Feb 2014 16:27:54 +0000 (17:27 +0100)]
stroke: Add --daemon option
Tobias Brunner [Thu, 20 Feb 2014 15:17:11 +0000 (16:17 +0100)]
starter: Use stream abstraction to communicate with stroke plugin
Tobias Brunner [Thu, 20 Feb 2014 15:04:36 +0000 (16:04 +0100)]
stroke: Use stream abstraction to communicate with stroke plugin
Without this changing charon.plugins.stroke.socket would not really
work.
Martin Willi [Thu, 19 Jun 2014 09:09:20 +0000 (11:09 +0200)]
winhttp: Fix a typo to properly release connection handle
Fixes a rather large memory leak in HTTP fetches.
Martin Willi [Thu, 19 Jun 2014 08:48:27 +0000 (10:48 +0200)]
load-tester: Add a crl option to include a CRL uri in generated certificates
Martin Willi [Thu, 19 Jun 2014 08:10:54 +0000 (10:10 +0200)]
bus: Properly va_copy() argument list before passing it to printf() functions
As we later potentially use args again, we can't consume it with printf
functions without copying it first. Clone list before passing it to any
consuming function.
Fixes #621.
Martin Willi [Wed, 18 Jun 2014 14:50:18 +0000 (16:50 +0200)]
child-sa: Set replay window on both inbound and outbound SA
While the outbound SA actually does not need a replay window, the kernel rejects
zero replay windows on SAs using ESN. The ESN flag is required to use the full
sequence number in ICV calculation, hence we set the replay window.
This restores the behavior we had before
30c009c2.
Martin Willi [Wed, 18 Jun 2014 12:57:21 +0000 (14:57 +0200)]
kernel-netlink: Never use XFRMA_REPLAY_ESN_VAL to configure zero replay windows
Trying to disable replay windows using the ESN attribute fails with EINVAL.
Use non-ESN legacy format to disable replay windows, even if ESN has been
negotiated over IKE.
Andreas Steffen [Wed, 18 Jun 2014 12:57:33 +0000 (14:57 +0200)]
Added swanctl/net2net-route scenario
Andreas Steffen [Wed, 18 Jun 2014 12:35:59 +0000 (14:35 +0200)]
Added swanctl/net2net-start scenario
Andreas Steffen [Wed, 18 Jun 2014 12:35:36 +0000 (14:35 +0200)]
Minor changes in swanctl scenarios
Andreas Steffen [Wed, 18 Jun 2014 12:01:02 +0000 (14:01 +0200)]
The policy_started check is not needed any more
Andreas Steffen [Wed, 18 Jun 2014 11:16:18 +0000 (13:16 +0200)]
Added swanctl --list-pols and swanctl --stats do scenario log
Tobias Brunner [Wed, 18 Jun 2014 07:36:08 +0000 (09:36 +0200)]
testing: Delete accidentally committed test cases
Tobias Brunner [Fri, 16 May 2014 08:39:22 +0000 (10:39 +0200)]
ikev1: Allow late connection switching based on XAuth username
Tobias Brunner [Mon, 5 May 2014 11:55:15 +0000 (13:55 +0200)]
identification: Only use either , or / to separate RDNs
If a DN starts with a slash (or whitespace and a slash) slashes will
be used, otherwise commas.
Tobias Brunner [Thu, 3 Apr 2014 07:23:55 +0000 (09:23 +0200)]
sshkey: Fix loading of ECDSA keys from files
Tobias Brunner [Thu, 3 Apr 2014 07:21:43 +0000 (09:21 +0200)]
sshkey: Add support to parse SSH public keys from files with left|rightsigkey
Martin Willi [Tue, 17 Jun 2014 15:56:05 +0000 (17:56 +0200)]
Merge branch 'vici-stats'
Add a vici/swanctl "stats" command to print daemon info, similar to the header
shown in "ipsec statusall".
Martin Willi [Wed, 11 Jun 2014 14:50:59 +0000 (16:50 +0200)]
vici: Support memory stats without leak-detective on Windows
Martin Willi [Wed, 11 Jun 2014 14:19:38 +0000 (16:19 +0200)]
swanctl: Add a --stats command to print daemon infos and statistics
Martin Willi [Wed, 11 Jun 2014 14:07:40 +0000 (16:07 +0200)]
vici: Add a stats command returning various daemon infos and statistics
Martin Willi [Wed, 4 Jun 2014 08:37:59 +0000 (10:37 +0200)]
swanctl: Support private key decryption passhprases in swanctl.conf
While there is no real security benefit of storing private keys encrypted if
the passphrase is stored along with it, there still seems to be demand for this
functionality. We add it for compatibility with ipsec.secrets, even if it is
not really recommended.
Martin Willi [Tue, 17 Jun 2014 14:50:14 +0000 (16:50 +0200)]
Merge branch 'conn-specific-replay'
Introduces a connection specific replay_window option, overriding the global
charon.replay_window strongswan.conf option. Original patch courtesy of
Zheng Zhong and Christophe Gouault from 6Wind.
Martin Willi [Tue, 17 Jun 2014 14:44:58 +0000 (16:44 +0200)]
NEWS: Mention replay_window ipsec.conf option
Martin Willi [Tue, 17 Jun 2014 14:48:25 +0000 (16:48 +0200)]
swanctl: Document replay_window option
Martin Willi [Mon, 16 Jun 2014 15:41:07 +0000 (17:41 +0200)]
vici: Support a replay_window CHILD_SA option
Martin Willi [Mon, 16 Jun 2014 15:36:13 +0000 (17:36 +0200)]
starter: Add a replay_window connection option
Martin Willi [Mon, 16 Jun 2014 15:33:45 +0000 (17:33 +0200)]
kernel-pfkey: Support connection specific replay window sizes up to 32 packets
Martin Willi [Mon, 16 Jun 2014 15:32:49 +0000 (17:32 +0200)]
kernel-netlink: Support connection specific replay window sizes
Martin Willi [Mon, 16 Jun 2014 15:31:43 +0000 (17:31 +0200)]
kernel-interface: Add a replay_window parameter to add_sa()
Martin Willi [Mon, 16 Jun 2014 15:26:33 +0000 (17:26 +0200)]
child-cfg: Store connection specific replay window on CHILD_SA config
Martin Willi [Tue, 17 Jun 2014 13:24:06 +0000 (15:24 +0200)]
Merge branch 'win-errno'
Improves errno handling for Winsock2 compatibility functions.
Martin Willi [Wed, 11 Jun 2014 15:10:19 +0000 (17:10 +0200)]
windows: Declare strerror_s()
Older MinGW versions seem to miss this function declaration. Fixes build on
Travis using Ubuntu 12.04.
Martin Willi [Wed, 11 Jun 2014 10:07:34 +0000 (12:07 +0200)]
windows: Extend strerror_r/s by extended POSIX errno strings
Martin Willi [Wed, 11 Jun 2014 09:38:52 +0000 (11:38 +0200)]
windows: Implement strerror_r using strerror_s
Martin Willi [Wed, 11 Jun 2014 09:08:03 +0000 (11:08 +0200)]
windows: Wrap most Winsock2 Posix functions to set errno
While Winsock provides many Posix compatibility functions, they do not set
errno, but use WSAGetLastError() for error reporting. The wrapped functions
derive an errno from WSAGetLastError() on failure.
Martin Willi [Wed, 11 Jun 2014 13:04:15 +0000 (15:04 +0200)]
watcher: Prevent race condition spawning multiple watcher threads
If file descriptors get added and removed in rapid succession, the active
watcher thread might not take notice of it and continues running. However, add()
spawns a watcher thread whenever a file descriptor is added to an empty set.
This could result in multiple watcher threads, which is fixed by a proper
check for running watchers.
Martin Willi [Wed, 11 Jun 2014 12:24:22 +0000 (14:24 +0200)]
thread-value: Defer cleanup handling to thread termination on Windows
Instead of cleaning up all thread-values during destruction, cleanup handler
is invoked when a thread detaches. Thread detaching is cough using the Windows
DllMain() entry point, and allows us to basically revert
204098a7.
Using this mechanism, we make sure that the cleanup handler is invoked by the
the correct thread. Further, this mechanism works for externally-spawned
threads which run outside of our thread_cb() routine, and works more efficiently
with short-running threads.
Martin Willi [Tue, 10 Jun 2014 13:58:31 +0000 (15:58 +0200)]
socket-win: Use non-overlapped I/O and socket event selection
The use of overlapped I/O was incorrect, as we passed stack based buffers, but
did not cancel/wait for pending completion on all sockets. Our receive-from-all
socket interface is actually tricky to implement using overlapped I/O. Switch
to WSAEventSelect() event management, which can be canceled properly while
working in a select()-like way.
Martin Willi [Tue, 17 Jun 2014 13:15:02 +0000 (15:15 +0200)]
Merge branch 'attr-enum'
Introduces a handle_vips() hook very similar to assign_vips(), but for clients
handling virtual IPs and other configuration attributes. Non-handled attributes
are stored on the IKE_SA as well and can be enumerated.
Martin Willi [Tue, 11 Feb 2014 09:09:08 +0000 (10:09 +0100)]
bus: Add a handle_vips() hook invoked after handling configuration attributes
Similar to assign_vips() used by a peer assigning virtual IPs to the other peer,
the handle_vips() hook gets invoked on a peers after receiving attributes. On
release of the same attributes the hook gets invoked again.
This is useful to inspect handled attributes, as the ike_updown() hook is
invoked after authentication, when attributes have not been handled yet.
Martin Willi [Tue, 11 Feb 2014 08:49:44 +0000 (09:49 +0100)]
ikev1: Invoke the assign_vips() bus hook for IKEv1 as well
Martin Willi [Tue, 11 Feb 2014 09:12:24 +0000 (10:12 +0100)]
ike: Create an enumerator for (un-)handled configuration attributes on IKE_SA
Martin Willi [Tue, 11 Feb 2014 08:19:45 +0000 (09:19 +0100)]
ike: Store unhandled attributes on IKE_SA as well
Andreas Steffen [Sun, 15 Jun 2014 09:40:15 +0000 (11:40 +0200)]
Version bump to 5.2.0rc1
Andreas Steffen [Sat, 14 Jun 2014 13:43:44 +0000 (15:43 +0200)]
Mentioned first six swanctl scenarios in NEWS
Andreas Steffen [Sat, 14 Jun 2014 13:14:53 +0000 (15:14 +0200)]
Added swanctl/rw-psk-fqdn and swanctl/rw-psk-ipv4 scenarios
Andreas Steffen [Thu, 12 Jun 2014 21:00:26 +0000 (23:00 +0200)]
Single-line --raw mode simplifies evaltest of swanctl scenarios
Andreas Steffen [Thu, 12 Jun 2014 20:57:15 +0000 (22:57 +0200)]
Split swanctl --raw mode into single-line and --pretty mode
Andreas Steffen [Wed, 11 Jun 2014 16:11:11 +0000 (18:11 +0200)]
Added swanctl/ip-pool-db scenario
Andreas Steffen [Wed, 11 Jun 2014 16:09:48 +0000 (18:09 +0200)]
Updated strongTNC configuration
Andreas Steffen [Tue, 10 Jun 2014 14:11:25 +0000 (16:11 +0200)]
Added swanctl/ip-pool scenario
Andreas Steffen [Tue, 10 Jun 2014 13:10:21 +0000 (15:10 +0200)]
Allow multiple hash values in the file reference database
Andreas Steffen [Tue, 10 Jun 2014 07:13:20 +0000 (09:13 +0200)]
Added swanctl/rw-cert scenario
Andreas Steffen [Tue, 10 Jun 2014 07:11:21 +0000 (09:11 +0200)]
Added Android 4.3 and 4.4.3 to imv database
Andreas Steffen [Mon, 9 Jun 2014 07:59:09 +0000 (09:59 +0200)]
Define default swanctl credentials in hosts directory
Andreas Steffen [Tue, 10 Jun 2014 14:18:23 +0000 (16:18 +0200)]
Added missing units (s = seconds)
Andreas Steffen [Sun, 8 Jun 2014 09:13:32 +0000 (11:13 +0200)]
Fixes in SWID entity support
Martin Willi [Fri, 6 Jun 2014 14:32:31 +0000 (16:32 +0200)]
Merge branch 'win-32bit'
Fixes some issues when building 32-bit Windows binaries. Mostly related
to the call API. Introduces a Travis 32-bit Windows build variant.
Martin Willi [Thu, 5 Jun 2014 12:07:21 +0000 (14:07 +0200)]
travis: Add a Windows 32-bit variant build test
Martin Willi [Thu, 5 Jun 2014 11:14:13 +0000 (13:14 +0200)]
windows: Link against psapi32
On some version GetModuleFileNameEx/GetModuleInformation is in psapi32 instead
of kernel32. We link to both libraries to make sure we have it.
Martin Willi [Thu, 5 Jun 2014 11:12:38 +0000 (13:12 +0200)]
backtrace: Use GetModuleInformation/GetModuleFileNameEx directly on Win32
The K32 variants are actually needed on 64-bit only.
Martin Willi [Thu, 5 Jun 2014 11:10:43 +0000 (13:10 +0200)]
windows: Use WINAPI call convention for Windows API callbacks
For x86_64 it does not actually matter, but for i686 builds the call convention
is different with WINAPI.
Martin Willi [Thu, 5 Jun 2014 11:08:38 +0000 (13:08 +0200)]
windows: Do not check if having clock_gettime()
Windows does not have it, but libwinpthread has. If this library is available
during build, it will be linked, which we prefer to avoid.
Andreas Steffen [Fri, 6 Jun 2014 09:18:11 +0000 (11:18 +0200)]
Version bump to 5.2.0dr6
Andreas Steffen [Fri, 6 Jun 2014 09:17:38 +0000 (11:17 +0200)]
Ubuntu 14.04 updated to 3.13.0-29 kernel
Andreas Steffen [Fri, 6 Jun 2014 09:16:41 +0000 (11:16 +0200)]
Extended pt-tls-client PLUGINS list
Andreas Steffen [Fri, 6 Jun 2014 08:55:42 +0000 (10:55 +0200)]
Updated REST API
Tobias Brunner [Fri, 6 Jun 2014 08:12:26 +0000 (10:12 +0200)]
android: Add all Android.mk files to the tarball
Andreas Steffen [Thu, 5 Jun 2014 09:26:54 +0000 (11:26 +0200)]
Fixed typo in strongswan.conf
Martin Willi [Wed, 4 Jun 2014 14:41:50 +0000 (16:41 +0200)]
NEWS: Introduce Windows support
Martin Willi [Wed, 4 Jun 2014 14:35:02 +0000 (16:35 +0200)]
Merge branch 'win-fetcher'
Implements a HTTP/HTTPS fetcher for the Windows platform using the native
WinHTTP API.
Martin Willi [Wed, 2 Apr 2014 09:36:19 +0000 (11:36 +0200)]
travis: Build "all" tests without Windows HTTP fetcher
We don't include it in the Windows build test either, as MinGW does not come
with -lwinhttp.
Martin Willi [Fri, 4 Apr 2014 08:37:59 +0000 (10:37 +0200)]
pki: Support complex trustchain and revocation checking in --verify
Martin Willi [Mon, 2 Jun 2014 10:52:32 +0000 (12:52 +0200)]
unit-tests: Zero-initialize chunk to avoid free on non-successful fetch
If the fetch fails, the fetcher is not required to return an empty chunk. Avoid
the resulting invalid free() by initializing data.ptr to NULL.
Martin Willi [Mon, 2 Jun 2014 09:55:18 +0000 (11:55 +0200)]
winhttp: Support basic authentication for URLs having credentials
Martin Willi [Mon, 19 May 2014 14:15:37 +0000 (16:15 +0200)]
winhttp: Support new response code fetcher option
Martin Willi [Thu, 30 Jan 2014 13:07:53 +0000 (14:07 +0100)]
winhttp: Implement a http(s) fetcher based on Microsofts WinHTTP API
Martin Willi [Wed, 4 Jun 2014 14:32:23 +0000 (16:32 +0200)]
Merge branch 'win-kernel'
Adds the kernel-iph and kernel-wfp kernel backends for the Windows platform.
kernel-iph provides a networking backend using the IP Helper native Windows
API, while the kernel-wfp backend implements an interface to the Windows Kernel
IPsec layer using the Windows Filtering Platform API.
Martin Willi [Wed, 2 Apr 2014 09:35:19 +0000 (11:35 +0200)]
travis: Build "all" tests without Windows kernel backends
Martin Willi [Fri, 9 May 2014 13:11:58 +0000 (15:11 +0200)]
kernel-wfp: Include Windows header patch for MinGW 4.8.1
Martin Willi [Wed, 9 Apr 2014 08:42:36 +0000 (10:42 +0200)]
kernel-wfp: Clone acquire traffic selectors only if they exist
Martin Willi [Wed, 9 Apr 2014 08:42:15 +0000 (10:42 +0200)]
kernel-wfp: Install routes for trap policies
Martin Willi [Wed, 9 Apr 2014 08:41:32 +0000 (10:41 +0200)]
kernel-wfp: Refactor route management to separate function
Martin Willi [Tue, 8 Apr 2014 13:58:38 +0000 (15:58 +0200)]
kernel-wfp: Install tunnel mode policies to appropriate sub-layers
While it is unclear if this has any effect at all, we prefer specific sublayers
to install policies as suggested.
Martin Willi [Thu, 2 Jan 2014 16:31:30 +0000 (17:31 +0100)]
kernel-wfp: Declare GUIDs and auth/cipher configs missing in some MinGW builds