strongswan.git
2 years agosw-collector: Added --full option
Andreas Steffen [Mon, 31 Jul 2017 15:21:03 +0000 (17:21 +0200)]
sw-collector: Added --full option

2 years agosw-collector: Added --installed/removed options
Andreas Steffen [Mon, 31 Jul 2017 12:48:37 +0000 (14:48 +0200)]
sw-collector: Added --installed/removed options

2 years agoMerge branch 'appveyor'
Tobias Brunner [Wed, 2 Aug 2017 14:51:40 +0000 (16:51 +0200)]
Merge branch 'appveyor'

Build and run unit tests on AppVeyor Windows containers.

2 years agoappveyor: Build against OpenSSL
Tobias Brunner [Fri, 28 Jul 2017 08:12:33 +0000 (10:12 +0200)]
appveyor: Build against OpenSSL

This is mainly for the RNG needed for the exchange tests.

2 years agounit-tests: Double escape backslashes in Windows paths in settings test
Tobias Brunner [Fri, 28 Jul 2017 07:49:22 +0000 (09:49 +0200)]
unit-tests: Double escape backslashes in Windows paths in settings test

That's required when these are used as include paths in settings file
strings.

2 years agounit-tests: Stringify direction in message asserts early
Tobias Brunner [Fri, 28 Jul 2017 07:46:02 +0000 (09:46 +0200)]
unit-tests: Stringify direction in message asserts early

x86_64-w64-mingw32-gcc on Windows requires this.

2 years agounit-tests: iv_gen_seq has a dependency on RNG_STRONG
Tobias Brunner [Wed, 19 Jul 2017 12:46:21 +0000 (14:46 +0200)]
unit-tests: iv_gen_seq has a dependency on RNG_STRONG

We currently don't have an RNG in Windows builds.

2 years agoappveyor: Run tests on AppVeyor Windows containers
Tobias Brunner [Wed, 19 Jul 2017 10:34:35 +0000 (12:34 +0200)]
appveyor: Run tests on AppVeyor Windows containers

We can't enable leak detective as it is so slow then that we run into a
timeout (60 minutes).

2 years agopeer-cfg: Use an rwlock instead of a mutex to safely access child-cfgs
Tobias Brunner [Mon, 3 Jul 2017 13:57:49 +0000 (15:57 +0200)]
peer-cfg: Use an rwlock instead of a mutex to safely access child-cfgs

If multiple threads want to enumerate child-cfgs and potentially lock
other locks (e.g. check out IKE_SAs) while doing so a deadlock could
be caused (as was the case with VICI configs with start_action=start).
It should also improve performance for roadwarrior connections and lots
of clients connecting concurrently.

Fixes #2374.

2 years agocredential-manager: Log issuer identity if not found
Tobias Brunner [Fri, 14 Jul 2017 09:23:19 +0000 (11:23 +0200)]
credential-manager: Log issuer identity if not found

2 years agoauth-cfg: Don't limit subjectAltName check to received certificates
Tobias Brunner [Wed, 5 Jul 2017 15:17:13 +0000 (17:17 +0200)]
auth-cfg: Don't limit subjectAltName check to received certificates

Otherwise this won't work if the certificate is only locally available.

2 years agoswanctl: Read default socket from swanctl.socket option
Tobias Brunner [Thu, 29 Jun 2017 08:09:47 +0000 (10:09 +0200)]
swanctl: Read default socket from swanctl.socket option

Also read from swanctl.plugins.vici.socket so we get
libstrongswan.plugins.vici.socket if it is defined.

Fixes #2372.

2 years agoswanctl: Include config snippets from conf.d subdirectory
Tobias Brunner [Thu, 29 Jun 2017 07:32:25 +0000 (09:32 +0200)]
swanctl: Include config snippets from conf.d subdirectory

Fixes #2371.

2 years agoconf: Add support to generate include statements in .conf files
Tobias Brunner [Thu, 29 Jun 2017 07:30:30 +0000 (09:30 +0200)]
conf: Add support to generate include statements in .conf files

2 years agocurl: Enable following redirects
Tobias Brunner [Mon, 26 Jun 2017 08:29:17 +0000 (10:29 +0200)]
curl: Enable following redirects

The maximum number of redirects can be limited. The functionality can also
be disabled.

Fixes #2366.

