]> git.ipfire.org Git - thirdparty/strongswan.git/blame - NEWS
display printable characters in dntoa()
[thirdparty/strongswan.git] / NEWS
CommitLineData
b6b90b68
MW
1strongswan-4.3.5
2----------------
3
628f023d
AS
4- The IKEv1 pluto daemon can now use SQL-based address pools to deal out
5 virtual IP addresses as a Mode Config server. The pool capability has been
6 migrated from charon's sql plugin to a new attr-sql plugin which is loaded
b42bfc79 7 by libstrongswan and which can be used by both daemons either with a SQLite
628f023d
AS
8 or MySQL database and the corresponding plugin.
9
b42bfc79
MW
10- Plugin names have been streamlined: EAP plugins now have a dash after eap
11 (e.g. eap-sim), as it is used with the --enable-eap-sim ./configure option.
12 Plugin configuration sections in strongswan.conf now use the same name as the
13 plugin itself (i.e. with a dash). Make sure to update "load" directives and
14 the affected plugin sections in existing strongswan.conf files.
15
d245f5cf
AS
16- The private/public key parsing and encoding has been split up into
17 separate pkcs1, pgp, pem and dnskey plugins. The public key implementation
18 plugins gmp, gcrypt and openssl can all make use of them.
b6b90b68 19
55b045ab
MW
20- The EAP-AKA plugin can use different backends for USIM/quintuplet
21 calculations, very similar to the EAP-SIM plugin. The existing 3GPP2 software
22 implementation has been migrated to a separate plugin.
23
d245f5cf 24- The IKEv2 daemon charon gained basic PGP support. It can use locally installed
b6b90b68
MW
25 peer certificates and can issue signatures based on RSA private keys.
26
27- The new 'ipsec pki' tool provides a set of commands to maintain a public
28 key infrastructure. It currently supports operations to create RSA and ECDSA
29 private/public keys, calculate fingerprints and issue or verify certificates.
30
31- Charon uses a monotonic time source for statistics and job queueing, behaving
32 correctly if the system time changes (e.g. when using NTP).
33
34- In addition to time based rekeying, charon supports IPsec SA lifetimes based
35 on processed volume or number of packets. They new ipsec.conf paramaters
36 'lifetime' (an alias to 'keylife'), 'lifebytes' and 'lifepackets' handle
37 SA timeouts, while the parameters 'margintime' (an alias to rekeymargin),
38 'marginbytes' and 'marginpackets' trigger the rekeying before a SA expires.
39 The existing parameter 'rekeyfuzz' affects all margins.
40
85af7a89
MW
41- If no CA/Gateway certificate is specified in the NetworkManager plugin,
42 charon uses a set of trusted root certificates preinstalled by distributions.
43 The directory containing CA certificates can be specified using the
44 --with-nm-ca-dir=path configure option.
45
b80fa9ca 46- Fixed the encoding of the Email relative distinguished name in left|rightid
509f70c1 47 statements.
b80fa9ca 48
509f70c1
AS
49- Fixed the broken parsing of PKCS#7 wrapped certificates by the pluto daemon.
50
51- Fixed smartcard-based authentication in the pluto daemon which was broken by
52 the ECDSA support introduced with the 4.3.2 release.
53
cea4bd8f
AS
54- A patch contributed by Heiko Hund fixes mixed IPv6 in IPv4 and vice versa
55 tunnels established with the IKEv1 pluto daemon.
56
509f70c1
AS
57- The pluto daemon now uses the libstrongswan x509 plugin for certificates and
58 CRls and the struct id type was replaced by identification_t used by charon
59 and the libstrongswan library.
18060241 60
85af7a89 61
430dd08a
AS
62strongswan-4.3.4
63----------------
64
65- IKEv2 charon daemon ported to FreeBSD and Mac OS X. Installation details can
66 be found on wiki.strongswan.org.
67
68- ipsec statusall shows the number of bytes transmitted and received over
69 ESP connections configured by the IKEv2 charon daemon.
70
71- The IKEv2 charon daemon supports include files in ipsec.secrets.
72
73
1c7f456a
AS
74strongswan-4.3.3
75----------------
76
aa74d705
AS
77- The configuration option --enable-integrity-test plus the strongswan.conf
78 option libstrongswan.integrity_test = yes activate integrity tests
79 of the IKE daemons charon and pluto, libstrongswan and all loaded
80 plugins. Thus dynamic library misconfigurations and non-malicious file
81 manipulations can be reliably detected.
82
1c7f456a
AS
83- The new default setting libstrongswan.ecp_x_coordinate_only=yes allows
84 IKEv1 interoperability with MS Windows using the ECP DH groups 19 and 20.
85
86- The IKEv1 pluto daemon now supports the AES-CCM and AES-GCM ESP
87 authenticated encryption algorithms.
88
aa74d705
AS
89- The IKEv1 pluto daemon now supports V4 OpenPGP keys.
90
91- The RDN parser vulnerability discovered by Orange Labs research team
92 was not completely fixed in version 4.3.2. Some more modifications
93 had to be applied to the asn1_length() function to make it robust.
94
1c7f456a 95
80c0710c
MW
96strongswan-4.3.2
97----------------
98
99- The new gcrypt plugin provides symmetric cipher, hasher, RNG, Diffie-Hellman
100 and RSA crypto primitives using the LGPL licensed GNU gcrypt library.
101
102- libstrongswan features an integrated crypto selftest framework for registered
103 algorithms. The test-vector plugin provides a first set of test vectors and
104 allows pluto and charon to rely on tested crypto algorithms.
105
b32af120
AS
106- pluto can now use all libstrongswan plugins with the exception of x509 and xcbc.
107 Thanks to the openssl plugin, the ECP Diffie-Hellman groups 19, 20, 21, 25, and
108 26 as well as ECDSA-256, ECDSA-384, and ECDSA-521 authentication can be used
109 with IKEv1.
126f2130
AS
110
111- Applying their fuzzing tool, the Orange Labs vulnerability research team found
112 another two DoS vulnerabilities, one in the rather old ASN.1 parser of Relative
113 Distinguished Names (RDNs) and a second one in the conversion of ASN.1 UTCTIME
114 and GENERALIZEDTIME strings to a time_t value.
b6b90b68 115
b32af120 116
3bf7c249
MW
117strongswan-4.3.1
118----------------
119
120- The nm plugin now passes DNS/NBNS server information to NetworkManager,
09dbca9f 121 allowing a gateway administrator to set DNS/NBNS configuration on clients
3bf7c249
MW
122 dynamically.
123
09dbca9f
MW
124- The nm plugin also accepts CA certificates for gateway authentication. If
125 a CA certificate is configured, strongSwan uses the entered gateway address
126 as its idenitity, requiring the gateways certificate to contain the same as
127 subjectAltName. This allows a gateway administrator to deploy the same
128 certificates to Windows 7 and NetworkManager clients.
047b2e42 129
050cc582
AS
130- The command ipsec purgeike deletes IKEv2 SAs that don't have a CHILD SA.
131 The command ipsec down <conn>{n} deletes CHILD SA instance n of connection
132 <conn> whereas ipsec down <conn>{*} deletes all CHILD SA instances.
133 The command ipsec down <conn>[n] deletes IKE SA instance n of connection
134 <conn> plus dependent CHILD SAs whereas ipsec down <conn>[*] deletes all
135 IKE SA instances of connection <conn>.
136
09dbca9f 137- Fixed a regression introduced in 4.3.0 where EAP authentication calculated
047b2e42
MW
138 the AUTH payload incorrectly. Further, the EAP-MSCHAPv2 MSK key derivation
139 has been updated to be compatible with the Windows 7 Release Candidate.
140
141- Refactored installation of triggering policies. Routed policies are handled
142 outside of IKE_SAs to keep them installed in any case. A tunnel gets
143 established only once, even if initiation is delayed due network outages.
144
050cc582
AS
145- Improved the handling of multiple acquire signals triggered by the kernel.
146
147- Fixed two DoS vulnerabilities in the charon daemon that were discovered by
148 fuzzing techniques: 1) Sending a malformed IKE_SA_INIT request leaved an
149 incomplete state which caused a null pointer dereference if a subsequent
150 CREATE_CHILD_SA request was sent. 2) Sending an IKE_AUTH request with either
151 a missing TSi or TSr payload caused a null pointer derefence because the
b6b90b68 152 checks for TSi and TSr were interchanged. The IKEv2 fuzzer used was
050cc582
AS
153 developped by the Orange Labs vulnerability research team. The tool was
154 initially written by Gabriel Campana and is now maintained by Laurent Butti.
155
047b2e42
MW
156- Added support for AES counter mode in ESP in IKEv2 using the proposal
157 keywords aes128ctr, aes192ctr and aes256ctr.
158
d44fd821 159- Further progress in refactoring pluto: Use of the curl and ldap plugins
050cc582
AS
160 for fetching crls and OCSP. Use of the random plugin to get keying material
161 from /dev/random or /dev/urandom. Use of the openssl plugin as an alternative
d44fd821 162 to the aes, des, sha1, sha2, and md5 plugins. The blowfish, twofish, and
050cc582 163 serpent encryption plugins are now optional and are not enabled by default.
d44fd821
AS
164
165
247e665a
AS
166strongswan-4.3.0
167----------------
168
81fc8e5f
MW
169- Support for the IKEv2 Multiple Authentication Exchanges extension (RFC4739).
170 Initiators and responders can use several authentication rounds (e.g. RSA
171 followed by EAP) to authenticate. The new ipsec.conf leftauth/rightauth and
172 leftauth2/rightauth2 parameters define own authentication rounds or setup
173 constraints for the remote peer. See the ipsec.conf man page for more detials.
174
175- If glibc printf hooks (register_printf_function) are not available,
176 strongSwan can use the vstr string library to run on non-glibc systems.
177
558c89e7
AS
178- The IKEv2 charon daemon can now configure the ESP CAMELLIA-CBC cipher
179 (esp=camellia128|192|256).
247e665a 180
558c89e7
AS
181- Refactored the pluto and scepclient code to use basic functions (memory
182 allocation, leak detective, chunk handling, printf_hooks, strongswan.conf
183 attributes, ASN.1 parser, etc.) from the libstrongswan library.
b752f873 184
558c89e7
AS
185- Up to two DNS and WINS servers to be sent via IKEv1 ModeConfig can be
186 configured in the pluto section of strongswan.conf.
dfd7ba80 187
247e665a 188
623bca40
AS
189strongswan-4.2.14
190-----------------
191
22180558
AS
192- The new server-side EAP RADIUS plugin (--enable-eap-radius)
193 relays EAP messages to and from a RADIUS server. Succesfully
194 tested with with a freeradius server using EAP-MD5 and EAP-SIM.
195
79b27294
AS
196- A vulnerability in the Dead Peer Detection (RFC 3706) code was found by
197 Gerd v. Egidy <gerd.von.egidy@intra2net.com> of Intra2net AG affecting
198 all Openswan and strongSwan releases. A malicious (or expired ISAKMP)
199 R_U_THERE or R_U_THERE_ACK Dead Peer Detection packet can cause the
200 pluto IKE daemon to crash and restart. No authentication or encryption
201 is required to trigger this bug. One spoofed UDP packet can cause the
202 pluto IKE daemon to restart and be unresponsive for a few seconds while
203 restarting. This DPD null state vulnerability has been officially
204 registered as CVE-2009-0790 and is fixed by this release.
205
22180558
AS
206- ASN.1 to time_t conversion caused a time wrap-around for
207 dates after Jan 18 03:14:07 UTC 2038 on 32-bit platforms.
208 As a workaround such dates are set to the maximum representable
209 time, i.e. Jan 19 03:14:07 UTC 2038.
210
211- Distinguished Names containing wildcards (*) are not sent in the
b6b90b68 212 IDr payload anymore.
623bca40
AS
213
214
076e7853
AS
215strongswan-4.2.13
216-----------------
217
218- Fixed a use-after-free bug in the DPD timeout section of the
219 IKEv1 pluto daemon which sporadically caused a segfault.
220
221- Fixed a crash in the IKEv2 charon daemon occuring with
b6b90b68 222 mixed RAM-based and SQL-based virtual IP address pools.
076e7853 223
f15483ef
AS
224- Fixed ASN.1 parsing of algorithmIdentifier objects where the
225 parameters field is optional.
226
03991bc1
MW
227- Ported nm plugin to NetworkManager 7.1.
228
076e7853 229
bfde75ee 230strongswan-4.2.12
076e7853 231-----------------
bfde75ee
AS
232
233- Support of the EAP-MSCHAPv2 protocol enabled by the option
234 --enable-eap-mschapv2. Requires the MD4 hash algorithm enabled
235 either by --enable-md4 or --enable-openssl.
236
237- Assignment of up to two DNS and up to two WINS servers to peers via
b6b90b68 238 the IKEv2 Configuration Payload (CP). The IPv4 or IPv6 nameserver
bfde75ee
AS
239 addresses are defined in strongswan.conf.
240
241- The strongSwan applet for the Gnome NetworkManager is now built and
242 distributed as a separate tarball under the name NetworkManager-strongswan.
243
b6b90b68 244
0519ca90
AS
245strongswan-4.2.11
246-----------------
247
ae1ae574
AS
248- Fixed ESP NULL encryption broken by the refactoring of keymat.c.
249 Also introduced proper initialization and disposal of keying material.
250
251- Fixed the missing listing of connection definitions in ipsec statusall
252 broken by an unfortunate local variable overload.
0519ca90
AS
253
254
4856241c
MW
255strongswan-4.2.10
256-----------------
257
258- Several performance improvements to handle thousands of tunnels with almost
259 linear upscaling. All relevant data structures have been replaced by faster
260 counterparts with better lookup times.
261
262- Better parallelization to run charon on multiple cores. Due to improved
263 ressource locking and other optimizations the daemon can take full
264 advantage of 16 or even more cores.
265
266- The load-tester plugin can use a NULL Diffie-Hellman group and simulate
267 unique identities and certificates by signing peer certificates using a CA
268 on the fly.
269
270- The redesigned stroke in-memory IP pool handles leases. The "ipsec leases"
271 command queries assigned leases.
272
273- Added support for smartcards in charon by using the ENGINE API provided by
274 OpenSSL, based on patches by Michael Roßberg.
275
276- The Padlock plugin supports the hardware RNG found on VIA CPUs to provide a
277 reliable source of randomness.
278
73937bd8
MW
279strongswan-4.2.9
280----------------
281
509e07c5
AS
282- Flexible configuration of logging subsystem allowing to log to multiple
283 syslog facilities or to files using fine-grained log levels for each target.
73937bd8
MW
284
285- Load testing plugin to do stress testing of the IKEv2 daemon against self
286 or another host. Found and fixed issues during tests in the multi-threaded
287 use of the OpenSSL plugin.
288
289- Added profiling code to synchronization primitives to find bottlenecks if
7bdc931e 290 running on multiple cores. Found and fixed an issue where parts of the
73937bd8
MW
291 Diffie-Hellman calculation acquired an exclusive lock. This greatly improves
292 parallelization to multiple cores.
293
509e07c5
AS
294- updown script invocation has been separated into a plugin of its own to
295 further slim down the daemon core.
73937bd8 296
509e07c5 297- Separated IKE_SA/CHILD_SA key derivation process into a closed system,
7bdc931e 298 allowing future implementations to use a secured environment in e.g. kernel
73937bd8
MW
299 memory or hardware.
300
509e07c5
AS
301- The kernel interface of charon has been modularized. XFRM NETLINK (default)
302 and PFKEY (--enable-kernel-pfkey) interface plugins for the native IPsec
303 stack of the Linux 2.6 kernel as well as a PFKEY interface for the KLIPS
304 IPsec stack (--enable-kernel-klips) are provided.
305
306- Basic Mobile IPv6 support has been introduced, securing Binding Update
307 messages as well as tunneled traffic between Mobile Node and Home Agent.
308 The installpolicy=no option allows peaceful cooperation with a dominant
309 mip6d daemon and the new type=transport_proxy implements the special MIPv6
310 IPsec transport proxy mode where the IKEv2 daemon uses the Care-of-Address
311 but the IPsec SA is set up for the Home Adress.
7bdc931e 312
4dc0dce8
AS
313- Implemented migration of Mobile IPv6 connections using the KMADDRESS
314 field contained in XFRM_MSG_MIGRATE messages sent by the mip6d daemon
315 via the Linux 2.6.28 (or appropriately patched) kernel.
316
73937bd8 317
e39b271b
AS
318strongswan-4.2.8
319----------------
320
5dadb16e 321- IKEv2 charon daemon supports authentication based on raw public keys
e39b271b
AS
322 stored in the SQL database backend. The ipsec listpubkeys command
323 lists the available raw public keys via the stroke interface.
324
4f0241e6
MW
325- Several MOBIKE improvements: Detect changes in NAT mappings in DPD exchanges,
326 handle events if kernel detects NAT mapping changes in UDP-encapsulated
327 ESP packets (requires kernel patch), reuse old addesses in MOBIKE updates as
328 long as possible and other fixes.
329
5dadb16e
AS
330- Fixed a bug in addr_in_subnet() which caused insertion of wrong source
331 routes for destination subnets having netwmasks not being a multiple of 8 bits.
332 Thanks go to Wolfgang Steudel, TU Ilmenau for reporting this bug.
333
e39b271b 334
e376d75f
MW
335strongswan-4.2.7
336----------------
337
b37cda82
AS
338- Fixed a Denial-of-Service vulnerability where an IKE_SA_INIT message with
339 a KE payload containing zeroes only can cause a crash of the IKEv2 charon
340 daemon due to a NULL pointer returned by the mpz_export() function of the
341 GNU Multiprecision Library (GMP). Thanks go to Mu Dynamics Research Labs
b6b90b68 342 for making us aware of this problem.
b37cda82 343
b6b90b68 344- The new agent plugin provides a private key implementation on top of an
e376d75f
MW
345 ssh-agent.
346
347- The NetworkManager plugin has been extended to support certificate client
b1f47854 348 authentication using RSA keys loaded from a file or using ssh-agent.
e376d75f
MW
349
350- Daemon capability dropping has been ported to libcap and must be enabled
351 explicitly --with-capabilities=libcap. Future version will support the
352 newer libcap2 library.
353
b37cda82
AS
354- ipsec listalgs lists the IKEv2 cryptografic algorithms registered with the
355 charon keying daemon.
356
357
9f9d6ece
AS
358strongswan-4.2.6
359----------------
360
609166f4
MW
361- A NetworkManager plugin allows GUI-based configuration of road-warrior
362 clients in a simple way. It features X509 based gateway authentication
363 and EAP client authentication, tunnel setup/teardown and storing passwords
364 in the Gnome Keyring.
365
366- A new EAP-GTC plugin implements draft-sheffer-ikev2-gtc-00.txt and allows
367 username/password authentication against any PAM service on the gateway.
b6b90b68 368 The new EAP method interacts nicely with the NetworkManager plugin and allows
609166f4
MW
369 client authentication against e.g. LDAP.
370
371- Improved support for the EAP-Identity method. The new ipsec.conf eap_identity
372 parameter defines an additional identity to pass to the server in EAP
373 authentication.
374
9f9d6ece
AS
375- The "ipsec statusall" command now lists CA restrictions, EAP
376 authentication types and EAP identities.
377
378- Fixed two multithreading deadlocks occurring when starting up
379 several hundred tunnels concurrently.
380
381- Fixed the --enable-integrity-test configure option which
382 computes a SHA-1 checksum over the libstrongswan library.
383
384
174216c7
AS
385strongswan-4.2.5
386----------------
387
b6b90b68 388- Consistent logging of IKE and CHILD SAs at the audit (AUD) level.
8124e491
AS
389
390- Improved the performance of the SQL-based virtual IP address pool
391 by introducing an additional addresses table. The leases table
392 storing only history information has become optional and can be
393 disabled by setting charon.plugins.sql.lease_history = no in
394 strongswan.conf.
395
eb0cc338 396- The XFRM_STATE_AF_UNSPEC flag added to xfrm.h allows IPv4-over-IPv6
de5f70e7 397 and IPv6-over-IPv4 tunnels with the 2.6.26 and later Linux kernels.
eb0cc338 398
174216c7
AS
399- management of different virtual IP pools for different
400 network interfaces have become possible.
401
b6b90b68 402- fixed a bug which prevented the assignment of more than 256
174216c7
AS
403 virtual IP addresses from a pool managed by an sql database.
404
8124e491
AS
405- fixed a bug which did not delete own IPCOMP SAs in the kernel.
406
b6b90b68 407
179dd12c
AS
408strongswan-4.2.4
409----------------
410
9de95037
AS
411- Added statistics functions to ipsec pool --status and ipsec pool --leases
412 and input validation checks to various ipsec pool commands.
179dd12c 413
73a8eed3 414- ipsec statusall now lists all loaded charon plugins and displays
9de95037 415 the negotiated IKEv2 cipher suite proposals.
73a8eed3
AS
416
417- The openssl plugin supports the elliptic curve Diffie-Hellman groups
418 19, 20, 21, 25, and 26.
419
420- The openssl plugin supports ECDSA authentication using elliptic curve
421 X.509 certificates.
422
423- Fixed a bug in stroke which caused multiple charon threads to close
424 the file descriptors during packet transfers over the stroke socket.
b6b90b68 425
e0bb4dbb
AS
426- ESP sequence numbers are now migrated in IPsec SA updates handled by
427 MOBIKE. Works only with Linux kernels >= 2.6.17.
428
179dd12c 429
83d9e870
AS
430strongswan-4.2.3
431----------------
432
b6b90b68 433- Fixed the strongswan.conf path configuration problem that occurred when
83d9e870
AS
434 --sysconfig was not set explicitly in ./configure.
435
436- Fixed a number of minor bugs that where discovered during the 4th
437 IKEv2 interoperability workshop in San Antonio, TX.
438
439
7f491111
MW
440strongswan-4.2.2
441----------------
442
a57cd446
AS
443- Plugins for libstrongswan and charon can optionally be loaded according
444 to a configuration in strongswan.conf. Most components provide a
7f491111 445 "load = " option followed by a space separated list of plugins to load.
a57cd446
AS
446 This allows e.g. the fallback from a hardware crypto accelerator to
447 to software-based crypto plugins.
7f491111
MW
448
449- Charons SQL plugin has been extended by a virtual IP address pool.
a57cd446
AS
450 Configurations with a rightsourceip=%poolname setting query a SQLite or
451 MySQL database for leases. The "ipsec pool" command helps in administrating
452 the pool database. See ipsec pool --help for the available options
453
454- The Authenticated Encryption Algorithms AES-CCM-8/12/16 and AES-GCM-8/12/16
b6b90b68 455 for ESP are now supported starting with the Linux 2.6.25 kernel. The
a57cd446
AS
456 syntax is e.g. esp=aes128ccm12 or esp=aes256gcm16.
457
7f491111 458
5c5d67d6
AS
459strongswan-4.2.1
460----------------
461
c306dfb1 462- Support for "Hash and URL" encoded certificate payloads has been implemented
b1f8fc0c
TB
463 in the IKEv2 daemon charon. Using the "certuribase" option of a CA section
464 allows to assign a base URL to all certificates issued by the specified CA.
465 The final URL is then built by concatenating that base and the hex encoded
466 SHA1 hash of the DER encoded certificate. Note that this feature is disabled
467 by default and must be enabled using the option "charon.hash_and_url".
5c5d67d6 468
58caabf7
MW
469- The IKEv2 daemon charon now supports the "uniqueids" option to close multiple
470 IKE_SAs with the same peer. The option value "keep" prefers existing
471 connection setups over new ones, where the value "replace" replaces existing
472 connections.
b6b90b68
MW
473
474- The crypto factory in libstrongswan additionaly supports random number
58caabf7 475 generators, plugins may provide other sources of randomness. The default
c306dfb1 476 plugin reads raw random data from /dev/(u)random.
58caabf7 477
b6b90b68 478- Extended the credential framework by a caching option to allow plugins
58caabf7 479 persistent caching of fetched credentials. The "cachecrl" option has been
c306dfb1 480 re-implemented.
58caabf7
MW
481
482- The new trustchain verification introduced in 4.2.0 has been parallelized.
483 Threads fetching CRL or OCSP information no longer block other threads.
5c5d67d6 484
58caabf7
MW
485- A new IKEv2 configuration attribute framework has been introduced allowing
486 plugins to provide virtual IP addresses, and in the future, other
487 configuration attribute services (e.g. DNS/WINS servers).
5c5d67d6 488
466abb49 489- The stroke plugin has been extended to provide virtual IP addresses from
58caabf7
MW
490 a pool defined in ipsec.conf. The "rightsourceip" parameter now accepts
491 address pools in CIDR notation (e.g. 10.1.1.0/24). The parameter also accepts
492 the value "%poolname", where "poolname" identifies a pool provided by a
466abb49 493 separate plugin.
58caabf7 494
c306dfb1 495- Fixed compilation on uClibc and a couple of other minor bugs.
58caabf7 496
c306dfb1 497- Set DPD defaults in ipsec starter to dpd_delay=30s and dpd_timeout=150s.
466abb49
AS
498
499- The IKEv1 pluto daemon now supports the ESP encryption algorithm CAMELLIA
c306dfb1 500 with key lengths of 128, 192, and 256 bits, as well as the authentication
466abb49
AS
501 algorithm AES_XCBC_MAC. Configuration example: esp=camellia192-aesxcbc.
502
5c5d67d6 503
a11ea97d
AS
504strongswan-4.2.0
505----------------
506
16f5dacd
MW
507- libstrongswan has been modularized to attach crypto algorithms,
508 credential implementations (keys, certificates) and fetchers dynamically
509 through plugins. Existing code has been ported to plugins:
510 - RSA/Diffie-Hellman implementation using the GNU Multi Precision library
511 - X509 certificate system supporting CRLs, OCSP and attribute certificates
512 - Multiple plugins providing crypto algorithms in software
513 - CURL and OpenLDAP fetcher
a11ea97d 514
16f5dacd
MW
515- libstrongswan gained a relational database API which uses pluggable database
516 providers. Plugins for MySQL and SQLite are available.
517
518- The IKEv2 keying daemon charon is more extensible. Generic plugins may provide
519 connection configuration, credentials and EAP methods or control the daemon.
520 Existing code has been ported to plugins:
521 - EAP-AKA, EAP-SIM, EAP-MD5 and EAP-Identity
522 - stroke configuration, credential and control (compatible to pluto)
523 - XML bases management protocol to control and query the daemon
524 The following new plugins are available:
525 - An experimental SQL configuration, credential and logging plugin on
526 top of either MySQL or SQLite
527 - A unit testing plugin to run tests at daemon startup
528
529- The authentication and credential framework in charon has been heavily
530 refactored to support modular credential providers, proper
531 CERTREQ/CERT payload exchanges and extensible authorization rules.
532
b6b90b68 533- The framework of strongSwan Manager has envolved to the web application
16f5dacd
MW
534 framework libfast (FastCGI Application Server w/ Templates) and is usable
535 by other applications.
b6b90b68 536
a11ea97d 537
6859f760
AS
538strongswan-4.1.11
539-----------------
fb6d76cd 540
a561f74d
AS
541- IKE rekeying in NAT situations did not inherit the NAT conditions
542 to the rekeyed IKE_SA so that the UDP encapsulation was lost with
543 the next CHILD_SA rekeying.
544
545- Wrong type definition of the next_payload variable in id_payload.c
b6b90b68 546 caused an INVALID_SYNTAX error on PowerPC platforms.
fb6d76cd 547
e6b50b3f
AS
548- Implemented IKEv2 EAP-SIM server and client test modules that use
549 triplets stored in a file. For details on the configuration see
550 the scenario 'ikev2/rw-eap-sim-rsa'.
551
fb6d76cd 552
83e0d841
AS
553strongswan-4.1.10
554-----------------
555
556- Fixed error in the ordering of the certinfo_t records in the ocsp cache that
b6b90b68 557 caused multiple entries of the same serial number to be created.
83e0d841 558
fdc7c943
MW
559- Implementation of a simple EAP-MD5 module which provides CHAP
560 authentication. This may be interesting in conjunction with certificate
561 based server authentication, as weak passwords can't be brute forced
562 (in contradiction to traditional IKEv2 PSK).
563
564- A complete software based implementation of EAP-AKA, using algorithms
565 specified in 3GPP2 (S.S0055). This implementation does not use an USIM,
566 but reads the secrets from ipsec.secrets. Make sure to read eap_aka.h
567 before using it.
568
569- Support for vendor specific EAP methods using Expanded EAP types. The
b6b90b68 570 interface to EAP modules has been slightly changed, so make sure to
fdc7c943 571 check the changes if you're already rolling your own modules.
83e0d841 572
fb6d76cd 573
5076770c
AS
574strongswan-4.1.9
575----------------
576
800b3356
AS
577- The default _updown script now dynamically inserts and removes ip6tables
578 firewall rules if leftfirewall=yes is set in IPv6 connections. New IPv6
579 net-net and roadwarrior (PSK/RSA) scenarios for both IKEv1 and IKEV2 were
580 added.
5076770c 581
6f274c2a
MW
582- Implemented RFC4478 repeated authentication to force EAP/Virtual-IP clients
583 to reestablish an IKE_SA within a given timeframe.
584
585- strongSwan Manager supports configuration listing, initiation and termination
586 of IKE and CHILD_SAs.
587
588- Fixes and improvements to multithreading code.
589
8b678ad4 590- IKEv2 plugins have been renamed to libcharon-* to avoid naming conflicts.
b6b90b68 591 Make sure to remove the old plugins in $libexecdir/ipsec, otherwise they get
8b678ad4 592 loaded twice.
5076770c 593
83e0d841 594
b82e8231
AS
595strongswan-4.1.8
596----------------
597
5076770c 598- Removed recursive pthread mutexes since uClibc doesn't support them.
b82e8231
AS
599
600
a4a3632c
AS
601strongswan-4.1.7
602----------------
603
604- In NAT traversal situations and multiple queued Quick Modes,
605 those pending connections inserted by auto=start after the
606 port floating from 500 to 4500 were erronously deleted.
607
6e193274 608- Added a "forceencaps" connection parameter to enforce UDP encapsulation
078b6008 609 to surmount restrictive firewalls. NAT detection payloads are faked to
6e193274
MW
610 simulate a NAT situation and trick the other peer into NAT mode (IKEv2 only).
611
612- Preview of strongSwan Manager, a web based configuration and monitoring
613 application. It uses a new XML control interface to query the IKEv2 daemon
614 (see http://trac.strongswan.org/wiki/Manager).
615
616- Experimental SQLite configuration backend which will provide the configuration
617 interface for strongSwan Manager in future releases.
618
619- Further improvements to MOBIKE support.
620
a4a3632c 621
3dcf9dbd
AS
622strongswan-4.1.6
623----------------
624
3eac4dfd
AS
625- Since some third party IKEv2 implementations run into
626 problems with strongSwan announcing MOBIKE capability per
627 default, MOBIKE can be disabled on a per-connection-basis
628 using the mobike=no option. Whereas mobike=no disables the
629 sending of the MOBIKE_SUPPORTED notification and the floating
630 to UDP port 4500 with the IKE_AUTH request even if no NAT
631 situation has been detected, strongSwan will still support
632 MOBIKE acting as a responder.
633
634- the default ipsec routing table plus its corresponding priority
635 used for inserting source routes has been changed from 100 to 220.
636 It can be configured using the --with-ipsec-routing-table and
b6b90b68
MW
637 --with-ipsec-routing-table-prio options.
638
bdc0b55b
AS
639- the --enable-integrity-test configure option tests the
640 integrity of the libstrongswan crypto code during the charon
641 startup.
b6b90b68 642
3eac4dfd
AS
643- the --disable-xauth-vid configure option disables the sending
644 of the XAUTH vendor ID. This can be used as a workaround when
645 interoperating with some Windows VPN clients that get into
646 trouble upon reception of an XAUTH VID without eXtended
647 AUTHentication having been configured.
b6b90b68 648
f872f9d1
AS
649- ipsec stroke now supports the rereadsecrets, rereadaacerts,
650 rereadacerts, and listacerts options.
3dcf9dbd
AS
651
652
7ad634a2
AS
653strongswan-4.1.5
654----------------
655
656- If a DNS lookup failure occurs when resolving right=%<FQDN>
657 or right=<FQDN> combined with rightallowany=yes then the
658 connection is not updated by ipsec starter thus preventing
659 the disruption of an active IPsec connection. Only if the DNS
660 lookup successfully returns with a changed IP address the
661 corresponding connection definition is updated.
662
8f5b363c
MW
663- Routes installed by the keying daemons are now in a separate
664 routing table with the ID 100 to avoid conflicts with the main
665 table. Route lookup for IKEv2 traffic is done in userspace to ignore
666 routes installed for IPsec, as IKE traffic shouldn't get encapsulated.
667
7ad634a2 668
e93c68ba
AS
669strongswan-4.1.4
670----------------
671
672- The pluto IKEv1 daemon now exhibits the same behaviour as its
673 IKEv2 companion charon by inserting an explicit route via the
674 _updown script only if a sourceip exists. This is admissible
675 since routing through the IPsec tunnel is handled automatically
b7af55ac
AS
676 by NETKEY's IPsec policies. As a consequence the left|rightnexthop
677 parameter is not required any more.
078ce348
AS
678
679- The new IKEv1 parameter right|leftallowany parameters helps to handle
680 the case where both peers possess dynamic IP addresses that are
681 usually resolved using DynDNS or a similar service. The configuration
682
683 right=peer.foo.bar
684 rightallowany=yes
685
686 can be used by the initiator to start up a connection to a peer
687 by resolving peer.foo.bar into the currently allocated IP address.
688 Thanks to the rightallowany flag the connection behaves later on
689 as
690
691 right=%any
692
693 so that the peer can rekey the connection as an initiator when his
1fbdab85
AS
694 IP address changes. An alternative notation is
695
696 right=%peer.foo.bar
697
698 which will implicitly set rightallowany=yes.
699
700- ipsec starter now fails more gracefully in the presence of parsing
701 errors. Flawed ca and conn section are discarded and pluto is started
702 if non-fatal errors only were encountered. If right=%peer.foo.bar
703 cannot be resolved by DNS then right=%any will be used so that passive
704 connections as a responder are still possible.
078ce348 705
a0a0bdd7
AS
706- The new pkcs11initargs parameter that can be placed in the
707 setup config section of /etc/ipsec.conf allows the definition
708 of an argument string that is used with the PKCS#11 C_Initialize()
709 function. This non-standard feature is required by the NSS softoken
710 library. This patch was contributed by Robert Varga.
b6b90b68 711
a0a0bdd7
AS
712- Fixed a bug in ipsec starter introduced by strongswan-2.8.5
713 which caused a segmentation fault in the presence of unknown
714 or misspelt keywords in ipsec.conf. This bug fix was contributed
715 by Robert Varga.
716
e3606f2b
MW
717- Partial support for MOBIKE in IKEv2. The initiator acts on interface/
718 address configuration changes and updates IKE and IPsec SAs dynamically.
e93c68ba 719
06651827 720
a3354a69
AS
721strongswan-4.1.3
722----------------
723
b6b90b68 724- IKEv2 peer configuration selection now can be based on a given
35d4809c
AS
725 certification authority using the rightca= statement.
726
727- IKEv2 authentication based on RSA signatures now can handle multiple
41e16cf4
AS
728 certificates issued for a given peer ID. This allows a smooth transition
729 in the case of a peer certificate renewal.
a3354a69 730
998ca0ea
MW
731- IKEv2: Support for requesting a specific virtual IP using leftsourceip on the
732 client and returning requested virtual IPs using rightsourceip=%config
733 on the server. If the server does not support configuration payloads, the
734 client enforces its leftsourceip parameter.
735
736- The ./configure options --with-uid/--with-gid allow pluto and charon
737 to drop their privileges to a minimum and change to an other UID/GID. This
738 improves the systems security, as a possible intruder may only get the
739 CAP_NET_ADMIN capability.
740
b6b90b68 741- Further modularization of charon: Pluggable control interface and
998ca0ea
MW
742 configuration backend modules provide extensibility. The control interface
743 for stroke is included, and further interfaces using DBUS (NetworkManager)
744 or XML are on the way. A backend for storing configurations in the daemon
b6b90b68 745 is provided and more advanced backends (using e.g. a database) are trivial
998ca0ea 746 to implement.
a3354a69 747
41e16cf4
AS
748 - Fixed a compilation failure in libfreeswan occuring with Linux kernel
749 headers > 2.6.17.
750
751
8ea7b96f
AS
752strongswan-4.1.2
753----------------
754
e23d98a7 755- Support for an additional Diffie-Hellman exchange when creating/rekeying
37fb0355
MW
756 a CHILD_SA in IKEv2 (PFS). PFS is enabled when the proposal contains a
757 DH group (e.g. "esp=aes128-sha1-modp1536"). Further, DH group negotiation
758 is implemented properly for rekeying.
759
760- Support for the AES-XCBC-96 MAC algorithm for IPsec SAs when using IKEv2
761 (requires linux >= 2.6.20). It is enabled using e.g. "esp=aes256-aesxcbc".
762
d931f465
MW
763- Working IPv4-in-IPv6 and IPv6-in-IPv4 tunnels for linux >= 2.6.21.
764
37fb0355
MW
765- Added support for EAP modules which do not establish an MSK.
766
dfbe2a0f 767- Removed the dependencies from the /usr/include/linux/ headers by
9f78f957 768 including xfrm.h, ipsec.h, and pfkeyv2.h in the distribution.
b6b90b68 769
9f78f957
AS
770- crlNumber is now listed by ipsec listcrls
771
8ea7b96f
AS
772- The xauth_modules.verify_secret() function now passes the
773 connection name.
774
e23d98a7 775
ed284399
MW
776strongswan-4.1.1
777----------------
778
779- Server side cookie support. If to may IKE_SAs are in CONNECTING state,
780 cookies are enabled and protect against DoS attacks with faked source
781 addresses. Number of IKE_SAs in CONNECTING state is also limited per
782 peer address to avoid resource exhaustion. IKE_SA_INIT messages are
783 compared to properly detect retransmissions and incoming retransmits are
784 detected even if the IKE_SA is blocked (e.g. doing OCSP fetches).
785
db88e37d
AS
786- The IKEv2 daemon charon now supports dynamic http- and ldap-based CRL
787 fetching enabled by crlcheckinterval > 0 and caching fetched CRLs
788 enabled by cachecrls=yes.
789
3b4f7d92
AS
790- Added the configuration options --enable-nat-transport which enables
791 the potentially insecure NAT traversal for IPsec transport mode and
792 --disable-vendor-id which disables the sending of the strongSwan
793 vendor ID.
794
795- Fixed a long-standing bug in the pluto IKEv1 daemon which caused
796 a segmentation fault if a malformed payload was detected in the
797 IKE MR2 message and pluto tried to send an encrypted notification
798 message.
799
46b9ff68
AS
800- Added the NATT_IETF_02_N Vendor ID in order to support IKEv1 connections
801 with Windows 2003 Server which uses a wrong VID hash.
802
3b4f7d92 803
34bbd0c3 804strongswan-4.1.0
cd3958f8
AS
805----------------
806
807- Support of SHA2_384 hash function for protecting IKEv1
808 negotiations and support of SHA2 signatures in X.509 certificates.
809
810- Fixed a serious bug in the computation of the SHA2-512 HMAC
811 function. Introduced automatic self-test of all IKEv1 hash
812 and hmac functions during pluto startup. Failure of a self-test
813 currently issues a warning only but does not exit pluto [yet].
814
9b45443d
MW
815- Support for SHA2-256/384/512 PRF and HMAC functions in IKEv2.
816
c5d0fbb6 817- Full support of CA information sections. ipsec listcainfos
b6b90b68 818 now shows all collected crlDistributionPoints and OCSP
c5d0fbb6
AS
819 accessLocations.
820
69ed04bf
AS
821- Support of the Online Certificate Status Protocol (OCSP) for IKEv2.
822 This feature requires the HTTP fetching capabilities of the libcurl
823 library which must be enabled by setting the --enable-http configure
824 option.
825
9b45443d
MW
826- Refactored core of the IKEv2 message processing code, allowing better
827 code reuse and separation.
828
829- Virtual IP support in IKEv2 using INTERNAL_IP4/6_ADDRESS configuration
830 payload. Additionally, the INTERNAL_IP4/6_DNS attribute is interpreted
831 by the requestor and installed in a resolv.conf file.
832
833- The IKEv2 daemon charon installs a route for each IPsec policy to use
834 the correct source address even if an application does not explicitly
835 specify it.
836
837- Integrated the EAP framework into charon which loads pluggable EAP library
838 modules. The ipsec.conf parameter authby=eap initiates EAP authentication
839 on the client side, while the "eap" parameter on the server side defines
840 the EAP method to use for client authentication.
841 A generic client side EAP-Identity module and an EAP-SIM authentication
842 module using a third party card reader implementation are included.
843
844- Added client side support for cookies.
845
846- Integrated the fixes done at the IKEv2 interoperability bakeoff, including
847 strict payload order, correct INVALID_KE_PAYLOAD rejection and other minor
848 fixes to enhance interoperability with other implementations.
cd3958f8 849
e23d98a7 850
1c266d7d
AS
851strongswan-4.0.7
852----------------
853
6fdf5f44
AS
854- strongSwan now interoperates with the NCP Secure Entry Client,
855 the Shrew Soft VPN Client, and the Cisco VPN client, doing both
856 XAUTH and Mode Config.
1c266d7d
AS
857
858- UNITY attributes are now recognized and UNITY_BANNER is set
859 to a default string.
860
861
2b4405a3
MW
862strongswan-4.0.6
863----------------
864
e38a15d4
AS
865- IKEv1: Support for extended authentication (XAUTH) in combination
866 with ISAKMP Main Mode RSA or PSK authentication. Both client and
867 server side were implemented. Handling of user credentials can
868 be done by a run-time loadable XAUTH module. By default user
b6b90b68
MW
869 credentials are stored in ipsec.secrets.
870
2b4405a3
MW
871- IKEv2: Support for reauthentication when rekeying
872
5903179b 873- IKEv2: Support for transport mode
af87afed 874
5903179b 875- fixed a lot of bugs related to byte order
2b4405a3 876
5903179b 877- various other bugfixes
2b4405a3
MW
878
879
0cd645d2
AS
880strongswan-4.0.5
881----------------
882
883- IKEv1: Implementation of ModeConfig push mode via the new connection
884 keyword modeconfig=push allows interoperability with Cisco VPN gateways.
885
886- IKEv1: The command ipsec statusall now shows "DPD active" for all
887 ISAKMP SAs that are under active Dead Peer Detection control.
888
889- IKEv2: Charon's logging and debugging framework has been completely rewritten.
890 Instead of logger, special printf() functions are used to directly
891 print objects like hosts (%H) identifications (%D), certificates (%Q),
892 etc. The number of debugging levels have been reduced to:
03bf883d 893
0cd645d2 894 0 (audit), 1 (control), 2 (controlmore), 3 (raw), 4 (private)
03bf883d 895
0cd645d2
AS
896 The debugging levels can either be specified statically in ipsec.conf as
897
898 config setup
03bf883d 899 charondebug="lib 1, cfg 3, net 2"
0cd645d2 900
03bf883d 901 or changed at runtime via stroke as
0cd645d2 902
03bf883d 903 ipsec stroke loglevel cfg 2
0cd645d2
AS
904
905
48dc3934
MW
906strongswan-4.0.4
907----------------
908
909- Implemented full support for IPv6-in-IPv6 tunnels.
910
911- Added configuration options for dead peer detection in IKEv2. dpd_action
912 types "clear", "hold" and "restart" are supported. The dpd_timeout
913 value is not used, as the normal retransmission policy applies to
914 detect dead peers. The dpd_delay parameter enables sending of empty
915 informational message to detect dead peers in case of inactivity.
916
917- Added support for preshared keys in IKEv2. PSK keys configured in
918 ipsec.secrets are loaded. The authby parameter specifies the authentication
919 method to authentificate ourself, the other peer may use PSK or RSA.
920
921- Changed retransmission policy to respect the keyingtries parameter.
922
112ad7c3
AS
923- Added private key decryption. PEM keys encrypted with AES-128/192/256
924 or 3DES are supported.
48dc3934
MW
925
926- Implemented DES/3DES algorithms in libstrongswan. 3DES can be used to
927 encrypt IKE traffic.
928
929- Implemented SHA-256/384/512 in libstrongswan, allows usage of certificates
930 signed with such a hash algorithm.
931
932- Added initial support for updown scripts. The actions up-host/client and
933 down-host/client are executed. The leftfirewall=yes parameter
934 uses the default updown script to insert dynamic firewall rules, a custom
935 updown script may be specified with the leftupdown parameter.
936
937
a1310b6b
MW
938strongswan-4.0.3
939----------------
940
941- Added support for the auto=route ipsec.conf parameter and the
b6b90b68
MW
942 ipsec route/unroute commands for IKEv2. This allows to set up IKE_SAs and
943 CHILD_SAs dynamically on demand when traffic is detected by the
a1310b6b
MW
944 kernel.
945
946- Added support for rekeying IKE_SAs in IKEv2 using the ikelifetime parameter.
947 As specified in IKEv2, no reauthentication is done (unlike in IKEv1), only
948 new keys are generated using perfect forward secrecy. An optional flag
949 which enforces reauthentication will be implemented later.
950
b425d998
AS
951- "sha" and "sha1" are now treated as synonyms in the ike= and esp=
952 algorithm configuration statements.
953
954
bf4df11f
AS
955strongswan-4.0.2
956----------------
957
623d3dcf
AS
958- Full X.509 certificate trust chain verification has been implemented.
959 End entity certificates can be exchanged via CERT payloads. The current
960 default is leftsendcert=always, since CERTREQ payloads are not supported
961 yet. Optional CRLs must be imported locally into /etc/ipsec.d/crls.
efa40c11 962
b6b90b68 963- Added support for leftprotoport/rightprotoport parameters in IKEv2. IKEv2
efa40c11 964 would offer more possibilities for traffic selection, but the Linux kernel
b6b90b68 965 currently does not support it. That's why we stick with these simple
efa40c11
MW
966 ipsec.conf rules for now.
967
623d3dcf
AS
968- Added Dead Peer Detection (DPD) which checks liveliness of remote peer if no
969 IKE or ESP traffic is received. DPD is currently hardcoded (dpdaction=clear,
970 dpddelay=60s).
971
efa40c11
MW
972- Initial NAT traversal support in IKEv2. Charon includes NAT detection
973 notify payloads to detect NAT routers between the peers. It switches
974 to port 4500, uses UDP encapsulated ESP packets, handles peer address
975 changes gracefully and sends keep alive message periodically.
976
b6b90b68
MW
977- Reimplemented IKE_SA state machine for charon, which allows simultaneous
978 rekeying, more shared code, cleaner design, proper retransmission
efa40c11
MW
979 and a more extensible code base.
980
cfd8b27f
AS
981- The mixed PSK/RSA roadwarrior detection capability introduced by the
982 strongswan-2.7.0 release necessitated the pre-parsing of the IKE proposal
983 payloads by the responder right before any defined IKE Main Mode state had
984 been established. Although any form of bad proposal syntax was being correctly
985 detected by the payload parser, the subsequent error handler didn't check
986 the state pointer before logging current state information, causing an
987 immediate crash of the pluto keying daemon due to a NULL pointer.
988
bf4df11f 989
7e81e975
MW
990strongswan-4.0.1
991----------------
992
b6b90b68 993- Added algorithm selection to charon: New default algorithms for
c15c3d4b
MW
994 ike=aes128-sha-modp2048, as both daemons support it. The default
995 for IPsec SAs is now esp=aes128-sha,3des-md5. charon handles
996 the ike/esp parameter the same way as pluto. As this syntax does
b6b90b68 997 not allow specification of a pseudo random function, the same
c15c3d4b
MW
998 algorithm as for integrity is used (currently sha/md5). Supported
999 algorithms for IKE:
1000 Encryption: aes128, aes192, aes256
1001 Integrity/PRF: md5, sha (using hmac)
1002 DH-Groups: modp768, 1024, 1536, 2048, 4096, 8192
1003 and for ESP:
b6b90b68 1004 Encryption: aes128, aes192, aes256, 3des, blowfish128,
c15c3d4b
MW
1005 blowfish192, blowfish256
1006 Integrity: md5, sha1
1007 More IKE encryption algorithms will come after porting libcrypto into
b6b90b68 1008 libstrongswan.
f2c2d395 1009
c15c3d4b
MW
1010- initial support for rekeying CHILD_SAs using IKEv2. Currently no
1011 perfect forward secrecy is used. The rekeying parameters rekey,
22ff6f57 1012 rekeymargin, rekeyfuzz and keylife from ipsec.conf are now supported
c15c3d4b
MW
1013 when using IKEv2. WARNING: charon currently is unable to handle
1014 simultaneous rekeying. To avoid such a situation, use a large
1015 rekeyfuzz, or even better, set rekey=no on one peer.
22ff6f57 1016
7e81e975
MW
1017- support for host2host, net2net, host2net (roadwarrior) tunnels
1018 using predefined RSA certificates (see uml scenarios for
1019 configuration examples).
1020
f2c2d395
MW
1021- new build environment featuring autotools. Features such
1022 as HTTP, LDAP and smartcard support may be enabled using
b6b90b68 1023 the ./configure script. Changing install directories
f2c2d395
MW
1024 is possible, too. See ./configure --help for more details.
1025
22ff6f57
MW
1026- better integration of charon with ipsec starter, which allows
1027 (almost) transparent operation with both daemons. charon
1028 handles ipsec commands up, down, status, statusall, listall,
1029 listcerts and allows proper load, reload and delete of connections
1030 via ipsec starter.
1031
b425d998 1032
9820c0e2
MW
1033strongswan-4.0.0
1034----------------
1035
1036- initial support of the IKEv2 protocol. Connections in
b6b90b68 1037 ipsec.conf designated by keyexchange=ikev2 are negotiated
9820c0e2
MW
1038 by the new IKEv2 charon keying daemon whereas those marked
1039 by keyexchange=ikev1 or the default keyexchange=ike are
1040 handled thy the IKEv1 pluto keying daemon. Currently only
1041 a limited subset of functions are available with IKEv2
1042 (Default AES encryption, authentication based on locally
1043 imported X.509 certificates, unencrypted private RSA keys
1044 in PKCS#1 file format, limited functionality of the ipsec
1045 status command).
1046
1047
997358a6
MW
1048strongswan-2.7.0
1049----------------
1050
1051- the dynamic iptables rules from the _updown_x509 template
1052 for KLIPS and the _updown_policy template for NETKEY have
1053 been merged into the default _updown script. The existing
1054 left|rightfirewall keyword causes the automatic insertion
1055 and deletion of ACCEPT rules for tunneled traffic upon
1056 the successful setup and teardown of an IPsec SA, respectively.
1057 left|rightfirwall can be used with KLIPS under any Linux 2.4
1058 kernel or with NETKEY under a Linux kernel version >= 2.6.16
1059 in conjuction with iptables >= 1.3.5. For NETKEY under a Linux
1060 kernel version < 2.6.16 which does not support IPsec policy
1061 matching yet, please continue to use a copy of the _updown_espmark
1062 template loaded via the left|rightupdown keyword.
1063
1064- a new left|righthostaccess keyword has been introduced which
1065 can be used in conjunction with left|rightfirewall and the
1066 default _updown script. By default leftfirewall=yes inserts
1067 a bi-directional iptables FORWARD rule for a local client network
1068 with a netmask different from 255.255.255.255 (single host).
1069 This does not allow to access the VPN gateway host via its
1070 internal network interface which is part of the client subnet
1071 because an iptables INPUT and OUTPUT rule would be required.
1072 lefthostaccess=yes will cause this additional ACCEPT rules to
b6b90b68 1073 be inserted.
997358a6
MW
1074
1075- mixed PSK|RSA roadwarriors are now supported. The ISAKMP proposal
1076 payload is preparsed in order to find out whether the roadwarrior
1077 requests PSK or RSA so that a matching connection candidate can
1078 be found.
1079
1080
1081strongswan-2.6.4
1082----------------
1083
1084- the new _updown_policy template allows ipsec policy based
1085 iptables firewall rules. Required are iptables version
1086 >= 1.3.5 and linux kernel >= 2.6.16. This script obsoletes
b6b90b68 1087 the _updown_espmark template, so that no INPUT mangle rules
997358a6
MW
1088 are required any more.
1089
1090- added support of DPD restart mode
1091
1092- ipsec starter now allows the use of wildcards in include
1093 statements as e.g. in "include /etc/my_ipsec/*.conf".
1094 Patch courtesy of Matthias Haas.
1095
1096- the Netscape OID 'employeeNumber' is now recognized and can be
1097 used as a Relative Distinguished Name in certificates.
1098
1099
1100strongswan-2.6.3
1101----------------
1102
b6b90b68 1103- /etc/init.d/ipsec or /etc/rc.d/ipsec is now a copy of the ipsec
997358a6
MW
1104 command and not of ipsec setup any more.
1105
1106- ipsec starter now supports AH authentication in conjunction with
1107 ESP encryption. AH authentication is configured in ipsec.conf
1108 via the auth=ah parameter.
b6b90b68 1109
997358a6
MW
1110- The command ipsec scencrypt|scdecrypt <args> is now an alias for
1111 ipsec whack --scencrypt|scdecrypt <args>.
1112
1113- get_sa_info() now determines for the native netkey IPsec stack
1114 the exact time of the last use of an active eroute. This information
1115 is used by the Dead Peer Detection algorithm and is also displayed by
1116 the ipsec status command.
b6b90b68 1117
997358a6
MW
1118
1119strongswan-2.6.2
1120----------------
1121
1122- running under the native Linux 2.6 IPsec stack, the function
1123 get_sa_info() is called by ipsec auto --status to display the current
1124 number of transmitted bytes per IPsec SA.
1125
1126- get_sa_info() is also used by the Dead Peer Detection process to detect
1127 recent ESP activity. If ESP traffic was received from the peer within
1128 the last dpd_delay interval then no R_Y_THERE notification must be sent.
1129
1130- strongSwan now supports the Relative Distinguished Name "unstructuredName"
1131 in ID_DER_ASN1_DN identities. The following notations are possible:
1132
1133 rightid="unstructuredName=John Doe"
1134 rightid="UN=John Doe"
1135
1136- fixed a long-standing bug which caused PSK-based roadwarrior connections
1137 to segfault in the function id.c:same_id() called by keys.c:get_secret()
1138 if an FQDN, USER_FQDN, or Key ID was defined, as in the following example.
1139
1140 conn rw
1141 right=%any
1142 rightid=@foo.bar
1143 authby=secret
1144
1145- the ipsec command now supports most ipsec auto commands (e.g. ipsec listall).
1146
1147- ipsec starter didn't set host_addr and client.addr ports in whack msg.
1148
1149- in order to guarantee backwards-compatibility with the script-based
1150 auto function (e.g. auto --replace), the ipsec starter scripts stores
1151 the defaultroute information in the temporary file /var/run/ipsec.info.
1152
1153- The compile-time option USE_XAUTH_VID enables the sending of the XAUTH
1154 Vendor ID which is expected by Cisco PIX 7 boxes that act as IKE Mode Config
1155 servers.
1156
1157- the ipsec starter now also recognizes the parameters authby=never and
1158 type=passthrough|pass|drop|reject.
1159
1160
1161strongswan-2.6.1
1162----------------
1163
1164- ipsec starter now supports the also parameter which allows
1165 a modular structure of the connection definitions. Thus
1166 "ipsec start" is now ready to replace "ipsec setup".
1167
1168
1169strongswan-2.6.0
1170----------------
1171
1172- Mathieu Lafon's popular ipsec starter tool has been added to the
1173 strongSwan distribution. Many thanks go to Stephan Scholz from astaro
1174 for his integration work. ipsec starter is a C program which is going
1175 to replace the various shell and awk starter scripts (setup, _plutoload,
1176 _plutostart, _realsetup, _startklips, _confread, and auto). Since
1177 ipsec.conf is now parsed only once, the starting of multiple tunnels is
1178 accelerated tremedously.
1179
1180- Added support of %defaultroute to the ipsec starter. If the IP address
b6b90b68 1181 changes, a HUP signal to the ipsec starter will automatically
997358a6
MW
1182 reload pluto's connections.
1183
1184- moved most compile time configurations from pluto/Makefile to
1185 Makefile.inc by defining the options USE_LIBCURL, USE_LDAP,
1186 USE_SMARTCARD, and USE_NAT_TRAVERSAL_TRANSPORT_MODE.
1187
1188- removed the ipsec verify and ipsec newhostkey commands
1189
1190- fixed some 64-bit issues in formatted print statements
1191
1192- The scepclient functionality implementing the Simple Certificate
1193 Enrollment Protocol (SCEP) is nearly complete but hasn't been
1194 documented yet.
1195
1196
1197strongswan-2.5.7
1198----------------
1199
1200- CA certicates are now automatically loaded from a smartcard
1201 or USB crypto token and appear in the ipsec auto --listcacerts
1202 listing.
1203
1204
1205strongswan-2.5.6
1206----------------
1207
1208- when using "ipsec whack --scencrypt <data>" with a PKCS#11
1209 library that does not support the C_Encrypt() Cryptoki
1210 function (e.g. OpenSC), the RSA encryption is done in
1211 software using the public key fetched from the smartcard.
1212
b6b90b68 1213- The scepclient function now allows to define the
997358a6
MW
1214 validity of a self-signed certificate using the --days,
1215 --startdate, and --enddate options. The default validity
1216 has been changed from one year to five years.
1217
1218
1219strongswan-2.5.5
1220----------------
1221
1222- the config setup parameter pkcs11proxy=yes opens pluto's PKCS#11
1223 interface to other applications for RSA encryption and decryption
1224 via the whack interface. Notation:
1225
1226 ipsec whack --scencrypt <data>
1227 [--inbase 16|hex|64|base64|256|text|ascii]
1228 [--outbase 16|hex|64|base64|256|text|ascii]
1229 [--keyid <keyid>]
1230
1231 ipsec whack --scdecrypt <data>
1232 [--inbase 16|hex|64|base64|256|text|ascii]
1233 [--outbase 16|hex|64|base64|256|text|ascii]
1234 [--keyid <keyid>]
1235
b6b90b68 1236 The default setting for inbase and outbase is hex.
997358a6
MW
1237
1238 The new proxy interface can be used for securing symmetric
1239 encryption keys required by the cryptoloop or dm-crypt
1240 disk encryption schemes, especially in the case when
1241 pkcs11keepstate=yes causes pluto to lock the pkcs11 slot
1242 permanently.
1243
1244- if the file /etc/ipsec.secrets is lacking during the startup of
1245 pluto then the root-readable file /etc/ipsec.d/private/myKey.der
1246 containing a 2048 bit RSA private key and a matching self-signed
1247 certificate stored in the file /etc/ipsec.d/certs/selfCert.der
1248 is automatically generated by calling the function
1249
1250 ipsec scepclient --out pkcs1 --out cert-self
1251
1252 scepclient was written by Jan Hutter and Martin Willi, students
1253 at the University of Applied Sciences in Rapperswil, Switzerland.
1254
1255
1256strongswan-2.5.4
1257----------------
1258
1259- the current extension of the PKCS#7 framework introduced
1260 a parsing error in PKCS#7 wrapped X.509 certificates that are
1261 e.g. transmitted by Windows XP when multi-level CAs are used.
1262 the parsing syntax has been fixed.
1263
1264- added a patch by Gerald Richter which tolerates multiple occurrences
1265 of the ipsec0 interface when using KLIPS.
1266
1267
1268strongswan-2.5.3
1269----------------
1270
1271- with gawk-3.1.4 the word "default2 has become a protected
1272 keyword for use in switch statements and cannot be used any
1273 more in the strongSwan scripts. This problem has been
1274 solved by renaming "default" to "defaults" and "setdefault"
1275 in the scripts _confread and auto, respectively.
1276
1277- introduced the parameter leftsendcert with the values
1278
1279 always|yes (the default, always send a cert)
1280 ifasked (send the cert only upon a cert request)
1281 never|no (never send a cert, used for raw RSA keys and
b6b90b68 1282 self-signed certs)
997358a6
MW
1283
1284- fixed the initialization of the ESP key length to a default of
1285 128 bits in the case that the peer does not send a key length
1286 attribute for AES encryption.
1287
1288- applied Herbert Xu's uniqueIDs patch
1289
1290- applied Herbert Xu's CLOEXEC patches
1291
1292
1293strongswan-2.5.2
1294----------------
1295
1296- CRLs can now be cached also in the case when the issuer's
1297 certificate does not contain a subjectKeyIdentifier field.
1298 In that case the subjectKeyIdentifier is computed by pluto as the
1299 160 bit SHA-1 hash of the issuer's public key in compliance
1300 with section 4.2.1.2 of RFC 3280.
1301
1302- Fixed a bug introduced by strongswan-2.5.1 which eliminated
1303 not only multiple Quick Modes of a given connection but also
1304 multiple connections between two security gateways.
1305
1306
1307strongswan-2.5.1
1308----------------
1309
1310- Under the native IPsec of the Linux 2.6 kernel, a %trap eroute
1311 installed either by setting auto=route in ipsec.conf or by
1312 a connection put into hold, generates an XFRM_AQUIRE event
1313 for each packet that wants to use the not-yet exisiting
1314 tunnel. Up to now each XFRM_AQUIRE event led to an entry in
1315 the Quick Mode queue, causing multiple IPsec SA to be
1316 established in rapid succession. Starting with strongswan-2.5.1
1317 only a single IPsec SA is established per host-pair connection.
1318
1319- Right after loading the PKCS#11 module, all smartcard slots are
1320 searched for certificates. The result can be viewed using
1321 the command
1322
1323 ipsec auto --listcards
1324
1325 The certificate objects found in the slots are numbered
1326 starting with #1, #2, etc. This position number can be used to address
1327 certificates (leftcert=%smartcard) and keys (: PIN %smartcard)
1328 in ipsec.conf and ipsec.secrets, respectively:
1329
1330 %smartcard (selects object #1)
1331 %smartcard#1 (selects object #1)
1332 %smartcard#3 (selects object #3)
1333
1334 As an alternative the existing retrieval scheme can be used:
1335
1336 %smartcard:45 (selects object with id=45)
1337 %smartcard0 (selects first object in slot 0)
1338 %smartcard4:45 (selects object in slot 4 with id=45)
1339
1340- Depending on the settings of CKA_SIGN and CKA_DECRYPT
1341 private key flags either C_Sign() or C_Decrypt() is used
1342 to generate a signature.
1343
1344- The output buffer length parameter siglen in C_Sign()
1345 is now initialized to the actual size of the output
1346 buffer prior to the function call. This fixes the
1347 CKR_BUFFER_TOO_SMALL error that could occur when using
1348 the OpenSC PKCS#11 module.
1349
1350- Changed the initialization of the PKCS#11 CK_MECHANISM in
1351 C_SignInit() to mech = { CKM_RSA_PKCS, NULL_PTR, 0 }.
1352
1353- Refactored the RSA public/private key code and transferred it
1354 from keys.c to the new pkcs1.c file as a preparatory step
1355 towards the release of the SCEP client.
1356
1357
1358strongswan-2.5.0
1359----------------
1360
1361- The loading of a PKCS#11 smartcard library module during
1362 runtime does not require OpenSC library functions any more
1363 because the corresponding code has been integrated into
1364 smartcard.c. Also the RSAREF pkcs11 header files have been
1365 included in a newly created pluto/rsaref directory so that
1366 no external include path has to be defined any longer.
1367
1368- A long-awaited feature has been implemented at last:
1369 The local caching of CRLs fetched via HTTP or LDAP, activated
1370 by the parameter cachecrls=yes in the config setup section
1371 of ipsec.conf. The dynamically fetched CRLs are stored under
1372 a unique file name containing the issuer's subjectKeyID
1373 in /etc/ipsec.d/crls.
b6b90b68 1374
997358a6
MW
1375- Applied a one-line patch courtesy of Michael Richardson
1376 from the Openswan project which fixes the kernel-oops
1377 in KLIPS when an snmp daemon is running on the same box.
1378
1379
1380strongswan-2.4.4
1381----------------
1382
1383- Eliminated null length CRL distribution point strings.
1384
1385- Fixed a trust path evaluation bug introduced with 2.4.3
1386
1387
1388strongswan-2.4.3
1389----------------
1390
1391- Improved the joint OCSP / CRL revocation policy.
1392 OCSP responses have precedence over CRL entries.
1393
1394- Introduced support of CRLv2 reason codes.
1395
1396- Fixed a bug with key-pad equipped readers which caused
1397 pluto to prompt for the pin via the console when the first
1398 occasion to enter the pin via the key-pad was missed.
1399
1400- When pluto is built with LDAP_V3 enabled, the library
1401 liblber required by newer versions of openldap is now
1402 included.
1403
1404
1405strongswan-2.4.2
1406----------------
1407
1408- Added the _updown_espmark template which requires all
1409 incoming ESP traffic to be marked with a default mark
1410 value of 50.
b6b90b68 1411
997358a6
MW
1412- Introduced the pkcs11keepstate parameter in the config setup
1413 section of ipsec.conf. With pkcs11keepstate=yes the PKCS#11
b6b90b68 1414 session and login states are kept as long as possible during
997358a6
MW
1415 the lifetime of pluto. This means that a PIN entry via a key
1416 pad has to be done only once.
1417
1418- Introduced the pkcs11module parameter in the config setup
1419 section of ipsec.conf which specifies the PKCS#11 module
1420 to be used with smart cards. Example:
b6b90b68 1421
997358a6 1422 pkcs11module=/usr/lib/pkcs11/opensc-pkcs11.lo
b6b90b68 1423
997358a6
MW
1424- Added support of smartcard readers equipped with a PIN pad.
1425
1426- Added patch by Jay Pfeifer which detects when netkey
1427 modules have been statically built into the Linux 2.6 kernel.
1428
1429- Added two patches by Herbert Xu. The first uses ip xfrm
1430 instead of setkey to flush the IPsec policy database. The
1431 second sets the optional flag in inbound IPComp SAs only.
b6b90b68 1432
997358a6
MW
1433- Applied Ulrich Weber's patch which fixes an interoperability
1434 problem between native IPsec and KLIPS systems caused by
1435 setting the replay window to 32 instead of 0 for ipcomp.
1436
1437
1438strongswan-2.4.1
1439----------------
1440
1441- Fixed a bug which caused an unwanted Mode Config request
1442 to be initiated in the case where "right" was used to denote
1443 the local side in ipsec.conf and "left" the remote side,
1444 contrary to the recommendation that "right" be remote and
1445 "left" be"local".
1446
1447
1448strongswan-2.4.0a
1449-----------------
1450
1451- updated Vendor ID to strongSwan-2.4.0
1452
1453- updated copyright statement to include David Buechi and
1454 Michael Meier
b6b90b68
MW
1455
1456
997358a6
MW
1457strongswan-2.4.0
1458----------------
1459
1460- strongSwan now communicates with attached smartcards and
1461 USB crypto tokens via the standardized PKCS #11 interface.
1462 By default the OpenSC library from www.opensc.org is used
1463 but any other PKCS#11 library could be dynamically linked.
1464 strongSwan's PKCS#11 API was implemented by David Buechi
1465 and Michael Meier, both graduates of the Zurich University
1466 of Applied Sciences in Winterthur, Switzerland.
1467
1468- When a %trap eroute is triggered by an outgoing IP packet
1469 then the native IPsec stack of the Linux 2.6 kernel [often/
1470 always?] returns an XFRM_ACQUIRE message with an undefined
1471 protocol family field and the connection setup fails.
1472 As a workaround IPv4 (AF_INET) is now assumed.
b6b90b68
MW
1473
1474- the results of the UML test scenarios are now enhanced
997358a6 1475 with block diagrams of the virtual network topology used
b6b90b68 1476 in a particular test.
997358a6
MW
1477
1478
1479strongswan-2.3.2
1480----------------
1481
1482- fixed IV used to decrypt informational messages.
1483 This bug was introduced with Mode Config functionality.
b6b90b68 1484
997358a6
MW
1485- fixed NCP Vendor ID.
1486
1487- undid one of Ulrich Weber's maximum udp size patches
1488 because it caused a segmentation fault with NAT-ed
1489 Delete SA messages.
b6b90b68 1490
997358a6
MW
1491- added UML scenarios wildcards and attr-cert which
1492 demonstrate the implementation of IPsec policies based
1493 on wildcard parameters contained in Distinguished Names and
1494 on X.509 attribute certificates, respectively.
1495
1496
1497strongswan-2.3.1
1498----------------
1499
1500- Added basic Mode Config functionality
1501
1502- Added Mathieu Lafon's patch which upgrades the status of
1503 the NAT-Traversal implementation to RFC 3947.
b6b90b68 1504
997358a6
MW
1505- The _startklips script now also loads the xfrm4_tunnel
1506 module.
b6b90b68 1507
997358a6
MW
1508- Added Ulrich Weber's netlink replay window size and
1509 maximum udp size patches.
1510
1511- UML testing now uses the Linux 2.6.10 UML kernel by default.
b6b90b68 1512
997358a6
MW
1513
1514strongswan-2.3.0
1515----------------
1516
1517- Eric Marchionni and Patrik Rayo, both recent graduates from
1518 the Zuercher Hochschule Winterthur in Switzerland, created a
1519 User-Mode-Linux test setup for strongSwan. For more details
1520 please read the INSTALL and README documents in the testing
1521 subdirectory.
1522
1523- Full support of group attributes based on X.509 attribute
b6b90b68 1524 certificates. Attribute certificates can be generated
997358a6 1525 using the openac facility. For more details see
b6b90b68 1526
997358a6 1527 man ipsec_openac.
b6b90b68 1528
997358a6
MW
1529 The group attributes can be used in connection definitions
1530 in order to give IPsec access to specific user groups.
1531 This is done with the new parameter left|rightgroups as in
b6b90b68 1532
997358a6
MW
1533 rightgroups="Research, Sales"
1534
1535 giving access to users possessing the group attributes
1536 Research or Sales, only.
1537
1538- In Quick Mode clients with subnet mask /32 are now
b6b90b68 1539 coded as IP_V4_ADDRESS or IP_V6_ADDRESS. This should
997358a6
MW
1540 fix rekeying problems with the SafeNet/SoftRemote and NCP
1541 Secure Entry Clients.
1542
1543- Changed the defaults of the ikelifetime and keylife parameters
1544 to 3h and 1h, respectively. The maximum allowable values are
1545 now both set to 24 h.
1546
1547- Suppressed notification wars between two IPsec peers that
1548 could e.g. be triggered by incorrect ISAKMP encryption.
1549
1550- Public RSA keys can now have identical IDs if either the
1551 issuing CA or the serial number is different. The serial
1552 number of a certificate is now shown by the command
b6b90b68 1553
997358a6
MW
1554 ipsec auto --listpubkeys
1555
1556
1557strongswan-2.2.2
1558----------------
1559
1560- Added Tuomo Soini's sourceip feature which allows a strongSwan
1561 roadwarrior to use a fixed Virtual IP (see README section 2.6)
1562 and reduces the well-known four tunnel case on VPN gateways to
1563 a single tunnel definition (see README section 2.4).
1564
1565- Fixed a bug occuring with NAT-Traversal enabled when the responder
1566 suddenly turns initiator and the initiator cannot find a matching
1567 connection because of the floated IKE port 4500.
b6b90b68 1568
997358a6
MW
1569- Removed misleading ipsec verify command from barf.
1570
1571- Running under the native IP stack, ipsec --version now shows
1572 the Linux kernel version (courtesy to the Openswan project).
1573
1574
1575strongswan-2.2.1
1576----------------
1577
1578- Introduced the ipsec auto --listalgs monitoring command which lists
1579 all currently registered IKE and ESP algorithms.
1580
1581- Fixed a bug in the ESP algorithm selection occuring when the strict flag
1582 is set and the first proposed transform does not match.
b6b90b68 1583
997358a6
MW
1584- Fixed another deadlock in the use of the lock_certs_and_keys() mutex,
1585 occuring when a smartcard is present.
1586
1587- Prevented that a superseded Phase1 state can trigger a DPD_TIMEOUT event.
b6b90b68 1588
997358a6
MW
1589- Fixed the printing of the notification names (null)
1590
1591- Applied another of Herbert Xu's Netlink patches.
1592
1593
1594strongswan-2.2.0
1595----------------
1596
1597- Support of Dead Peer Detection. The connection parameter
1598
1599 dpdaction=clear|hold
b6b90b68 1600
997358a6
MW
1601 activates DPD for the given connection.
1602
1603- The default Opportunistic Encryption (OE) policy groups are not
1604 automatically included anymore. Those wishing to activate OE can include
1605 the policy group with the following statement in ipsec.conf:
b6b90b68 1606
997358a6 1607 include /etc/ipsec.d/examples/oe.conf
b6b90b68 1608
997358a6
MW
1609 The default for [right|left]rsasigkey is now set to %cert.
1610
1611- strongSwan now has a Vendor ID of its own which can be activated
1612 using the compile option VENDORID
1613
1614- Applied Herbert Xu's patch which sets the compression algorithm correctly.
1615
1616- Applied Herbert Xu's patch fixing an ESPINUDP problem
1617
1618- Applied Herbert Xu's patch setting source/destination port numbers.
1619
1620- Reapplied one of Herbert Xu's NAT-Traversal patches which got
1621 lost during the migration from SuperFreeS/WAN.
b6b90b68 1622
997358a6
MW
1623- Fixed a deadlock in the use of the lock_certs_and_keys() mutex.
1624
1625- Fixed the unsharing of alg parameters when instantiating group
1626 connection.
b6b90b68 1627
997358a6
MW
1628
1629strongswan-2.1.5
1630----------------
1631
1632- Thomas Walpuski made me aware of a potential DoS attack via
1633 a PKCS#7-wrapped certificate bundle which could overwrite valid CA
1634 certificates in Pluto's authority certificate store. This vulnerability
1635 was fixed by establishing trust in CA candidate certificates up to a
1636 trusted root CA prior to insertion into Pluto's chained list.
1637
1638- replaced the --assign option by the -v option in the auto awk script
1639 in order to make it run with mawk under debian/woody.
1640
1641
1642strongswan-2.1.4
1643----------------
1644
1645- Split of the status information between ipsec auto --status (concise)
1646 and ipsec auto --statusall (verbose). Both commands can be used with
1647 an optional connection selector:
1648
1649 ipsec auto --status[all] <connection_name>
1650
1651- Added the description of X.509 related features to the ipsec_auto(8)
1652 man page.
1653
1654- Hardened the ASN.1 parser in debug mode, especially the printing
1655 of malformed distinguished names.
1656
1657- The size of an RSA public key received in a certificate is now restricted to
1658
1659 512 bits <= modulus length <= 8192 bits.
1660
1661- Fixed the debug mode enumeration.
1662
1663
1664strongswan-2.1.3
1665----------------
1666
1667- Fixed another PKCS#7 vulnerability which could lead to an
1668 endless loop while following the X.509 trust chain.
b6b90b68 1669
997358a6
MW
1670
1671strongswan-2.1.2
1672----------------
1673
1674- Fixed the PKCS#7 vulnerability discovered by Thomas Walpuski
1675 that accepted end certificates having identical issuer and subject
1676 distinguished names in a multi-tier X.509 trust chain.
b6b90b68 1677
997358a6
MW
1678
1679strongswan-2.1.1
1680----------------
1681
1682- Removed all remaining references to ipsec_netlink.h in KLIPS.
1683
1684
1685strongswan-2.1.0
1686----------------
1687
1688- The new "ca" section allows to define the following parameters:
1689
1690 ca kool
1691 cacert=koolCA.pem # cacert of kool CA
1692 ocspuri=http://ocsp.kool.net:8001 # ocsp server
1693 ldapserver=ldap.kool.net # default ldap server
1694 crluri=http://www.kool.net/kool.crl # crl distribution point
1695 crluri2="ldap:///O=Kool, C= .." # crl distribution point #2
1696 auto=add # add, ignore
b6b90b68 1697
997358a6 1698 The ca definitions can be monitored via the command
b6b90b68 1699
997358a6
MW
1700 ipsec auto --listcainfos
1701
1702- Fixed cosmetic corruption of /proc filesystem by integrating
1703 D. Hugh Redelmeier's freeswan-2.06 kernel fixes.
1704
1705
1706strongswan-2.0.2
1707----------------
1708
1709- Added support for the 818043 NAT-Traversal update of Microsoft's
1710 Windows 2000/XP IPsec client which sends an ID_FQDN during Quick Mode.
b6b90b68
MW
1711
1712- A symbolic link to libcrypto is now added in the kernel sources
997358a6 1713 during kernel compilation
b6b90b68 1714
997358a6
MW
1715- Fixed a couple of 64 bit issues (mostly casts to int).
1716 Thanks to Ken Bantoft who checked my sources on a 64 bit platform.
1717
1718- Replaced s[n]printf() statements in the kernel by ipsec_snprintf().
1719 Credits go to D. Hugh Redelmeier, Michael Richardson, and Sam Sgro
1720 of the FreeS/WAN team who solved this problem with the 2.4.25 kernel.
1721
1722
1723strongswan-2.0.1
1724----------------
1725
1726- an empty ASN.1 SEQUENCE OF or SET OF object (e.g. a subjectAltName
1727 certificate extension which contains no generalName item) can cause
1728 a pluto crash. This bug has been fixed. Additionally the ASN.1 parser has
1729 been hardened to make it more robust against malformed ASN.1 objects.
1730
1731- applied Herbert Xu's NAT-T patches which fixes NAT-T under the native
1732 Linux 2.6 IPsec stack.
b6b90b68
MW
1733
1734
997358a6
MW
1735strongswan-2.0.0
1736----------------
1737
1738- based on freeswan-2.04, x509-1.5.3, nat-0.6c, alg-0.8.1rc12