Project

General

Profile

Changelog for 5.2.x » History » Version 2

« Previous - Version 2/3 (diff) - Next » - Current version
Tobias Brunner, 08.07.2014 09:47


Changelog for 5.2.x

Version 5.2.1

  • The new charon-systemd IKE daemon implements an IKE daemon tailored
    for use with systemd. It avoids the dependency on ipsec starter and
    uses swanctl as configuration backend, building a simple and
    lightweight solution. Native systemd journal logging is supported.
  • Support for the new IKEv2 Fragmentation mechanism as defined by
    RFC 7383 has been added, which avoids IP fragmentation of
    IKEv2 UDP datagrams exceeding the network's MTU size. This feature is
    activated by setting fragmentation=yes in ipsec.conf and optionally
    setting the maximum IP packet size with the charon.fragment_size
    parameter in strongswan.conf.
  • Support of the TCG TNC IF-M Attribute Segmentation specification proposal,
    which allows to transfer potentially huge attributes amounting to several
    megabytes of measurement data like the TCG/SWID Tag [ID] Inventory
    or IETF/Installed Packages attributes via the PA-TNC, PB-TNC and
    either PT-EAP or PT-TLS NEA protocol stack. By default segmented attributes
    are just reconstructed on the receiving side from the individual segments
    with the exeception of the three attribute types mentioned above which can
    be parsed and processed incrementally as the segments arrive one-by-one.
    A commented example can be found under PT-EAP-SWID.
  • For the vici plugin a ruby gem has been added to allow ruby applications
    to control or monitor the IKE daemon. The vici documentation has been
    updated to include a description of the available operations and some simple
    examples using both the libvici C interface and the ruby gem (see README.md).
  • The new ext-auth plugin calls an external script to implement custom IKE_SA
    authorization logic, courtesy of Vyronas Tsingaras.
  • Support for IKEv1 fragmentation has been extended to Windows XP/7 clients,
    courtesy of Volker Rümelin.
  • A static interval for interim RADIUS accounting updates can be configured for
    the eap-radius plugin. It's overridden by any interval the RADIUS server returns
    in the Access-Accept message, but it can be useful if RADIUS is only used for accounting.
  • Fixed re-authentication when using IKEv1 Mode Config in push mode (commit:cb98380fe9e4).
  • Handle Quick Mode DELETES during a Quick Mode rekeying (commit:cd9bba508bba).
  • Fixed some Cisco Unity corner cases (rekeying and situations where no split-include attributes
    are received), one fix didn't made it into this release though (#737).
  • Fixed some IKEv1 interoperability issues (e.g. with proposal numbering and IPComp), see #661.
  • Fixed a crash during reauthentication with multiple authentication rounds caused by the
    incorrect use of array_remove_at() in auth_cfg_t (commit:8ca9a67fac59).
    Also added a comment regarding the used of that function (see commit:c641974de001).
  • The kernel-pfkey plugin now reports packet counts (commit:25fcbab6789c).
  • If available the kernel-pfroute plugin uses RTM_IFANNOUNCE/IFAN_DEPARTURE events to
    delete cached interfaces (see commit:f80093e2ee65).
  • The kernel-netlink plugin can set MTU and MSS on installed routes via settings in
    strongswan.conf (these are global and affect all SAs).
  • The kernel-netlink plugin optionally installs protocol and ports on transport mode
    SAs (commit:90e6675a657c) to enforce policies for inbound traffic. Enabling this prevents the use
    of a single IPsec SA by more than one traffic selectors though.
  • IPv6 transport via libipsec has been fixed (commit:15dee933de7d).
  • Added the source:testing/scripts/build-strongswan script to (relatively) quickly (re-)build
    strongSwan in the testing environment.
  • Don't wait for charon if ipsec start --attach-gdb is used (commit:f51c923f69f9, commit:508f90131a32).