2 years agoikev2: AES-CMAC-PRF-128 only uses the first 64 bits of each nonce
Tobias Brunner [Thu, 6 Jul 2017 13:51:29 +0000 (15:51 +0200)]
ikev2: AES-CMAC-PRF-128 only uses the first 64 bits of each nonce

References #2377.

2 years agoerror-notify: Don't stop sending notifies after removing a disconnected listener
Tobias Brunner [Thu, 13 Jul 2017 09:54:50 +0000 (11:54 +0200)]
error-notify: Don't stop sending notifies after removing a disconnected listener

This prevented new listeners from receiving notifies if they joined
after another listener disconnected previously, and if they themselves
disconnected their old connection would prevent them again from getting
notifies.

2 years agofarp: Only remove one tracked entry
Tobias Brunner [Thu, 6 Jul 2017 12:14:06 +0000 (14:14 +0200)]
farp: Only remove one tracked entry

Multiple CHILD_SAs sharing the same traffic selectors (e.g. during
make-before-break reauthentication) also have the same reqid assigned.
If all matching entries are removed we could end up without entry even
though an SA exists that still uses these traffic selectors.

Fixes #2373.

2 years agoike: Trigger CHILD_INSTALLED state change after corresponding log message
Tobias Brunner [Tue, 20 Jun 2017 10:01:24 +0000 (12:01 +0200)]
ike: Trigger CHILD_INSTALLED state change after corresponding log message

This way we get the log message in stroke and swanctl as last message
when establishing a connection. It's already like this for the IKE_SA
where IKE_ESTABLISHED is set after the corresponding log message.

Fixes #2364.

2 years agosw-collector: sw-collector.first_file setting retrieves creation date from file stats
Andreas Steffen [Wed, 19 Jul 2017 11:22:10 +0000 (13:22 +0200)]
sw-collector: sw-collector.first_file setting retrieves creation date from file stats

2 years agoswima-collector: Fix compile error if SWID_DIRECTORY is not defined
Tobias Brunner [Mon, 24 Jul 2017 09:34:39 +0000 (11:34 +0200)]
swima-collector: Fix compile error if SWID_DIRECTORY is not defined

2 years agolibimcv: Add missing files to Android.mk
Tobias Brunner [Mon, 24 Jul 2017 09:31:19 +0000 (11:31 +0200)]
libimcv: Add missing files to Android.mk

2 years agoVersion bump to 5.6.0dr3 5.6.0dr3
Andreas Steffen [Tue, 18 Jul 2017 18:53:35 +0000 (20:53 +0200)]
Version bump to 5.6.0dr3

2 years agotesting: Fixed the path of pt-tls-client
Andreas Steffen [Tue, 18 Jul 2017 18:43:03 +0000 (20:43 +0200)]
testing: Fixed the path of pt-tls-client

2 years agochecksum: Compile sw-collector before checksum
Andreas Steffen [Tue, 18 Jul 2017 18:02:21 +0000 (20:02 +0200)]
checksum: Compile sw-collector before checksum

2 years agochecksum: Added pt-tls-client and sw-collector
Andreas Steffen [Tue, 18 Jul 2017 05:25:31 +0000 (07:25 +0200)]
checksum: Added pt-tls-client and sw-collector

2 years agosw-collector: Moved to its own directory and added man page
Andreas Steffen [Sun, 16 Jul 2017 07:52:52 +0000 (09:52 +0200)]
sw-collector: Moved to its own directory and added man page

2 years agopt-tls-client: Added man page
Andreas Steffen [Sat, 15 Jul 2017 16:37:52 +0000 (18:37 +0200)]
pt-tls-client: Added man page

2 years agoVersion bump to 5.6.0dr2 5.6.0dr2
Andreas Steffen [Thu, 13 Jul 2017 12:22:50 +0000 (14:22 +0200)]
Version bump to 5.6.0dr2

2 years agosw-collector: strip arch suffix from package names
Andreas Steffen [Thu, 13 Jul 2017 10:03:27 +0000 (12:03 +0200)]
sw-collector: strip arch suffix from package names

2 years agosw-collector: Check for epoch-less Debian package versions
Andreas Steffen [Sun, 9 Jul 2017 21:17:22 +0000 (23:17 +0200)]
sw-collector: Check for epoch-less Debian package versions

