Project

General

Profile

Version 5.8.0 » History » Version 2

Tobias Brunner, 26.04.2019 18:42
News for 5.8.0

1 1 Tobias Brunner
h1. Version 5.8.0
2 1 Tobias Brunner
3 2 Tobias Brunner
* The @systemd@ service units have been renamed. The modern unit, which was called _strongswan-swanctl_,
4 2 Tobias Brunner
  is now called _strongswan_ (the previous name is configured as alias in the unit, for which a symlink is
5 2 Tobias Brunner
  created when the unit is enabled). The legacy unit is now called _strongswan-starter_.
6 2 Tobias Brunner
7 2 Tobias Brunner
* Support for XFRM interfaces (available since Linux 4.19) has been added, which are intended to
8 2 Tobias Brunner
  replace VTI devices (they are similar but offer several advantages, for instance, they are not bound
9 2 Tobias Brunner
  to an address or address family).
10 2 Tobias Brunner
  IPsec SAs and policies are associated with such interfaces via interface IDs that can be configured in
11 2 Tobias Brunner
  [[swanctl.conf]] (dynamic IDs may optionally be allocated for each SA and even direction). It's possible to
12 2 Tobias Brunner
  use separate interfaces for in- and outbound traffic (or only use an interface in one direction and regular
13 2 Tobias Brunner
  policies in the other).
14 2 Tobias Brunner
  Interfaces may be created dynamically via [[updown]]/[[vici]] scripts, or statically before or after establishing
15 2 Tobias Brunner
  the SAs.  Routes must be added manually as needed (the daemon will not install any routes for outbound
16 2 Tobias Brunner
  policies with an interface ID).    
17 2 Tobias Brunner
  When moving XFRM interfaces to other network namespaces they retain access to the SAs and policies
18 2 Tobias Brunner
  installed in the original namespace, which allows providing IPsec tunnels for processes in other network
19 2 Tobias Brunner
  namespaces without giving them access to the IPsec keys or IKE credentials.
20 2 Tobias Brunner
  More information can be found on the page about [[RouteBasedVPN#XFRM-Interfaces-on-Linux|route-based VPNs]].
21 2 Tobias Brunner
22 2 Tobias Brunner
* Initiation of childless IKE_SAs is supported ("RFC 6023":https://tools.ietf.org/html/rfc6023). If enabled and supported by the responder,
23 2 Tobias Brunner
  no CHILD_SA is established during IKE_AUTH. Instead, all CHILD_SAs are created with CREATE_CHILD_SA
24 2 Tobias Brunner
  exchanges. This allows using a separate DH exchange even for the first CHILD_SA, which is otherwise
25 2 Tobias Brunner
  created during IKE_AUTH with keys derived from the IKE_SA's key material.
26 2 Tobias Brunner
  The [[swanctl]] @--initiate@ command may be used to initiate only the IKE_SA via @--ike@ option if @--child@ is
27 2 Tobias Brunner
  omitted and the peer supports this extension.
28 2 Tobias Brunner
29 2 Tobias Brunner
* The [[NetworkManager]] backend and plugin support IPv6.
30 2 Tobias Brunner
31 2 Tobias Brunner
* The new _wolfssl_ plugin is a wrapper around the "wolfSSL":https://github.com/wolfSSL/wolfssl crypto library. Thanks to Sean Parkinson of
32 2 Tobias Brunner
  wolfSSL Inc. for the initial patch.
33 2 Tobias Brunner
34 2 Tobias Brunner
* IKE SPIs may optionally be labeled via the _charon.spi_mask|label_ options in [[strongswan.conf]].  This feature
35 2 Tobias Brunner
  was extracted from _charon-tkm_, however, now applies the mask/label in network order.
36 2 Tobias Brunner
37 2 Tobias Brunner
* The _openssl_ plugin supports ChaCha20-Poly1305 when built with OpenSSL 1.1.0.
38 2 Tobias Brunner
39 2 Tobias Brunner
* The PB-TNC finite state machine according to section 3.2 of "RFC 5793":https://tools.ietf.org/html/rfc5793 was not correctly implemented
40 2 Tobias Brunner
  when sending either a @CRETRY@ or @SRETRY@ batch. These batches can only be sent in the "Decided" state
41 2 Tobias Brunner
  and a @CRETRY@ batch can immediately carry all messages usually transported by a @CDATA@ batch. It is
42 2 Tobias Brunner
  currently not possible to send a @SRETRY@ batch since full-duplex mode for PT-TLS transport is not supported.
43 2 Tobias Brunner
44 2 Tobias Brunner
* Instead of marking IPv6 virtual IPs as deprecated, the _kernel-netlink_ plugin now uses address labels to
45 2 Tobias Brunner
  avoid that such addresses are used for non-VPN traffic (commit:00a953d090).
46 2 Tobias Brunner
47 2 Tobias Brunner
* The _agent_ plugin now creates sockets to the ssh/gpg-agent dynamically and does not keep them open,
48 2 Tobias Brunner
  which otherwise might prevent the agent from getting terminated.
49 2 Tobias Brunner
50 2 Tobias Brunner
* To avoid broadcast loops the [[forecast]] plugin now only reinjects packets that are marked or received from
51 2 Tobias Brunner
  the configured interface.
52 2 Tobias Brunner
53 2 Tobias Brunner
* UTF-8 encoded passwords are supported via EAP-MSCHAPv2, which internally uses an UTF-16LE
54 2 Tobias Brunner
  encoding to calculate the NT hash (#3014).
55 2 Tobias Brunner
56 2 Tobias Brunner
* Properly delete temporary drop policies (used when updating IP addresses of SAs) if manual priorities are
57 2 Tobias Brunner
  used, which was broken since version:5.6.2 (commit:8e31d65730).
58 2 Tobias Brunner
59 2 Tobias Brunner
* Avoid overwriting _start_action_ when parsing the inactivity timeout in the _vici_ plugin (#2954).
60 2 Tobias Brunner
61 2 Tobias Brunner
* Fixed the automatic termination of reloaded _vici_ connections with _start_action=start_, which was broken
62 2 Tobias Brunner
  since version:5.6.3 (commit:71b22c250f).
63 2 Tobias Brunner
64 2 Tobias Brunner
* The lookup for shared secrets for IKEv1 SAs via [[sql]] plugin should now work better (commit:6ec9f68f32).
65 2 Tobias Brunner
66 2 Tobias Brunner
* Fixed a race condition in the trap manager between installation and removal of a policy (commit:69cbe2ca3f).
67 2 Tobias Brunner
68 2 Tobias Brunner
* Compilation of the _kernel-netlink_ plugin has been fixed on old kernels (< 2.6.39), which was caused
69 2 Tobias Brunner
  by the HW offload changes (commit:c7f579fa17).
70 2 Tobias Brunner
71 2 Tobias Brunner
* Several IKEv2 protocol details are now handled more strictly: Unrequested virtual IPs are ignored,
72 2 Tobias Brunner
  @CFG_REPLY@ payloads are ignored if no @CFG_REQUEST@ payloads were sent, a @USE_TRANSPORT_MODE@ notify
73 2 Tobias Brunner
  received from the responder is checked against the local configuration.