Changelog for 4.4.x¶
- The PLUTO_MARK_IN and PLUTO_ESP_ENC environment variables can be used
in a user-specific updown script to set marks on inbound ESP or
- The openssl plugin now supports X.509 certificate and CRL functions. The use of the Online
Certificate Status Protocol (OCSP) still requires the x509 plugin, though.
X.509 attribute certificate handling rely on the x509 plugin as well.
- OCSP/CRL checking in IKEv2 has been moved to the revocation plugin, enabled
by default. Plase update manual load directives in strongswan.conf.
- RFC3779 ipAddrBlock constraint checking has been moved to the addrblock
plugin, disabled by default. Enable it and update manual load directives
in strongswan.conf, if required.
- Issue a warning if explicit load lists are used. Since the number of pluto
and charon plugins are increasing steadily with each release and explicit load
lists might become obsoleted, a warning is now issued by ipsec starter if explicit
load lists are found in strongswan.conf since we don't recommend their use for
inexperienced users. Experts read on here.
- The pki utility supports CRL generation using the --signcrl command.
- The ipsec pki --self, --issue and --req commands now support output in
PEM format using the --outform pem option.
- The major refactoring of the IKEv1 Mode Config functionality now allows
the transport and handling of arbitrary Mode Config attributes.
- The RADIUS proxy plugin eap-radius now supports multiple servers. Configured
servers are chosen randomly, with the option to prefer a specific server.
Non-responding servers are degraded by the selection process.
- The ipsec pool tool manages arbitrary configuration attributes stored
in an SQL database. ipsec pool --help gives the details.
- The new eap-simaka-sql plugin acts as a backend for EAP-SIM and EAP-AKA,
reading triplets/quintuplets from an SQL database.
- The High Availability plugin now supports a HA enabled in-memory address
pool and Node reintegration without IKE_SA rekeying. The latter allows
clients without IKE_SA rekeying support to keep connected during
reintegration. Additionally, many other issues have been fixed in the ha
- Fixed a potential remote code execution vulnerability resulting from
the misuse of snprintf(). The vulnerability was introduced with the
strongswan-4.3.3 release and is exploitable by unauthenticated users.
Patches for all releases starting with 4.3.3 are available.
- The IKEv2 High Availability plugin has been integrated. It provides
load sharing and failover capabilities in a cluster of currently two nodes,
based on an extend ClusterIP kernel module (for details see HighAvailability).
The development of the High Availability functionality was sponsored by
secunet Security Networks AG.
- Added IKEv1 and IKEv2 configuration support for the AES-GMAC
authentication-only ESP cipher. Our aes_gmac kernel patch or a Linux
2.6.34 kernel is required to make AES-GMAC available via the XFRM
- Added support for Diffie-Hellman groups 22, 23 and 24 to the gmp, gcrypt
and openssl plugins, usable by both pluto and charon. The new proposal
keywords are modp1024s160, modp2048s224 and modp2048s256.
Thanks to Joy Latten from IBM for her contribution.
- The IKEv1 pluto daemon supports RAM-based virtual IP pools using
the rightsourceip directive with a subnet from which addresses
- The ipsec pki --gen and --pub commands now allow the output of
private and public keys in PEM format using the --outform pem
command line option.
- The new DHCP plugin queries virtual IP addresses for clients from a DHCP
server using broadcasts, or a defined server using the
charon.plugins.dhcp.server strongswan.conf option. DNS/WINS server information
is additionally served to clients if the DHCP server provides such
information. The plugin is used in ipsec.conf configurations having
rightsourceip set to %dhcp.
- A new plugin called farp fakes ARP responses for virtual IP addresses
handed out to clients from the IKEv2 daemon charon. The plugin lets a
road-warrior act as a client on the local LAN if it uses a virtual IP
from the responders subnet, e.g. acquired using the DHCP plugin.
- The existing IKEv2 socket implementations have been migrated to the
socket-default and the socket-raw plugins. The new socket-dynamic plugin
binds sockets dynamically to ports configured via the left-/rightikeport
ipsec.conf connection parameters.
- The Android charon plugin stores received DNS server information as "net.dns"
system properties, as used by the Android platform.