2 years agolibtpmtss: Support of Intel TABRMD interface
Andreas Steffen [Wed, 12 Jul 2017 13:22:25 +0000 (15:22 +0200)]
libtpmtss: Support of Intel TABRMD interface

2 years agoVersion bump to 5.6.0dr1 5.6.0dr1
Andreas Steffen [Sat, 8 Jul 2017 21:21:56 +0000 (23:21 +0200)]
Version bump to 5.6.0dr1

This major version includes the new SWIMA IMC/IMV pair which
implements the "draft-ietf-sacm-nea-swima-patnc" Internet Draft.
Full compliance to the ISO 19770-2:2015 SWID tag standard has
been achieved.

2 years agoMerge branch 'swima'
Andreas Steffen [Sat, 8 Jul 2017 21:20:32 +0000 (23:20 +0200)]
Merge branch 'swima'

2 years agotesting: Added tnc/tnccs-20-nea-pt-tls scenario
Andreas Steffen [Sat, 8 Jul 2017 20:36:51 +0000 (22:36 +0200)]
testing: Added tnc/tnccs-20-nea-pt-tls scenario

2 years agotesting: Adaptation to ISO 19770-2:2015 SWID standard
Andreas Steffen [Sat, 8 Jul 2017 14:39:45 +0000 (16:39 +0200)]
testing: Adaptation to ISO 19770-2:2015 SWID standard

2 years agopt-tls-client: Support for TPM keyids
Andreas Steffen [Fri, 7 Jul 2017 07:09:58 +0000 (09:09 +0200)]
pt-tls-client: Support for TPM keyids

2 years agoimv-swima: Implemented SW event processing
Andreas Steffen [Thu, 29 Jun 2017 09:28:15 +0000 (11:28 +0200)]
imv-swima: Implemented SW event processing

2 years agosw-collector: Query central collector database
Andreas Steffen [Mon, 26 Jun 2017 16:07:53 +0000 (18:07 +0200)]
sw-collector: Query central collector database

2 years agolibimcv: Moved REST API from imv_swid and imv_swima to libimcv
Andreas Steffen [Mon, 26 Jun 2017 16:07:11 +0000 (18:07 +0200)]
libimcv: Moved REST API from imv_swid and imv_swima to libimcv

2 years agoswidtag: strongSwan swidtag file with double underscores
Andreas Steffen [Thu, 22 Jun 2017 05:45:28 +0000 (07:45 +0200)]
swidtag: strongSwan swidtag file with double underscores

2 years agosw-collector: Collects endpoint software events
Andreas Steffen [Sun, 18 Jun 2017 21:24:18 +0000 (23:24 +0200)]
sw-collector: Collects endpoint software events

2 years agoimv-swima: Created SWIMA IMV plugin
Andreas Steffen [Sat, 10 Jun 2017 08:23:28 +0000 (10:23 +0200)]
imv-swima: Created SWIMA IMV plugin

2 years agoimc-swima: Created SWIMA IMC plugin
Andreas Steffen [Sat, 10 Jun 2017 08:22:01 +0000 (10:22 +0200)]
imc-swima: Created SWIMA IMC plugin

2 years agounit-tests: Added IETF SWIMA PA-TNC attribute tests
Andreas Steffen [Tue, 23 May 2017 05:05:45 +0000 (07:05 +0200)]
unit-tests: Added IETF SWIMA PA-TNC attribute tests

2 years agolibimcv: Implemented IETF SW PA-TNC attributes
Andreas Steffen [Mon, 22 May 2017 14:04:06 +0000 (16:04 +0200)]
libimcv: Implemented IETF SW PA-TNC attributes

2 years agolibimcv: Fixed memory leak
Andreas Steffen [Wed, 24 May 2017 04:35:32 +0000 (06:35 +0200)]
libimcv: Fixed memory leak

2 years agolibimcv: Corrected order of subscription flags
Andreas Steffen [Mon, 22 May 2017 14:00:43 +0000 (16:00 +0200)]
libimcv: Corrected order of subscription flags

2 years agolibimcv: Added IETF Software PA-TNC attributes
Andreas Steffen [Mon, 22 May 2017 13:46:44 +0000 (15:46 +0200)]
libimcv: Added IETF Software PA-TNC attributes