Version 5.2.0

  • strongSwan has been ported to the Windows platform. Using a MinGW toolchain,
    many parts of the strongSwan codebase run natively on Windows 7 / 2008 R2 and
    newer releases.

    charon-svc implements a Windows IKE service based on libcharon, the kernel-iph
    and kernel-wfp plugins act as networking and IPsec backend on the Windows platform.
    socket-win provides a native IKE socket implementation, while winhttp fetches
    CRL and OCSP information using the WinHTTP API.

  • The new vici plugin provides a Versatile IKE Configuration Interface for
    charon. Using the stable IPC interface, external applications can configure,
    control and monitor the IKE daemon. Instead of scripting the ipsec tool
    and generating ipsec.conf, third party applications can use the new interface
    for more control and better reliability.
  • Built upon the libvici client library, swanctl implements the first user of
    the VICI interface. Together with a swanctl.conf configuration file,
    connections can be defined, loaded and managed. swanctl provides a portable,
    complete IKE configuration and control interface for the command line.
    Examples: http://www.strongswan.org/uml/testresults/swanctl/
  • The SWID IMV implements a JSON-based REST API which allows the exchange
    of SWID tags and Software IDs with the strongTNC policy manager.
  • The SWID IMC can extract all installed packages from the dpkg (Debian,
    Ubuntu, etc.), rpm (Fedora, RedHat, etc.), or pacman (Arch Linux, Manjaro, etc.)
    package managers, respectively, using the swidGenerator which generates
    SWID tags according to the new ISO/IEC 19770-2:2014 standard.
  • All IMVs now share the access requestor ID, device ID and product info
    of an access requestor via a common imv_session object.
  • The Attestation IMC/IMV pair supports the IMA-NG measurement format
    introduced with the Linux 3.13 kernel.
  • The aikgen tool generates an Attestation Identity Key bound to a TPM.
  • Implemented the PT-EAP transport protocol (RFC 7171) for Trusted Network
    Connect.
  • The ipsec.conf replay_window option defines connection specific IPsec replay
    windows. Original patch courtesy of Zheng Zhong and Christophe Gouault from 6Wind.
  • The custom parser for strongswan.conf has been replaced with one based on flex/bison.
    It adds support for quoted strings (with escape sequences), unlimited includes, more
    relaxed newline handling, better syntax error reporting, and a distinction between
    empty and unset values (key="" vs. key=).
  • The parser for ipsec.conf in starter has been rewritten. It allows overriding options
    in all included sections (also=) not only in %default, options defined in included sections
    can also be cleared again. Other improvements, like quoted strings, unlimited includes,
    and better whitespace/comment handling have been implemented as well.
  • Support for late IKEv1 connection switching based on the XAuth username has been added.
  • Added support to parse SSH public keys from files configured in left|rightsigkey.
  • RDNs in Distinguished Names parsed from strings must now either be separated by a comma
    or a slash, not both. If the DN starts with a slash (or whitespace and a slash) slashes
    will be assumed as separator, commas otherwise.
  • The algorithm order in the default IKE proposal is again like it was before 5.1.1 (commit:a4844dbc8f15).
  • Scalability of half-open IKE_SA and log level checks have been improved (commit:502eeb7f76d2).
  • Added a workaround for Sonicwall boxes that send ID/HASH payloads unencrypted during
    IKEv1 Main Mode (commit:c4c9d291d2aa).
  • If private algorithm identifiers are used, rekeying is fixed by migrating extensions/conditions
    to the new IKE_SA during rekeying (commit:094963d1b160).
  • Support for IPComp was added to the kernel-pfkey plugin (FreeBSD, Mac OS X, Linux),
    patch courtesy of Francois ten Krooden (commit:6afa7761a540).
  • Passthrough policies are installed with strictly higher priorities than IPsec policies, which
    was not always the case previously, depending on the traffic selectors.
  • The kernel-netlink plugin now follows RFC 6724 when selecting IPv6 source addresses (#543).
  • stroke and starter now use the <daemon>.plugins.stroke.socket option to determine the socket
    to communicate with the daemon. A --daemon option has been added to stroke.
  • The --disable-tools ./configure option has been replaced with the --disable-pki and
    --disable-scepclient options.
  • A handle_vips() hook has been added similar to assign_vips(), but for clients
    handling virtual IPs and other configuration attributes (commit:31f26960761c).