strongswan.git
4 months agoxfrmi: Only build if libcharon is built
Tobias Brunner [Tue, 14 Apr 2020 08:44:19 +0000 (10:44 +0200)]
xfrmi: Only build if libcharon is built

The kernel-netlink plugin is only built if libcharon is.

Closes strongswan/strongswan#167.

4 months agopkcs11: Optionally hash data for PKCS#1 v1.5 RSA signatures in software
Tobias Brunner [Mon, 4 May 2020 07:45:39 +0000 (09:45 +0200)]
pkcs11: Optionally hash data for PKCS#1 v1.5 RSA signatures in software

If cards/libraries don't support signature mechanisms with hashing, we fall
back to do it ourselves in software and pass the PKCS#1 digestInfo ASN.1
structure to sign via CKM_RSA_PKCS mechanism.

Closes strongswan/strongswan#168.

4 months agoscripts: Initialize libstrongswan in id2sql to fix a crash
Tobias Brunner [Mon, 4 May 2020 14:56:47 +0000 (16:56 +0200)]
scripts: Initialize libstrongswan in id2sql to fix a crash

Since 770f4ccee12d ("identification: Optionally match RDNs in any order
and accept missing RDNs") the DN parser requires lib->settings.

5 months agovici: Allow maximum vici message size configuration via compile option
Thomas Egerer [Tue, 7 Apr 2020 18:35:57 +0000 (20:35 +0200)]
vici: Allow maximum vici message size configuration via compile option

Signed-off-by: Thomas Egerer <thomas.egerer@secunet.com>
5 months agoUse Botan 2.14.0 for tests
Tobias Brunner [Tue, 7 Apr 2020 08:07:30 +0000 (10:07 +0200)]
Use Botan 2.14.0 for tests

Requires at least GCC 5.0 to build with `--amalgamation`, so it's
disabled for our Ubuntu 16.04 build.

5 months agoVersion bump to 5.8.4 5.8.4
Andreas Steffen [Sun, 29 Mar 2020 10:49:13 +0000 (12:49 +0200)]
Version bump to 5.8.4

5 months agoopenssl: Allow squeezing multiple times from SHAKE128/256 XOFs
Tobias Brunner [Thu, 26 Mar 2020 12:52:47 +0000 (13:52 +0100)]
openssl: Allow squeezing multiple times from SHAKE128/256 XOFs

OpenSSL currently doesn't support squeezing bytes out of an XOF multiple
times.  Unfortunately, EVP_DigestFinalXOF() completely resets the context
and later calls not simply fail, they cause a null-pointer dereference in
libcrypto.  This fixes the crash at the cost of repeating initializing
the whole state and allocating too much data for subsequent calls.

There is an open issue and PR that might add a function that allows
squeezing more data from an XOF in a future version of OpenSSL.

5 months agocharon-nm: Allow using fixed source ports
Tobias Brunner [Thu, 26 Mar 2020 07:55:36 +0000 (08:55 +0100)]
charon-nm: Allow using fixed source ports

This could be useful in cases a client behind a NAT has to be made reachable
via port forwarding.

Closes strongswan/strongswan#166.

5 months agosettings: Use strtoul(3) for settings to int conversion
Thomas Egerer [Wed, 25 Mar 2020 17:01:37 +0000 (18:01 +0100)]
settings: Use strtoul(3) for settings to int conversion

strtol(3) accepts values in the range of [LONG_MIN;LONG_MAX].  Based
on the architecture (32 or 64 bits), these values expand to either
0x8000000000000000/0x7fffffffffffffff for 64-bit builds, or
0x80000000/0x7fffffff for 32-bit builds.

The behavior when retrieving non-default values for charon.spi_min or
charon.spi_max, for example, depends on the architecture of the target
platform.  While 0xC000001/0xCFFFFFFE work fine on a 64-bit build, on a
32-bit build, due to the use of strtol(3), an ERANGE causes get_int()
to return the default values.

By using strtoul(3) the default is only returned if the input value
exceeds 32 or 64 bits, based on the platform.  Negative values are still
parsed correctly.

Signed-off-by: Thomas Egerer <thomas.egerer@secunet.com>
5 months agoquick-mode: Make sure we have a proposal before determining lifetimes
Tobias Brunner [Thu, 26 Mar 2020 07:41:00 +0000 (08:41 +0100)]
quick-mode: Make sure we have a proposal before determining lifetimes

Fixes: e0dd36c9c730 ("ikev1: Get and set the lifetimes of the selected proposal/transform")

5 months agounit-tests: Update expired certificates for TLS tests
Tobias Brunner [Wed, 25 Mar 2020 14:31:07 +0000 (15:31 +0100)]
unit-tests: Update expired certificates for TLS tests

5 months agonm: Version bump to 1.5.0
Tobias Brunner [Wed, 25 Mar 2020 09:14:46 +0000 (10:14 +0100)]
nm: Version bump to 1.5.0

5 months agoVersion bump to 5.8.3 5.8.3
Andreas Steffen [Tue, 24 Mar 2020 15:01:04 +0000 (16:01 +0100)]
Version bump to 5.8.3

5 months agocharon-nm: Correctly set remote auth class for PSK authentication
Tobias Brunner [Fri, 20 Mar 2020 14:53:37 +0000 (15:53 +0100)]
charon-nm: Correctly set remote auth class for PSK authentication

Fixes: bc3eda99bac0 ("charon-nm: Add support for EAP-TLS")

6 months agoVersion bump to 5.8.3rc1 5.8.3rc1
Andreas Steffen [Thu, 19 Mar 2020 07:43:10 +0000 (08:43 +0100)]
Version bump to 5.8.3rc1

6 months agoNEWS: Add news for 5.8.3
Tobias Brunner [Thu, 12 Mar 2020 18:32:43 +0000 (19:32 +0100)]
NEWS: Add news for 5.8.3

6 months agoopenssl: Add support for SHAKE128/256
Tobias Brunner [Tue, 10 Mar 2020 11:16:26 +0000 (12:16 +0100)]
openssl: Add support for SHAKE128/256

6 months agoopenssl: Add support for SHA-3
Tobias Brunner [Tue, 10 Mar 2020 10:22:12 +0000 (11:22 +0100)]
openssl: Add support for SHA-3

6 months agoMerge branch 'throw-type-routes'
Tobias Brunner [Tue, 10 Mar 2020 11:49:53 +0000 (12:49 +0100)]
Merge branch 'throw-type-routes'

Implements simpler routes for passthrough policies on Linux, which
basically act as fallbacks on routes in other routing tables.  This way
they require less information (e.g. no interface or source IP) and can
be installed earlier and are not affected by updates.

Closes strongswan/strongswan#165.
Fixes #3118.

6 months agokernel-netlink: Extract shared route handling code in net/ipsec
Tobias Brunner [Mon, 9 Mar 2020 15:41:28 +0000 (16:41 +0100)]
kernel-netlink: Extract shared route handling code in net/ipsec

6 months agokernel-netlink: Don't require an interface name for passthrough policies
Tobias Brunner [Wed, 26 Feb 2020 15:53:06 +0000 (16:53 +0100)]
kernel-netlink: Don't require an interface name for passthrough policies

6 months agokernel-netlink: Allow blank source address in routes for passthrough policies
Tobias Brunner [Tue, 25 Feb 2020 15:39:35 +0000 (16:39 +0100)]
kernel-netlink: Allow blank source address in routes for passthrough policies

6 months agokernel-netlink: Implement passthrough type routes and use them on Linux
Noel Kuntze [Sun, 9 Feb 2020 13:52:32 +0000 (14:52 +0100)]
kernel-netlink: Implement passthrough type routes and use them on Linux

Enables us to ignore any future kernel features for routes unless
we actually need to consider them for the source IP routes.

Also enables us to actually really skip IPsec processing for those networks
(because even the routes don't touch those packets). It's more what
users expect.

Co-authored-by: Tobias Brunner <tobias@strongswan.org>
6 months agokernel-interface: Reallocate previously used reqids
Tobias Brunner [Fri, 13 Dec 2019 15:46:47 +0000 (16:46 +0100)]
kernel-interface: Reallocate previously used reqids

This is mainly an issue on FreeBSD where the current kernel still only
allows the daemon to use reqids < IPSEC_MANUAL_REQID_MAX (0x3fff = 16383).

Fixes #2315.

6 months agoike: Optionally allow private algorithms for IKE/CHILD_SAs
Thomas Egerer [Thu, 12 Sep 2019 14:58:46 +0000 (16:58 +0200)]
ike: Optionally allow private algorithms for IKE/CHILD_SAs

Charon refuses to make use of algorithms IDs from the private space
for unknown peer implementations [1]. If you chose to ignore and violate
that section of the RFC since you *know* your peers *must* support those
private IDs, there's no way to disable that behavior.

With this commit a strongswan.conf option is introduced which allows to
deliberately ignore parts of section 3.12 from the standard.

[1] http://tools.ietf.org/html/rfc7296#section-3.12

Signed-off-by: Thomas Egerer <thomas.egerer@secunet.com>
6 months agoopenssl: Don't check signature if issuer doesn't match always
Tobias Brunner [Wed, 4 Mar 2020 18:26:55 +0000 (19:26 +0100)]
openssl: Don't check signature if issuer doesn't match always

Doing this for the self-signed check also (i.e. if this and issuer are
the same) is particularly useful if the issuer uses a different key type.
Otherwise, we'd try to verify the signature with an incompatible key
that would result in a log message.

Fixes #3357.

6 months agonm: Update NEWS for next release
Tobias Brunner [Tue, 25 Feb 2020 10:38:43 +0000 (11:38 +0100)]
nm: Update NEWS for next release

6 months agoMerge branch 'ikev1-transform-nr'
Tobias Brunner [Fri, 6 Mar 2020 09:47:34 +0000 (10:47 +0100)]
Merge branch 'ikev1-transform-nr'

With these changes we return the lifetimes of the actually selected
transform back to the client, which is an issue if the peer uses
different lifetimes for different proposals.  We now also return the
correct transform and proposal IDs.

Fixes #3329.

6 months agoikev1: Get and set the lifetimes of the selected proposal/transform
Tobias Brunner [Thu, 6 Feb 2020 14:52:06 +0000 (15:52 +0100)]
ikev1: Get and set the lifetimes of the selected proposal/transform

Previously, we simply used the lifetimes of the first
proposal/transform, which is not correct if the initiator uses different
lifetimes in its proposals/transforms.

6 months agoproposal-substructure: Start numbering IKEv1 proposals with 1
Tobias Brunner [Fri, 7 Feb 2020 08:45:56 +0000 (09:45 +0100)]
proposal-substructure: Start numbering IKEv1 proposals with 1

6 months agoproposal-substructure: Encode transform number of selected IKEv1 proposal
Tobias Brunner [Thu, 6 Feb 2020 14:46:27 +0000 (15:46 +0100)]
proposal-substructure: Encode transform number of selected IKEv1 proposal

6 months agoproposal-substructure: Store transform number for IKEv1 proposals
Tobias Brunner [Thu, 6 Feb 2020 14:46:05 +0000 (15:46 +0100)]
proposal-substructure: Store transform number for IKEv1 proposals

6 months agoproposal: Add IKEv1 transform number on which a proposal is based
Tobias Brunner [Thu, 6 Feb 2020 14:39:45 +0000 (15:39 +0100)]
proposal: Add IKEv1 transform number on which a proposal is based

6 months agolibtls: Remove unused variable in TLS socket implementation
Tobias Brunner [Mon, 2 Mar 2020 15:37:36 +0000 (16:37 +0100)]
libtls: Remove unused variable in TLS socket implementation

Not used anymore since c43e8fdec400 ("Block TLS read when sending data,
but have to wait for the handshake data first").

6 months agoVersion bump to 5.8.3dr1
Andreas Steffen [Wed, 4 Mar 2020 21:24:54 +0000 (22:24 +0100)]
Version bump to 5.8.3dr1

6 months agoscript: Fix upper bounds
Tobias Brunner [Wed, 4 Mar 2020 16:07:32 +0000 (17:07 +0100)]
script: Fix upper bounds

^ is the XOR operator.

6 months agopubkey-speed: Add sanity check for the number of rounds
Tobias Brunner [Mon, 2 Mar 2020 16:37:54 +0000 (17:37 +0100)]
pubkey-speed: Add sanity check for the number of rounds

The allocated buffer for the signatures is based on this, which LGTM
doesn't like.

6 months agocrypt-burn: Add sanity check for buffer length
Tobias Brunner [Mon, 2 Mar 2020 16:36:33 +0000 (17:36 +0100)]
crypt-burn: Add sanity check for buffer length

This value is passed to chunk_alloc(), which LGTM complains about.

6 months agoconfigure: Make sure Python is available for static builds
Tobias Brunner [Fri, 28 Feb 2020 09:39:15 +0000 (10:39 +0100)]
configure: Make sure Python is available for static builds

We need Python to create files that reference the plugin constructors.
Without it, empty files are created and plugins can't be loaded.

Fixes #3349.

6 months agotravis: Enable caching for sonarcloud scan
Tobias Brunner [Fri, 21 Feb 2020 14:23:22 +0000 (15:23 +0100)]
travis: Enable caching for sonarcloud scan

6 months agoike: Don't reestablish IKE_SAs for which a deletion is queued
Tobias Brunner [Thu, 13 Feb 2020 09:48:49 +0000 (10:48 +0100)]
ike: Don't reestablish IKE_SAs for which a deletion is queued

If an IKE_SA is terminated while a task is active, the delete task is
simply queued (unless the deletion is forced).  If the active task times
out before any optional timeout associated with the termination hits, the
IKE_SA previously was reestablished without considering the termination
request.

Fixes #3335.

6 months agoRemove obsolete packages directory
Tobias Brunner [Wed, 19 Feb 2020 16:38:57 +0000 (17:38 +0100)]
Remove obsolete packages directory

These Debian package sources have not been updated for years and are
severely out-of-date.  Since the Debian packages are properly
maintained nowadays, we don't have to provide our own package sources
to serve as examples.

References #3344.

6 months agotravis: Bump tpm2-tss to 2.3.3
Tobias Brunner [Wed, 19 Feb 2020 09:52:57 +0000 (10:52 +0100)]
travis: Bump tpm2-tss to 2.3.3

6 months agotravis: Remove deprecated `sudo` option, set default OS
Tobias Brunner [Wed, 19 Feb 2020 10:50:26 +0000 (11:50 +0100)]
travis: Remove deprecated `sudo` option, set default OS

Also replaces `matrix` with the current official name `jobs`.

6 months agocharon-nm: Use better default directory for D-Bus policy file
Tobias Brunner [Thu, 13 Feb 2020 16:53:17 +0000 (17:53 +0100)]
charon-nm: Use better default directory for D-Bus policy file

Also makes it configurable via configure script.  Depending on `$datadir` is
not ideal as package maintainers might set that to a custom value.  Depending
on `$datarootdir` might have been better, the default if pkg-config fails is
now based on that.

References #3339.

7 months agotravis: Add build tests for NM plugin
Tobias Brunner [Wed, 12 Feb 2020 14:41:36 +0000 (15:41 +0100)]
travis: Add build tests for NM plugin

7 months agonm: Ignore generated POT file
Tobias Brunner [Wed, 12 Feb 2020 14:57:35 +0000 (15:57 +0100)]
nm: Ignore generated POT file

7 months agonm: Only check PSK length if one is actually stored
Tobias Brunner [Wed, 12 Feb 2020 13:04:45 +0000 (14:04 +0100)]
nm: Only check PSK length if one is actually stored

7 months agoMerge commit 'nm-client-id'
Tobias Brunner [Fri, 14 Feb 2020 13:47:34 +0000 (14:47 +0100)]
Merge commit 'nm-client-id'

Makes the client's IKE identity configurable in the NM GUI.  For PSK
authentication the identity is now configured via that new field
and not the username anymore (old configs still work and are migrated
when edited).  The client identity now also defaults to the IP address
if not configured when using EAP/PSK.

Fixes #2581.

7 months agonm: Make local identity configurable
Tobias Brunner [Wed, 12 Feb 2020 10:39:07 +0000 (11:39 +0100)]
nm: Make local identity configurable

For PSK authentication we now use the local identity and not the username
field.

7 months agocharon-nm: Add support for custom local IKE identities
Tobias Brunner [Wed, 12 Feb 2020 10:35:53 +0000 (11:35 +0100)]
charon-nm: Add support for custom local IKE identities

7 months agoMerge branch 'nm-reauth'
Tobias Brunner [Fri, 14 Feb 2020 12:58:50 +0000 (13:58 +0100)]
Merge branch 'nm-reauth'

With these changes, the NM service should be able to handle
reauthentication (and redirection) by switching to the new IKE_SA and
not considering the old SA going down an error.

Fixes #852.

7 months agocharon-nm: Keep listener registered even on failures
Tobias Brunner [Fri, 7 Feb 2020 14:22:31 +0000 (15:22 +0100)]
charon-nm: Keep listener registered even on failures

NM doesn't seem to terminate the daemon on failures, so we might not get
further events for later retries.

7 months agocharon-nm: Support reauthentication and redirection
Tobias Brunner [Thu, 6 Feb 2020 16:36:46 +0000 (17:36 +0100)]
charon-nm: Support reauthentication and redirection

7 months agoMerge branch 'nm-eap-tls'
Tobias Brunner [Fri, 14 Feb 2020 12:51:44 +0000 (13:51 +0100)]
Merge branch 'nm-eap-tls'

Adds support for EAP-TLS to the NM plugin.  The certificates/key
source (file, smartcard, agent) can now be selected independently of
the authentication method (i.e. for both certificate and EAP-TLS auth).

Fixes #2097.

7 months agonm: Make EAP-TLS configurable
Tobias Brunner [Wed, 5 Feb 2020 15:01:08 +0000 (16:01 +0100)]
nm: Make EAP-TLS configurable

A new combo field allows selecting where the certificate/key is stored.

7 months agocharon-nm: Add support for EAP-TLS
Tobias Brunner [Wed, 5 Feb 2020 15:00:10 +0000 (16:00 +0100)]
charon-nm: Add support for EAP-TLS

The code is structured similar to that in the Android client, but two-round
authentication (cert+EAP) is not supported as that might require multiple
secrets ("password" is currently the only secret field used for every
method) and other details are currently missing too (like configurable
client identities).

7 months agoMerge branch 'nm-server-port'
Tobias Brunner [Fri, 14 Feb 2020 12:36:25 +0000 (13:36 +0100)]
Merge branch 'nm-server-port'

Adds the option to use a custom server port in the NM plugin.

Fixes #625.

7 months agonm: Make server port configurable in GUI
Tobias Brunner [Thu, 19 Dec 2019 13:40:47 +0000 (14:40 +0100)]
nm: Make server port configurable in GUI

7 months agocharon-nm: Add support for custom server ports
Tobias Brunner [Thu, 19 Dec 2019 13:40:11 +0000 (14:40 +0100)]
charon-nm: Add support for custom server ports

7 months agoMerge branch 'nm-remote-id'
Tobias Brunner [Fri, 14 Feb 2020 12:29:10 +0000 (13:29 +0100)]
Merge branch 'nm-remote-id'

This adds an optional field to the NM plugin to configure the server
identity, so it can differ from the address or certificate subject,
which are used by default.

It also updates the Glade file to GTK+ 3.2.

Closes strongswan/strongswan#57.

7 months agonm: Update German translation
Tobias Brunner [Tue, 17 Dec 2019 16:20:36 +0000 (17:20 +0100)]
nm: Update German translation

7 months agonm: Make remote identity editable in GUI
Tobias Brunner [Tue, 17 Dec 2019 15:28:00 +0000 (16:28 +0100)]
nm: Make remote identity editable in GUI

7 months agocharon-nm: Add support for a specific remote identity
Tobias Brunner [Tue, 17 Dec 2019 15:26:34 +0000 (16:26 +0100)]
charon-nm: Add support for a specific remote identity

7 months agonm: Add hint regarding password storage policy
Tobias Brunner [Tue, 17 Dec 2019 15:16:08 +0000 (16:16 +0100)]
nm: Add hint regarding password storage policy

Requires targeting GTK 3.2.

7 months agonm: Replace the term "gateway" with "server"
Tobias Brunner [Tue, 17 Dec 2019 15:03:08 +0000 (16:03 +0100)]
nm: Replace the term "gateway" with "server"

7 months agonm: Update Glade file for GTK 3.0
Tobias Brunner [Tue, 17 Dec 2019 11:30:22 +0000 (12:30 +0100)]
nm: Update Glade file for GTK 3.0

That's the version we check for in the configure script.

7 months agoconfigure: Depend on libip4tc instead of libiptc
Tobias Brunner [Thu, 13 Feb 2020 08:52:31 +0000 (09:52 +0100)]
configure: Depend on libip4tc instead of libiptc

The libiptc meta-package apparently will be removed e.g. from Debian.
We currently only need IPv4 support in the connmark and forecast plugins.

Fixes #3338.

7 months agounit-tests: Increase timeout for test vectors suite
Tobias Brunner [Thu, 13 Feb 2020 15:42:13 +0000 (16:42 +0100)]
unit-tests: Increase timeout for test vectors suite

These occasionally fail due to the current timeout on IBM Power on Travis.

7 months agoRevert "travis: Add workaround for a tox/virtualenv/six issue"
Tobias Brunner [Thu, 13 Feb 2020 15:34:27 +0000 (16:34 +0100)]
Revert "travis: Add workaround for a tox/virtualenv/six issue"

This reverts commit d450e926de65e5517293d38ec3ad2a1a17020d05.

Was fixed by making tox depend on newer versions of six so the package
gets installed/updated automatically now when installing tox.  There is
also some ongoing work that tries to make virtualenv work with older
versions of six.

7 months agoenumerator: Fall back to lstat() if stat() fails when enumerating dirs/files
Tobias Brunner [Wed, 12 Feb 2020 16:37:34 +0000 (17:37 +0100)]
enumerator: Fall back to lstat() if stat() fails when enumerating dirs/files

This happens e.g. if the path is for an invalid symlink.

7 months agocirrus: Remove bashisms from test script to make it compatible with /bin/sh
Tobias Brunner [Wed, 12 Feb 2020 16:49:14 +0000 (17:49 +0100)]
cirrus: Remove bashisms from test script to make it compatible with /bin/sh

Bash is not installed on the FreeBSD images here and the location would
be different anyway (`/usr/local/bin/bash`, so we'd have to change the
hashbang to e.g. `/usr/bin/env bash`).

7 months agotravis: Add workaround for a tox/virtualenv/six issue
Tobias Brunner [Mon, 10 Feb 2020 13:48:02 +0000 (14:48 +0100)]
travis: Add workaround for a tox/virtualenv/six issue

virtualenv is installed as dependency of tox and 20.0.0 added a
dependency on a newer version of six, which is not automatically
installed/updated.

7 months agoikev2: Fix spelling of routability
Josh Soref [Wed, 5 Feb 2020 09:13:22 +0000 (04:13 -0500)]
ikev2: Fix spelling of routability

References strongswan/strongswan#164.

7 months agoSpelling fixes
Josh Soref [Wed, 5 Feb 2020 04:30:52 +0000 (23:30 -0500)]
Spelling fixes

* accumulating
* acquire
* alignment
* appropriate
* argument
* assign
* attribute
* authenticate
* authentication
* authenticator
* authority
* auxiliary
* brackets
* callback
* camellia
* can't
* cancelability
* certificate
* choinyambuu
* chunk
* collector
* collision
* communicating
* compares
* compatibility
* compressed
* confidentiality
* configuration
* connection
* consistency
* constraint
* construction
* constructor
* database
* decapsulated
* declaration
* decrypt
* derivative
* destination
* destroyed
* details
* devised
* dynamic
* ecapsulation
* encoded
* encoding
* encrypted
* enforcing
* enumerator
* establishment
* excluded
* exclusively
* exited
* expecting
* expire
* extension
* filter
* firewall
* foundation
* fulfillment
* gateways
* hashing
* hashtable
* heartbeats
* identifier
* identifiers
* identities
* identity
* implementers
* indicating
* initialize
* initiate
* initiation
* initiator
* inner
* instantiate
* legitimate
* libraries
* libstrongswan
* logger
* malloc
* manager
* manually
* measurement
* mechanism
* message
* network
* nonexistent
* object
* occurrence
* optional
* outgoing
* packages
* packets
* padding
* particular
* passphrase
* payload
* periodically
* policies
* possible
* previously
* priority
* proposal
* protocol
* provide
* provider
* pseudo
* pseudonym
* public
* qualifier
* quantum
* quintuplets
* reached
* reading
* recommendation to
* recommendation
* recursive
* reestablish
* referencing
* registered
* rekeying
* reliable
* replacing
* representing
* represents
* request
* request
* resolver
* result
* resulting
* resynchronization
* retriable
* revocation
* right
* rollback
* rule
* rules
* runtime
* scenario
* scheduled
* security
* segment
* service
* setting
* signature
* specific
* specified
* speed
* started
* steffen
* strongswan
* subjectaltname
* supported
* threadsafe
* traffic
* tremendously
* treshold
* unique
* uniqueness
* unknown
* until
* upper
* using
* validator
* verification
* version
* version
* warrior

Closes strongswan/strongswan#164.

7 months agopem: Support parsing PEM-encoded Ed448 keys
Tobias Brunner [Mon, 20 Jan 2020 18:11:18 +0000 (19:11 +0100)]
pem: Support parsing PEM-encoded Ed448 keys

7 months agopki: Add support for Ed448 keys/certificates
Tobias Brunner [Mon, 20 Jan 2020 18:08:14 +0000 (19:08 +0100)]
pki: Add support for Ed448 keys/certificates

7 months agoopenssl: Support certificates with Ed25519/448 keys
Tobias Brunner [Mon, 20 Jan 2020 16:58:34 +0000 (17:58 +0100)]
openssl: Support certificates with Ed25519/448 keys

7 months agopkcs1: Support parsing Ed448 public keys
Tobias Brunner [Mon, 20 Jan 2020 16:53:31 +0000 (17:53 +0100)]
pkcs1: Support parsing Ed448 public keys

7 months agonm: Replace deprecated g_type_class_add_private()
Tobias Brunner [Mon, 16 Dec 2019 12:55:39 +0000 (13:55 +0100)]
nm: Replace deprecated g_type_class_add_private()

Fixes #2765, #3197.

7 months agosoup: Use soup_session_new() to avoid deprecation warning
Tobias Brunner [Thu, 12 Dec 2019 16:29:08 +0000 (17:29 +0100)]
soup: Use soup_session_new() to avoid deprecation warning

There are a ton of libsoup/GLib-related "leaks" that we can't whitelist
and with leak detective active there is a delay that interestingly doesn't
happen with soup_session_sync_new(), so tests failed with a timeout (actually
they hung due to the lock in the fetcher manager).
On Travis, the curl plugin is used for the tests, so that's not an issue
there (and without LD the tests complete quickly and successfully).

7 months agotravis: Build soup plugin
Tobias Brunner [Thu, 12 Dec 2019 12:54:44 +0000 (13:54 +0100)]
travis: Build soup plugin

We disabled this due to issues with the GLib version shipped with
Ubuntu 12.04 (see ab23a0f86a4b).

7 months agovici: Options are optional in get_pools() of Python bindings
Tobias Brunner [Thu, 23 Jan 2020 09:35:23 +0000 (10:35 +0100)]
vici: Options are optional in get_pools() of Python bindings

Fixes #3319.

7 months agolibtpmtss: Fix problematic usage of chunk_from_chars() in TSS2 implementations
Tobias Brunner [Wed, 29 Jan 2020 10:22:07 +0000 (11:22 +0100)]
libtpmtss: Fix problematic usage of chunk_from_chars() in TSS2 implementations

See 8ea13bbc5ccd for details.

References #3249.

7 months agox509: Replace problematic calls of chunk_from_chars() for keyUsage extension
Tobias Brunner [Wed, 29 Jan 2020 10:12:12 +0000 (11:12 +0100)]
x509: Replace problematic calls of chunk_from_chars() for keyUsage extension

As noted in 8ea13bbc5ccd newer compilers might optimize out the
assignment leading to invalid values in the keyUsage extension (as the
length was still set, the extension was encoded, just not with the
intended values).

Fixes #3249.

7 months agopki: Remove unnecessary and problematic chunk_from_chars() usage in --signcrl
Tobias Brunner [Wed, 29 Jan 2020 10:05:30 +0000 (11:05 +0100)]
pki: Remove unnecessary and problematic chunk_from_chars() usage in --signcrl

If the serial is not yet set, the same default value is set just below.

See 8ea13bbc5ccd for details on chunk_from_chars().

References #3249.

7 months agotls-crypto: Fix usage of chunk_from_chars()
Tobias Brunner [Wed, 29 Jan 2020 09:02:38 +0000 (10:02 +0100)]
tls-crypto: Fix usage of chunk_from_chars()

See 8ea13bbc5ccd for details.

References #3249.

7 months agolgtm: Build external dependencies for a more complete analysis
Tobias Brunner [Thu, 30 Jan 2020 10:09:04 +0000 (11:09 +0100)]
lgtm: Build external dependencies for a more complete analysis

The build system is a bit limited, only the repository directory and
LGTM_WORKSPACE is writable.  sudo doesn't work at all, for others we
don't have enough permission.

7 months agowolfssl: Use pkg-config to check for wolfSSL
Tobias Brunner [Thu, 30 Jan 2020 12:55:51 +0000 (13:55 +0100)]
wolfssl: Use pkg-config to check for wolfSSL

The other checks trigger an automatic install of the old and incompatible
Ubuntu package on LGTM.

7 months agolibtpmtss: Only check for legacy TSS2 libs if newer are not found
Tobias Brunner [Thu, 30 Jan 2020 12:49:10 +0000 (13:49 +0100)]
libtpmtss: Only check for legacy TSS2 libs if newer are not found

On LGTM, legacy packages are installed automatically otherwise.

7 months agotravis: tpm2-tss switched the default crypto backend to OpenSSL with 2.2.0
Tobias Brunner [Thu, 30 Jan 2020 10:53:41 +0000 (11:53 +0100)]
travis: tpm2-tss switched the default crypto backend to OpenSSL with 2.2.0

7 months agotravis: Trigger code review on lgtm.com
Tobias Brunner [Tue, 28 Jan 2020 15:15:45 +0000 (16:15 +0100)]
travis: Trigger code review on lgtm.com

Only the master (daily) and pull requests are scanned automatically.

7 months agoconf: Complete ordering functions for ConfigOption class
Tobias Brunner [Wed, 29 Jan 2020 12:23:57 +0000 (13:23 +0100)]
conf: Complete ordering functions for ConfigOption class

7 months agopkcs11: Avoid naming conflict with method parameter
Tobias Brunner [Tue, 28 Jan 2020 13:58:27 +0000 (14:58 +0100)]
pkcs11: Avoid naming conflict with method parameter

7 months agosystime-fix: Replace asctime() with thread-safe asctime_r()
Tobias Brunner [Tue, 28 Jan 2020 13:55:25 +0000 (14:55 +0100)]
systime-fix: Replace asctime() with thread-safe asctime_r()

According to the man page, the buffer should have room for at least
26 characters.

7 months agoload-tester: Avoid naming conflict with local certificate variables
Tobias Brunner [Tue, 28 Jan 2020 13:41:15 +0000 (14:41 +0100)]
load-tester: Avoid naming conflict with local certificate variables

7 months agosw-collector: Avoid naming conflicts with local count variables
Tobias Brunner [Tue, 28 Jan 2020 13:38:27 +0000 (14:38 +0100)]
sw-collector: Avoid naming conflicts with local count variables

7 months agoeap-aka-3gpp2: Fix a bunch of typos
Tobias Brunner [Tue, 28 Jan 2020 13:32:52 +0000 (14:32 +0100)]
eap-aka-3gpp2: Fix a bunch of typos

7 months agoeap-aka-3gpp2: Avoid naming conflict with parameters of crypto functions
Tobias Brunner [Tue, 28 Jan 2020 13:32:38 +0000 (14:32 +0100)]
eap-aka-3gpp2: Avoid naming conflict with parameters of crypto functions

7 months agoeap-aka-3gpp2: Avoid naming conflict with local AMF variable
Tobias Brunner [Tue, 28 Jan 2020 13:45:36 +0000 (14:45 +0100)]
eap-aka-3gpp2: Avoid naming conflict with local AMF variable