2 years agolibtncif: Added IETF Software PA-TNC message subtype
Andreas Steffen [Mon, 22 May 2017 13:44:44 +0000 (15:44 +0200)]
libtncif: Added IETF Software PA-TNC message subtype

2 years agolibimcv: SWID tag generation and discovery
Andreas Steffen [Thu, 20 Apr 2017 09:41:15 +0000 (11:41 +0200)]
libimcv: SWID tag generation and discovery

2 years agolibimcv: Update database to ISO 19770-2:2015 SWID standard
Andreas Steffen [Fri, 31 Mar 2017 11:12:57 +0000 (13:12 +0200)]
libimcv: Update database to ISO 19770-2:2015 SWID standard

2 years agotesting: Fixed typo in openssl-ikev2/rw-suite-b-192 scenario
Andreas Steffen [Sat, 8 Jul 2017 21:19:18 +0000 (23:19 +0200)]
testing: Fixed typo in openssl-ikev2/rw-suite-b-192 scenario

2 years agotesting: Support running multiple tests with * as wildcard (e.g. ikev2/ocsp-*)
Tobias Brunner [Fri, 7 Jul 2017 07:23:14 +0000 (09:23 +0200)]
testing: Support running multiple tests with * as wildcard (e.g. ikev2/ocsp-*)

2 years agox509: Correctly encode nonce in OCSP request
Tobias Brunner [Fri, 7 Jul 2017 06:53:32 +0000 (08:53 +0200)]
x509: Correctly encode nonce in OCSP request

The nonce value is encoded as OCTET STRING, however, the extension
values themselves must also be encoded as OCTET STRING.

2 years agoswanctl: Document eap_id in remote sections
Tobias Brunner [Wed, 5 Jul 2017 15:55:06 +0000 (17:55 +0200)]
swanctl: Document eap_id in remote sections

2 years agokernel-pfroute: Make sure there is a netmask when enumerating subnets
Tobias Brunner [Tue, 20 Jun 2017 10:16:56 +0000 (12:16 +0200)]
kernel-pfroute: Make sure there is a netmask when enumerating subnets

2 years agopki: Load pubkey plugin to print public keys
Tobias Brunner [Thu, 15 Jun 2017 12:36:40 +0000 (14:36 +0200)]
pki: Load pubkey plugin to print public keys

Since 3317d0e77b1a the public keys are printed via certificate printer,
but that only works if the public key is actually wrapped, which
requires the pubkey plugin.

Fixes: 3317d0e77b1a ("Standardized printing of certificate information")

2 years agopki: Fix typo in --print man page
Tobias Brunner [Thu, 15 Jun 2017 12:36:19 +0000 (14:36 +0200)]
pki: Fix typo in --print man page

2 years agosql: Use qualified names in SQL query statements
Tobias Brunner [Mon, 12 Jun 2017 07:58:31 +0000 (09:58 +0200)]
sql: Use qualified names in SQL query statements

VIRTUAL is a new reserved keyword in MySQL 5.7.6 that caused some of these
queries to fail.

Fixes #2359.

2 years agostroke: Don't load configs with invalid proposals
Tobias Brunner [Tue, 30 May 2017 16:27:20 +0000 (18:27 +0200)]
stroke: Don't load configs with invalid proposals

References #2347.

2 years agoikev1: Determine transform ID before mapping integrity algorithm ID
Tobias Brunner [Tue, 30 May 2017 16:23:12 +0000 (18:23 +0200)]
ikev1: Determine transform ID before mapping integrity algorithm ID

Due to the lookup based on the mapped algorithm ID the resulting AH
proposals were invalid.

Fixes #2347.

Fixes: 8456d6f5a8e9 ("ikev1: Don't require AH mapping for integrity algorithm when generating proposal")

2 years agoeap-aka-3gpp: Add plugin that implements 3GPP MILENAGE algorithm in software
Tobias Brunner [Tue, 16 May 2017 15:34:02 +0000 (17:34 +0200)]
eap-aka-3gpp: Add plugin that implements 3GPP MILENAGE algorithm in software

This is similar to the eap-aka-3gpp2 plugin. K (optionally concatenated
with OPc) may be configured as binary EAP secret in ipsec.secrets or
swanctl.conf.

Based on a patch by Thomas Strangert.

Fixes #2326.

