Andreas Steffen [Wed, 21 Sep 2016 12:14:42 +0000 (14:14 +0200)]
Version bump to 5.5.1dr4
Andreas Steffen [Tue, 20 Sep 2016 20:01:07 +0000 (22:01 +0200)]
mgf1: Refactored MGF1 as an XOF
Tobias Brunner [Tue, 20 Sep 2016 15:24:52 +0000 (17:24 +0200)]
leak-detective: Fix compile warning due to unused variable if LD is disabled
Tobias Brunner [Tue, 20 Sep 2016 14:26:58 +0000 (16:26 +0200)]
Merge branch 'testing-leak-detective'
Test scenarios now fail if any leaks are detected by the leak detective.
Several leaks found this way have been fixed.
Tobias Brunner [Tue, 13 Sep 2016 15:28:21 +0000 (17:28 +0200)]
leak-detective: Whitelist thread ID getter
In case an external thread calls into our code and logs messages, a thread
object is allocated that will never be released. Even if we try to clean
up the object via thread value destructor there is no guarantee that the
thread actually terminates before we check for leaks, which seems to be the
case for the Ada Tasking threads.
Tobias Brunner [Tue, 13 Sep 2016 15:17:09 +0000 (17:17 +0200)]
charon-tkm: Build C code with debug information
Tobias Brunner [Tue, 13 Sep 2016 14:28:01 +0000 (16:28 +0200)]
leak-detective: Whitelist functions of the Ada runtime related to Tasking
Tobias Brunner [Tue, 13 Sep 2016 14:27:12 +0000 (16:27 +0200)]
charon-tkm: Free name of the PID file
Tobias Brunner [Tue, 13 Sep 2016 14:24:30 +0000 (16:24 +0200)]
charon-tkm: Deinitialize tkm before libstrongswan
In particular because of leak-detective.
Tobias Brunner [Tue, 13 Sep 2016 13:38:43 +0000 (15:38 +0200)]
leak-detective: Whitelist some glib/libsoup functions
Some of these are pretty broad, so maybe an alternative option is to
not use the soup plugin in the openssl-ikev2/rw-suite-b* scenarios. But
the plugin is not tested anywhere else so lets go with this for now.
Tobias Brunner [Tue, 13 Sep 2016 13:34:02 +0000 (15:34 +0200)]
testing: Use curl instead of soup plugin in libipsec/rw-suite-b scenario
The soup plugin is already used in the openssl-ikev2/rw-suite-b*
scenarios.
Tobias Brunner [Tue, 13 Sep 2016 12:27:54 +0000 (14:27 +0200)]
eap-peap: Fix memory leaks when handling tunneled methods
Tobias Brunner [Tue, 13 Sep 2016 12:19:59 +0000 (14:19 +0200)]
ipseckey: Properly free enumerated certificates
Tobias Brunner [Tue, 13 Sep 2016 12:15:41 +0000 (14:15 +0200)]
ipseckey: Properly free public key after creating certificate
Tobias Brunner [Tue, 13 Sep 2016 12:13:47 +0000 (14:13 +0200)]
dnscert: Properly free enumerated certificates
Tobias Brunner [Tue, 13 Sep 2016 12:12:49 +0000 (14:12 +0200)]
unbound: Avoid unnecessary cloning of RR list that caused a memory leak
Tobias Brunner [Tue, 13 Sep 2016 12:12:29 +0000 (14:12 +0200)]
unbound: Fix memory leak
Tobias Brunner [Tue, 13 Sep 2016 10:33:27 +0000 (12:33 +0200)]
pool: Fix (known) memory leak when querying leases
Tobias Brunner [Tue, 13 Sep 2016 10:27:33 +0000 (12:27 +0200)]
leak-detective: Whitelist leak in libldap
Tobias Brunner [Tue, 13 Sep 2016 10:26:55 +0000 (12:26 +0200)]
testing: Fix totals if post test checks fail
Tobias Brunner [Tue, 13 Sep 2016 09:50:09 +0000 (11:50 +0200)]
testing: Log leaks and fail tests if any are detected
Tobias Brunner [Tue, 13 Sep 2016 08:06:28 +0000 (10:06 +0200)]
leak-detective: Optionally write report to a log file
Tobias Brunner [Tue, 20 Sep 2016 11:26:03 +0000 (13:26 +0200)]
vici: Fix indention of flush_certs() method in Python bindings
Tobias Brunner [Tue, 20 Sep 2016 12:30:22 +0000 (14:30 +0200)]
travis: Run 32-bit Windows build on precise (12.04) image
That's required due to a bug in MinGW 3.1.0 that's shipped with trusty.
Tobias Brunner [Tue, 20 Sep 2016 11:19:33 +0000 (13:19 +0200)]
travis: Properly pass back result of make
Fixes:
4e8f5a189cce ("travis: Add apidoc check")
Tobias Brunner [Tue, 20 Sep 2016 09:51:59 +0000 (11:51 +0200)]
travis: Don't disable connmark and forecast plugins anymore
They build fine on Ubuntu 14.04.
Tobias Brunner [Thu, 15 Sep 2016 16:35:53 +0000 (18:35 +0200)]
Merge branch 'maemo-bye-bye'
Removes the code and helper files related to the unused and unmaintained
Maemo port.
Tobias Brunner [Tue, 6 Sep 2016 14:15:31 +0000 (16:15 +0200)]
packages: Remove obsolete Maemo packaging files
Tobias Brunner [Tue, 6 Sep 2016 14:14:47 +0000 (16:14 +0200)]
maemo: Remove unused plugin
Tobias Brunner [Tue, 6 Sep 2016 14:12:51 +0000 (16:12 +0200)]
maemo: Remove obsolete status/settings applet
Tobias Brunner [Thu, 15 Sep 2016 09:58:51 +0000 (11:58 +0200)]
swanctl: Add man page entry for flush-certs command
Andreas Steffen [Thu, 15 Sep 2016 09:45:17 +0000 (11:45 +0200)]
Version bump to 5.5.1dr3
Andreas Steffen [Thu, 15 Sep 2016 09:39:16 +0000 (11:39 +0200)]
Merge branch 'flush-certs'
Andreas Steffen [Thu, 8 Sep 2016 09:59:02 +0000 (11:59 +0200)]
vici: flush-certs command flushes certificate cache
When fresh CRLs are released with a high update frequency (e.g.
every 24 hours) or OCSP is used then the certificate cache gets
quickly filled with stale CRLs or OCSP responses. The new VICI
flush-certs command allows to flush e.g. cached CRLs or OCSP
responses only. Without the type argument all kind of certificates
(e.g. also received end entity and intermediate CA certificates)
are purged.
Tobias Brunner [Mon, 12 Sep 2016 09:54:49 +0000 (11:54 +0200)]
auth-cfg-wrapper: Fix memory leak with hash-and-URL certificates
We wrap the auth-cfg object and its contents, so there is no need to get
an additional reference for the enumerated certificate.
Fixes
a44bb9345f04 ("merged multi-auth branch back into trunk")
Tobias Brunner [Fri, 9 Sep 2016 16:04:48 +0000 (18:04 +0200)]
testing: Add output of iptables-save
This might be helpful to get the complete picture of the installed
rules. `-c` is currently not used as the counters that are added in
front of every rule make the output quite hard to read and the counters
are already provided in the accompanying `iptables -v -L` output.
Fixes #2111.
Tobias Brunner [Fri, 9 Sep 2016 15:24:05 +0000 (17:24 +0200)]
testing: List `nat` and `mangle` tables in addition to the `filter` table
This is useful in scenarios that e.g. use NAT and/or marks.
References #2111.
Tobias Brunner [Fri, 9 Sep 2016 10:18:34 +0000 (12:18 +0200)]
testing: Ignore comments (lines starting with #) in pre-/eval-/posttest.dat
Tobias Brunner [Wed, 24 Aug 2016 09:34:36 +0000 (11:34 +0200)]
ikev2: (Re-)Queue tasks used to establish an IKE_SA in reset()
Some tasks might get removed immediately once the IKE_SA_INIT response has
been handled even if there were notifies that require a restart of the
IKE_SA (e.g. COOKIE or INVALID_KE_PAYLOAD). Such a task is ike_vendor,
which caused vendor IDs not to get sent in a retry. This change ensures
all required tasks are queued after the reset, which some callers did
already anyway.
Tobias Brunner [Tue, 5 Jul 2016 12:56:25 +0000 (14:56 +0200)]
ikev2: Store proposal on IKE_SA before creating DH object
This might be useful for custom implementations of keymat_t.
Tobias Brunner [Thu, 30 Jun 2016 08:34:54 +0000 (10:34 +0200)]
travis: Add apidoc check
This requires at least Ubuntu 14.04 (the Doxygen version in 12.04 has some
issues with our Doxyfile and prints lots of warnings).
Tobias Brunner [Thu, 25 Aug 2016 12:04:22 +0000 (14:04 +0200)]
travis: Use Trusty beta image
Tobias Brunner [Mon, 5 Sep 2016 14:01:25 +0000 (16:01 +0200)]
nm: Updated NEWS
Tobias Brunner [Mon, 5 Sep 2016 13:41:51 +0000 (15:41 +0200)]
Merge branch 'nm-1.2'
Provides fixes and changes for compatibility with current NM releases.
Closes strongswan/strongswan#15.
Fixes #797.
Tobias Brunner [Mon, 5 Sep 2016 12:34:07 +0000 (14:34 +0200)]
nm: Pass external gateway to NM
This seems to be required by newer versions.
Tobias Brunner [Mon, 5 Sep 2016 08:58:16 +0000 (10:58 +0200)]
nm: Update auth-dialog
This updates the auth dialog so that passwords are properly retrieved
(e.g. for the nm-applet). It also adds support for external UI mode and
properly handles secret flags.
Tobias Brunner [Mon, 5 Sep 2016 08:54:07 +0000 (10:54 +0200)]
nm: Enforce min. length for PSKs in backend
Tobias Brunner [Thu, 21 Apr 2016 15:46:02 +0000 (17:46 +0200)]
nm: Add minimum length constraint for PSK passwords in connection editor
We already have this restriction in the auth-dialog.
Lubomir Rintel [Wed, 21 Oct 2015 11:06:42 +0000 (13:06 +0200)]
nm: Bump minor version to 1.4.0
This is probably a good idea to do to signal there's significant changes in
dependencies to the distro package maintainers with libnm port and associated
changes.
Lubomir Rintel [Wed, 21 Oct 2015 11:04:14 +0000 (13:04 +0200)]
nm: Bump to GTK+ 3.0
It's been released years ago; we depend on newer stuff than that now.
Lubomir Rintel [Wed, 21 Oct 2015 09:29:25 +0000 (11:29 +0200)]
nm: Replace libgnomeui with libnma for password dialog
libgnomeui is long deprecated.
There's one functional difference: the choice to save the passwords is gone.
The password flags and saved password should be set in the preferences dialog,
but this commit does not fix that.
Lubomir Rintel [Tue, 29 Mar 2016 20:33:30 +0000 (22:33 +0200)]
nm: Grey out the unneeded authentication options
Hiding and showing the items is not ideal, since it leaves the spacing
in place and the layout gets really messy.
Lubomir Rintel [Tue, 29 Mar 2016 18:07:04 +0000 (20:07 +0200)]
nm: Add a widget for setting a password
It was only possible to set the password from the authentication dialog,
which is not ideal; as it requires a connection attempt.
This adds an input entry along with a primary icon from libnma/libnm-gtk
which allows selecting the backend and flags for the password (system, session
agent, always ask or empty).
Lubomir Rintel [Wed, 21 Oct 2015 09:23:57 +0000 (11:23 +0200)]
nm: Port to libnm
Lubomir Rintel [Wed, 21 Oct 2015 08:56:23 +0000 (10:56 +0200)]
nm: Check for libnm
libnm replaces libnm-glib. This will make sense with port to libnm and is done
to reduce line noise in that commit.
Lubomir Rintel [Wed, 21 Oct 2015 08:36:54 +0000 (10:36 +0200)]
nm: Build two plugin binaries from the single source
They're both the same now. We'll port the new one to libnm in follow-up commits.
NetworkManager 1.2 (which is currently versioned as 1.1.0) is going to bring
some new ABI while still supporting the old one. There's new VPN service and
UI plugin APIs in libnm.
There's one difficulty though -- the connection editor 1.2 will be linked
against libnm and a new libnma library it will provide (as opposed to
libnm-glib and libnm-gtk), thus will be incapable of loading of property
plugins that are linked with the old libraries (due to glib type system
limitations).
However, we must not break support for other connection editors (GNOME control
center, older versions of nm-connection-editor, etc.) therefore we need
to build two versions of the property plugin. NetworkManager 1.2's libnm will
provide a shim that makes it easy.
Tobias Brunner [Mon, 5 Sep 2016 13:33:40 +0000 (15:33 +0200)]
Merge branch 'nm-updates'
Provides several fixes and cleanups for the NM build (does not include
fixes for recent NM versions).
Closes strongswan/strongswan#39.
Tobias Brunner [Wed, 6 Apr 2016 16:20:12 +0000 (18:20 +0200)]
nm: Version bumb to 1.3.2
Tobias Brunner [Wed, 6 Apr 2016 16:18:29 +0000 (18:18 +0200)]
nm: Remove incorrect top-level GtkWindow
Fixes #1013.
Lubomir Rintel [Tue, 29 Mar 2016 17:33:26 +0000 (19:33 +0200)]
nm: Replace libgnomekeyring with libsecret
The former is deprecated and the newer API is nicer anyway.
Lubomir Rintel [Wed, 21 Oct 2015 08:54:18 +0000 (10:54 +0200)]
nm: Drop useless calls to AC_SUBST
PKG_CHECK_MODULES does the substitutions.
Lubomir Rintel [Wed, 21 Oct 2015 10:35:59 +0000 (12:35 +0200)]
nm: Drop some unneeded dependencies
Lubomir Rintel [Fri, 23 Oct 2015 09:29:42 +0000 (11:29 +0200)]
nm: Install the .name file into /usr/lib/NetworkManager/VPN
It's the preferred location for system-provided plugins.
A compatible file in /etc is still kept. Also, the compatibility /etc
file needs to use a full path due to a bug in GNOME Shell.
The full path to a arch-dependent file in a supposedly arch-independent
file is a sin and a multilib violation in some distributions. However.
some pre-release versions of NetworkManager-1.2 as shipped by
distributions require a full path. Let's keep a configure-time option
for that.
Tobias Brunner [Fri, 29 Jul 2016 16:22:19 +0000 (18:22 +0200)]
nm: Automatically determine NM plugin directory
Lubomir Rintel [Sat, 23 Apr 2016 08:51:43 +0000 (10:51 +0200)]
nm: Automatically determine path to the auth dialog
Lubomir Rintel [Sat, 16 Apr 2016 18:39:45 +0000 (20:39 +0200)]
nm: Don't do <deny send_interface="..." /> in dbus service file
It does more than intended; apart from denying messages to that
particular interface it also denies all messages non-qualified with an
interface globally. This blocks messages completely unrelated to
strongSwan's VPN plugin, such as NetworkManager communication with the
VPN plugins.
From the dbus-daemon manual:
Be careful with send_interface/receive_interface, because the
interface field in messages is optional. In particular, do NOT
specify <deny send_interface="org.foo.Bar"/>! This will cause
no-interface messages to be blocked for all services, which is
almost certainly not what you intended. Always use rules of the form:
<deny send_interface="org.foo.Bar" send_destination="org.foo.Service"/>
We can just safely remove those rules, since we're sufficiently
protected by the send_destination matches and method calls are
disallowed by default anyway.
Closes strongswan/strongswan#42.
Lubomir Rintel [Wed, 21 Oct 2015 10:55:03 +0000 (12:55 +0200)]
nm: Move the D-Bus policy to charon-nm
It's needed for useful use of charon-nm, unlike the GUI.
Lubomir Rintel [Thu, 14 Apr 2016 11:59:34 +0000 (13:59 +0200)]
nm: Add AppStream metadata
This will ensure the strongSwan NetworkManager plugin will be easily
installable from the app stores such as GNOME Software.
Closes strongswan/strongswan#41.
Andreas Steffen [Wed, 31 Aug 2016 15:06:47 +0000 (17:06 +0200)]
pt-tls-client: Added support of ECDSA keys
Andreas Steffen [Wed, 31 Aug 2016 14:12:47 +0000 (16:12 +0200)]
libimcv: No need to load AIK pubkey if AIK certificate is available
Tobias Brunner [Wed, 31 Aug 2016 09:44:11 +0000 (11:44 +0200)]
swanctl: Document how DH groups in CHILD_SA proposals are applied
References #1039.
Tobias Brunner [Wed, 31 Aug 2016 09:38:38 +0000 (11:38 +0200)]
man: Update description of the esp keyword
Clarifies how DH groups are applied, updates the proposal selection
description and ESN can now also be configured for IKEv1.
References #1039.
Tobias Brunner [Wed, 31 Aug 2016 08:51:24 +0000 (10:51 +0200)]
padlock: Use builtin bswap32() to fix compilation on FreeBSD
Fixes #591.
Tobias Brunner [Tue, 30 Aug 2016 13:30:49 +0000 (15:30 +0200)]
testing: Try to properly abort a test run after CTRL-C
The run is aborted after the current scenario. Depending on which
command was interrupted it might be necessary to press CTRL-C multiple
times (e.g. if a later command depends on the interrupted one).
This should fix HTML files and get us some proper console output after
the run.
Tobias Brunner [Mon, 29 Aug 2016 17:15:24 +0000 (19:15 +0200)]
testing: Report number of tests per subdirectory in main index
Tobias Brunner [Thu, 21 Jul 2016 13:04:24 +0000 (15:04 +0200)]
testing: Mount and serve testresults from the host
This avoids having to copy testresults, makes results of cancelled runs
browsable (runs may actually be followed live) and preserves old results
when rebuilding guest images (e.g. when using the build-strongswan script).
The number of consecutive test runs without any intermittent rebuild of the
guest images is also not limited by the image size anymore.
Tobias Brunner [Thu, 21 Jul 2016 13:02:20 +0000 (15:02 +0200)]
testing: Create a symlink to the testresults under a known path when starting the environment
Tobias Brunner [Thu, 21 Jul 2016 13:01:00 +0000 (15:01 +0200)]
testing: Serve images in testresults via mod_rewrite and not a symlink
Tobias Brunner [Thu, 21 Jul 2016 15:24:00 +0000 (17:24 +0200)]
conf: Extend description of charon.plugins.kernel-netlink.xfrm_acq_expires
Thomas Egerer [Wed, 24 Feb 2016 18:09:37 +0000 (19:09 +0100)]
proposal: Use proper list to get function pointer when adding custom parser
Signed-off-by: Thomas Egerer <thomas.egerer@secunet.com>
Tobias Brunner [Mon, 29 Aug 2016 08:42:00 +0000 (10:42 +0200)]
android: Add missing xof.c file
Fixes #2093.
Tobias Brunner [Mon, 29 Aug 2016 08:40:59 +0000 (10:40 +0200)]
xof: Add header to dev headers
Andreas Steffen [Fri, 26 Aug 2016 20:55:41 +0000 (22:55 +0200)]
Version bump to 5.5.1dr2
Tobias Brunner [Wed, 20 Jul 2016 09:01:17 +0000 (11:01 +0200)]
configure: Improve check for built-in __atomic_* functions
With AC_SEARCH_LIBS() we don't succeed if the searched function is a
built-in as the check uses the wrong signature so the built-in will not
be applied (the warning issued by GCC is "conflicting types for built-in
function '...'"). So even if not required, libatomic will be linked if
it is found, which could be problematic if compiling on a separate host
and the target host does not have libatomic installed.
Also, some tests showed that it's more likely that __atomic_and_fetch()
requires linking libatomic than __atomic_load_n() does.
References #1533.
Tobias Brunner [Wed, 24 Aug 2016 08:50:28 +0000 (10:50 +0200)]
travis: Add a workaround for a bug regarding libtool installed via Homebrew
Thomas Egerer [Mon, 4 Jul 2016 09:10:53 +0000 (11:10 +0200)]
ikev1: Don't require AH mapping for integrity algorithm when generating proposal
Signed-off-by: Thomas Egerer <thomas.egerer@secunet.com>
Andreas Steffen [Thu, 25 Aug 2016 11:22:34 +0000 (13:22 +0200)]
libtpmtss: TCTI finalization call changed
Andreas Steffen [Wed, 24 Aug 2016 12:41:10 +0000 (14:41 +0200)]
conf: aikpub2.opt added to Makefile.am
Tobias Brunner [Thu, 18 Aug 2016 16:07:21 +0000 (18:07 +0200)]
pki: Allow to load CRLs from files in --verify
Tobias Brunner [Tue, 23 Aug 2016 14:47:05 +0000 (16:47 +0200)]
ikev1: Ignore the last two bytes of the Cisco Unity vendor ID
These seem to indicate the major and minor version of the protocol, like
e.g. for the DPD vendor ID. Some implementations seem to send versions
other than 1.0 so we just ignore these for now when checking for known
vendor IDs.
Fixes #2088.
Tobias Brunner [Tue, 23 Aug 2016 12:27:09 +0000 (14:27 +0200)]
utils: Fix definition of BYTE_ORDER with MinGW
Tobias Brunner [Wed, 17 Aug 2016 08:26:01 +0000 (10:26 +0200)]
ikev1: Accept more than one certificate payload in aggressive mode
Fixes #2085.
Andreas Steffen [Tue, 16 Aug 2016 15:18:17 +0000 (17:18 +0200)]
testing: Virtual IPs went missing
Andreas Steffen [Thu, 11 Aug 2016 15:01:33 +0000 (17:01 +0200)]
unit-tests: Removed unused variable
Andreas Steffen [Wed, 10 Aug 2016 16:11:53 +0000 (18:11 +0200)]
Version bump to 5.5.1dr1
Andreas Steffen [Wed, 10 Aug 2016 14:23:04 +0000 (16:23 +0200)]
Merge branch 'newhope'
Andreas Steffen [Wed, 10 Aug 2016 13:14:26 +0000 (15:14 +0200)]
testing: Added swanctl/rw-newhope-bliss scenario
Andreas Steffen [Wed, 10 Aug 2016 12:34:27 +0000 (14:34 +0200)]
testing: Add chapoly, ntru and newhope plugins to crypto and integrity tests
Andreas Steffen [Wed, 10 Aug 2016 12:19:32 +0000 (14:19 +0200)]
testing: Added ikev2/rw-newhope-bliss scenario
Andreas Steffen [Tue, 9 Aug 2016 18:58:00 +0000 (20:58 +0200)]
unit-tests: Created newhope unit-tests