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