2 years agoutils: Make second argument to memxor() const
Tobias Brunner [Tue, 16 May 2017 15:30:38 +0000 (17:30 +0200)]
utils: Make second argument to memxor() const

2 years agoandroid: New release after fixing issues with older Android versions and DB upgrade
Tobias Brunner [Tue, 4 Jul 2017 09:52:34 +0000 (11:52 +0200)]
android: New release after fixing issues with older Android versions and DB upgrade

2 years agoandroid: Fix database update from older versions
Tobias Brunner [Tue, 4 Jul 2017 09:44:47 +0000 (11:44 +0200)]
android: Fix database update from older versions

2 years agoandroid: Fix version string on older Android releases
Tobias Brunner [Tue, 4 Jul 2017 09:10:45 +0000 (11:10 +0200)]
android: Fix version string on older Android releases

SECURITY_PATCH is apparently only available since Android 6.

2 years agoandroid: New release after fixing crash with existing profiles
Tobias Brunner [Mon, 3 Jul 2017 11:44:49 +0000 (13:44 +0200)]
android: New release after fixing crash with existing profiles

2 years agoandroid: Fix null pointer dereference with existing profiles
Tobias Brunner [Mon, 3 Jul 2017 11:43:53 +0000 (13:43 +0200)]
android: Fix null pointer dereference with existing profiles

2 years agoandroid: Only show disconnect button if actually connected
Tobias Brunner [Mon, 3 Jul 2017 10:08:57 +0000 (12:08 +0200)]
android: Only show disconnect button if actually connected

2 years agoandroid: New release after adding lots of new stuff
Tobias Brunner [Mon, 3 Jul 2017 08:47:43 +0000 (10:47 +0200)]
android: New release after adding lots of new stuff

2 years agoMerge branch '2309-android-disconnect-button'
Tobias Brunner [Mon, 3 Jul 2017 08:39:33 +0000 (10:39 +0200)]
Merge branch '2309-android-disconnect-button'

Adds a disconnect button to the permanent notification.

Fixes #2309.

2 years agoandroid: Close activity when dialog is canceled if it was not visible before
Tobias Brunner [Fri, 30 Jun 2017 07:46:56 +0000 (09:46 +0200)]
android: Close activity when dialog is canceled if it was not visible before

onPause/onResume() won't work because onPause() is called right before
onNewIntent().

2 years agoandroid: Allow disconnecting via MainActivity but display a confirmation dialog
Tobias Brunner [Fri, 23 Jun 2017 08:35:08 +0000 (10:35 +0200)]
android: Allow disconnecting via MainActivity but display a confirmation dialog

2 years agoandroid: Add disconnect button to notification
Tobias Brunner [Tue, 13 Jun 2017 14:21:50 +0000 (16:21 +0200)]
android: Add disconnect button to notification

2 years agoMerge branch 'android-certreq'
Tobias Brunner [Mon, 3 Jul 2017 08:37:21 +0000 (10:37 +0200)]
Merge branch 'android-certreq'

This adds an option that allows disabling certificate requests during
IKE_AUTH.

2 years agoandroid: Make sending certificate requests configurable in the GUI
Tobias Brunner [Thu, 29 Jun 2017 12:52:28 +0000 (14:52 +0200)]
android: Make sending certificate requests configurable in the GUI

2 years agoandroid: Import the flag to suppress certificate requests
Tobias Brunner [Thu, 29 Jun 2017 11:00:19 +0000 (13:00 +0200)]
android: Import the flag to suppress certificate requests

2 years agoandroid: Add flag to suppress sending certificate requests
Tobias Brunner [Thu, 29 Jun 2017 10:58:58 +0000 (12:58 +0200)]
android: Add flag to suppress sending certificate requests

2 years agoandroid: Add property for simple flags
Tobias Brunner [Thu, 29 Jun 2017 10:58:16 +0000 (12:58 +0200)]
android: Add property for simple flags

2 years agoMerge branch '2365-android-nat-keepalive'
Tobias Brunner [Mon, 3 Jul 2017 08:33:52 +0000 (10:33 +0200)]
Merge branch '2365-android-nat-keepalive'

This makes the NAT-T keepalive interval configurable per connection.

Fixes #2365.

2 years agoandroid: Import NAT-T keepalive interval
Tobias Brunner [Thu, 29 Jun 2017 10:57:07 +0000 (12:57 +0200)]
android: Import NAT-T keepalive interval

2 years agoandroid: Make NAT-T keepalive interval configurable in the GUI
Tobias Brunner [Wed, 28 Jun 2017 16:44:45 +0000 (18:44 +0200)]
android: Make NAT-T keepalive interval configurable in the GUI

2 years agoandroid: Use configured NAT-T keepalive interval
Tobias Brunner [Wed, 28 Jun 2017 16:34:40 +0000 (18:34 +0200)]
android: Use configured NAT-T keepalive interval

2 years agoandroid: Add property for NAT-T keepalive interval
Tobias Brunner [Wed, 28 Jun 2017 16:28:31 +0000 (18:28 +0200)]
android: Add property for NAT-T keepalive interval

2 years agoMerge branch 'android-updates'
Tobias Brunner [Mon, 3 Jul 2017 08:32:35 +0000 (10:32 +0200)]
Merge branch 'android-updates'

This adds support for configuring split-tunneling and per-app VPN, adds
a simple HTTP/S fetcher and enables the revocation plugin, makes the log
view more efficient, imports profiles via SAF and changes multiple other
things.

2 years agoandroid: Use arrays as primary config option for subnets in profile files
Tobias Brunner [Wed, 28 Jun 2017 12:28:38 +0000 (14:28 +0200)]
android: Use arrays as primary config option for subnets in profile files

2 years agoandroid: Change format of address ranges and print sets
Tobias Brunner [Wed, 28 Jun 2017 10:33:17 +0000 (12:33 +0200)]
android: Change format of address ranges and print sets

2 years agoandroid: Make app handling and selection of apps configurable in profile editor
Tobias Brunner [Tue, 27 Jun 2017 13:17:43 +0000 (15:17 +0200)]
android: Make app handling and selection of apps configurable in profile editor

2 years agoandroid: Add simple activity for the selection of apps
Tobias Brunner [Tue, 27 Jun 2017 13:13:30 +0000 (15:13 +0200)]
android: Add simple activity for the selection of apps

2 years agoandroid: Add list fragment for the selection of apps
Tobias Brunner [Tue, 27 Jun 2017 13:10:41 +0000 (15:10 +0200)]
android: Add list fragment for the selection of apps

2 years agoandroid: Add filterable adapter for list of installed/selected apps
Tobias Brunner [Tue, 27 Jun 2017 12:11:16 +0000 (14:11 +0200)]
android: Add filterable adapter for list of installed/selected apps

2 years agoandroid: Add list item layout for installed/selected apps
Tobias Brunner [Tue, 27 Jun 2017 11:54:32 +0000 (13:54 +0200)]
android: Add list item layout for installed/selected apps

2 years agoandroid: Add class that wraps ApplicationInfo for selected apps
Tobias Brunner [Tue, 27 Jun 2017 11:50:18 +0000 (13:50 +0200)]
android: Add class that wraps ApplicationInfo for selected apps

2 years agoandroid: Handle checked state in activated background
Tobias Brunner [Tue, 27 Jun 2017 08:14:43 +0000 (10:14 +0200)]
android: Handle checked state in activated background

2 years agoandroid: Add text color for checkable list entries
Tobias Brunner [Tue, 27 Jun 2017 08:13:54 +0000 (10:13 +0200)]
android: Add text color for checkable list entries

2 years agoandroid: Add a linear layout that is checkable
Tobias Brunner [Tue, 27 Jun 2017 08:12:35 +0000 (10:12 +0200)]
android: Add a linear layout that is checkable

2 years agoandroid: Add convenience methods to get/set selected apps to/from a sorted set
Tobias Brunner [Mon, 26 Jun 2017 14:19:08 +0000 (16:19 +0200)]
android: Add convenience methods to get/set selected apps to/from a sorted set

2 years agoandroid: Import selected/excluded apps from profile file
Tobias Brunner [Mon, 26 Jun 2017 10:38:31 +0000 (12:38 +0200)]
android: Import selected/excluded apps from profile file

2 years agoandroid: Apply selected apps according to config
Tobias Brunner [Mon, 26 Jun 2017 10:02:11 +0000 (12:02 +0200)]
android: Apply selected apps according to config

Either only the selected apps are able to access the VPN or they are
excluded from access to the VPN.