]> git.ipfire.org Git - people/ms/strongswan.git/blame - NEWS
list crlnumber
[people/ms/strongswan.git] / NEWS
CommitLineData
8ea7b96f
AS
1strongswan-4.1.2
2----------------
3
e23d98a7 4- Support for an additional Diffie-Hellman exchange when creating/rekeying
37fb0355
MW
5 a CHILD_SA in IKEv2 (PFS). PFS is enabled when the proposal contains a
6 DH group (e.g. "esp=aes128-sha1-modp1536"). Further, DH group negotiation
7 is implemented properly for rekeying.
8
9- Support for the AES-XCBC-96 MAC algorithm for IPsec SAs when using IKEv2
10 (requires linux >= 2.6.20). It is enabled using e.g. "esp=aes256-aesxcbc".
11
d931f465
MW
12- Working IPv4-in-IPv6 and IPv6-in-IPv4 tunnels for linux >= 2.6.21.
13
37fb0355
MW
14- Added support for EAP modules which do not establish an MSK.
15
dfbe2a0f
AS
16- Removed the dependencies from the /usr/include/linux/ headers by
17 including xfrm.h, ipsec.h, and pfkeyv2.h.
18
8ea7b96f
AS
19- The xauth_modules.verify_secret() function now passes the
20 connection name.
21
e23d98a7 22
ed284399
MW
23strongswan-4.1.1
24----------------
25
26- Server side cookie support. If to may IKE_SAs are in CONNECTING state,
27 cookies are enabled and protect against DoS attacks with faked source
28 addresses. Number of IKE_SAs in CONNECTING state is also limited per
29 peer address to avoid resource exhaustion. IKE_SA_INIT messages are
30 compared to properly detect retransmissions and incoming retransmits are
31 detected even if the IKE_SA is blocked (e.g. doing OCSP fetches).
32
db88e37d
AS
33- The IKEv2 daemon charon now supports dynamic http- and ldap-based CRL
34 fetching enabled by crlcheckinterval > 0 and caching fetched CRLs
35 enabled by cachecrls=yes.
36
3b4f7d92
AS
37- Added the configuration options --enable-nat-transport which enables
38 the potentially insecure NAT traversal for IPsec transport mode and
39 --disable-vendor-id which disables the sending of the strongSwan
40 vendor ID.
41
42- Fixed a long-standing bug in the pluto IKEv1 daemon which caused
43 a segmentation fault if a malformed payload was detected in the
44 IKE MR2 message and pluto tried to send an encrypted notification
45 message.
46
46b9ff68
AS
47- Added the NATT_IETF_02_N Vendor ID in order to support IKEv1 connections
48 with Windows 2003 Server which uses a wrong VID hash.
49
3b4f7d92 50
34bbd0c3 51strongswan-4.1.0
cd3958f8
AS
52----------------
53
54- Support of SHA2_384 hash function for protecting IKEv1
55 negotiations and support of SHA2 signatures in X.509 certificates.
56
57- Fixed a serious bug in the computation of the SHA2-512 HMAC
58 function. Introduced automatic self-test of all IKEv1 hash
59 and hmac functions during pluto startup. Failure of a self-test
60 currently issues a warning only but does not exit pluto [yet].
61
9b45443d
MW
62- Support for SHA2-256/384/512 PRF and HMAC functions in IKEv2.
63
c5d0fbb6
AS
64- Full support of CA information sections. ipsec listcainfos
65 now shows all collected crlDistributionPoints and OCSP
66 accessLocations.
67
69ed04bf
AS
68- Support of the Online Certificate Status Protocol (OCSP) for IKEv2.
69 This feature requires the HTTP fetching capabilities of the libcurl
70 library which must be enabled by setting the --enable-http configure
71 option.
72
9b45443d
MW
73- Refactored core of the IKEv2 message processing code, allowing better
74 code reuse and separation.
75
76- Virtual IP support in IKEv2 using INTERNAL_IP4/6_ADDRESS configuration
77 payload. Additionally, the INTERNAL_IP4/6_DNS attribute is interpreted
78 by the requestor and installed in a resolv.conf file.
79
80- The IKEv2 daemon charon installs a route for each IPsec policy to use
81 the correct source address even if an application does not explicitly
82 specify it.
83
84- Integrated the EAP framework into charon which loads pluggable EAP library
85 modules. The ipsec.conf parameter authby=eap initiates EAP authentication
86 on the client side, while the "eap" parameter on the server side defines
87 the EAP method to use for client authentication.
88 A generic client side EAP-Identity module and an EAP-SIM authentication
89 module using a third party card reader implementation are included.
90
91- Added client side support for cookies.
92
93- Integrated the fixes done at the IKEv2 interoperability bakeoff, including
94 strict payload order, correct INVALID_KE_PAYLOAD rejection and other minor
95 fixes to enhance interoperability with other implementations.
cd3958f8 96
e23d98a7 97
1c266d7d
AS
98strongswan-4.0.7
99----------------
100
6fdf5f44
AS
101- strongSwan now interoperates with the NCP Secure Entry Client,
102 the Shrew Soft VPN Client, and the Cisco VPN client, doing both
103 XAUTH and Mode Config.
1c266d7d
AS
104
105- UNITY attributes are now recognized and UNITY_BANNER is set
106 to a default string.
107
108
2b4405a3
MW
109strongswan-4.0.6
110----------------
111
e38a15d4
AS
112- IKEv1: Support for extended authentication (XAUTH) in combination
113 with ISAKMP Main Mode RSA or PSK authentication. Both client and
114 server side were implemented. Handling of user credentials can
115 be done by a run-time loadable XAUTH module. By default user
116 credentials are stored in ipsec.secrets.
117
2b4405a3
MW
118- IKEv2: Support for reauthentication when rekeying
119
5903179b 120- IKEv2: Support for transport mode
af87afed 121
5903179b 122- fixed a lot of bugs related to byte order
2b4405a3 123
5903179b 124- various other bugfixes
2b4405a3
MW
125
126
0cd645d2
AS
127strongswan-4.0.5
128----------------
129
130- IKEv1: Implementation of ModeConfig push mode via the new connection
131 keyword modeconfig=push allows interoperability with Cisco VPN gateways.
132
133- IKEv1: The command ipsec statusall now shows "DPD active" for all
134 ISAKMP SAs that are under active Dead Peer Detection control.
135
136- IKEv2: Charon's logging and debugging framework has been completely rewritten.
137 Instead of logger, special printf() functions are used to directly
138 print objects like hosts (%H) identifications (%D), certificates (%Q),
139 etc. The number of debugging levels have been reduced to:
03bf883d 140
0cd645d2 141 0 (audit), 1 (control), 2 (controlmore), 3 (raw), 4 (private)
03bf883d 142
0cd645d2
AS
143 The debugging levels can either be specified statically in ipsec.conf as
144
145 config setup
03bf883d 146 charondebug="lib 1, cfg 3, net 2"
0cd645d2 147
03bf883d 148 or changed at runtime via stroke as
0cd645d2 149
03bf883d 150 ipsec stroke loglevel cfg 2
0cd645d2
AS
151
152
48dc3934
MW
153strongswan-4.0.4
154----------------
155
156- Implemented full support for IPv6-in-IPv6 tunnels.
157
158- Added configuration options for dead peer detection in IKEv2. dpd_action
159 types "clear", "hold" and "restart" are supported. The dpd_timeout
160 value is not used, as the normal retransmission policy applies to
161 detect dead peers. The dpd_delay parameter enables sending of empty
162 informational message to detect dead peers in case of inactivity.
163
164- Added support for preshared keys in IKEv2. PSK keys configured in
165 ipsec.secrets are loaded. The authby parameter specifies the authentication
166 method to authentificate ourself, the other peer may use PSK or RSA.
167
168- Changed retransmission policy to respect the keyingtries parameter.
169
112ad7c3
AS
170- Added private key decryption. PEM keys encrypted with AES-128/192/256
171 or 3DES are supported.
48dc3934
MW
172
173- Implemented DES/3DES algorithms in libstrongswan. 3DES can be used to
174 encrypt IKE traffic.
175
176- Implemented SHA-256/384/512 in libstrongswan, allows usage of certificates
177 signed with such a hash algorithm.
178
179- Added initial support for updown scripts. The actions up-host/client and
180 down-host/client are executed. The leftfirewall=yes parameter
181 uses the default updown script to insert dynamic firewall rules, a custom
182 updown script may be specified with the leftupdown parameter.
183
184
a1310b6b
MW
185strongswan-4.0.3
186----------------
187
188- Added support for the auto=route ipsec.conf parameter and the
189 ipsec route/unroute commands for IKEv2. This allows to set up IKE_SAs and
190 CHILD_SAs dynamically on demand when traffic is detected by the
191 kernel.
192
193- Added support for rekeying IKE_SAs in IKEv2 using the ikelifetime parameter.
194 As specified in IKEv2, no reauthentication is done (unlike in IKEv1), only
195 new keys are generated using perfect forward secrecy. An optional flag
196 which enforces reauthentication will be implemented later.
197
b425d998
AS
198- "sha" and "sha1" are now treated as synonyms in the ike= and esp=
199 algorithm configuration statements.
200
201
bf4df11f
AS
202strongswan-4.0.2
203----------------
204
623d3dcf
AS
205- Full X.509 certificate trust chain verification has been implemented.
206 End entity certificates can be exchanged via CERT payloads. The current
207 default is leftsendcert=always, since CERTREQ payloads are not supported
208 yet. Optional CRLs must be imported locally into /etc/ipsec.d/crls.
efa40c11
MW
209
210- Added support for leftprotoport/rightprotoport parameters in IKEv2. IKEv2
211 would offer more possibilities for traffic selection, but the Linux kernel
212 currently does not support it. That's why we stick with these simple
213 ipsec.conf rules for now.
214
623d3dcf
AS
215- Added Dead Peer Detection (DPD) which checks liveliness of remote peer if no
216 IKE or ESP traffic is received. DPD is currently hardcoded (dpdaction=clear,
217 dpddelay=60s).
218
efa40c11
MW
219- Initial NAT traversal support in IKEv2. Charon includes NAT detection
220 notify payloads to detect NAT routers between the peers. It switches
221 to port 4500, uses UDP encapsulated ESP packets, handles peer address
222 changes gracefully and sends keep alive message periodically.
223
224- Reimplemented IKE_SA state machine for charon, which allows simultaneous
225 rekeying, more shared code, cleaner design, proper retransmission
226 and a more extensible code base.
227
cfd8b27f
AS
228- The mixed PSK/RSA roadwarrior detection capability introduced by the
229 strongswan-2.7.0 release necessitated the pre-parsing of the IKE proposal
230 payloads by the responder right before any defined IKE Main Mode state had
231 been established. Although any form of bad proposal syntax was being correctly
232 detected by the payload parser, the subsequent error handler didn't check
233 the state pointer before logging current state information, causing an
234 immediate crash of the pluto keying daemon due to a NULL pointer.
235
bf4df11f 236
7e81e975
MW
237strongswan-4.0.1
238----------------
239
c15c3d4b
MW
240- Added algorithm selection to charon: New default algorithms for
241 ike=aes128-sha-modp2048, as both daemons support it. The default
242 for IPsec SAs is now esp=aes128-sha,3des-md5. charon handles
243 the ike/esp parameter the same way as pluto. As this syntax does
244 not allow specification of a pseudo random function, the same
245 algorithm as for integrity is used (currently sha/md5). Supported
246 algorithms for IKE:
247 Encryption: aes128, aes192, aes256
248 Integrity/PRF: md5, sha (using hmac)
249 DH-Groups: modp768, 1024, 1536, 2048, 4096, 8192
250 and for ESP:
251 Encryption: aes128, aes192, aes256, 3des, blowfish128,
252 blowfish192, blowfish256
253 Integrity: md5, sha1
254 More IKE encryption algorithms will come after porting libcrypto into
255 libstrongswan.
f2c2d395 256
c15c3d4b
MW
257- initial support for rekeying CHILD_SAs using IKEv2. Currently no
258 perfect forward secrecy is used. The rekeying parameters rekey,
22ff6f57 259 rekeymargin, rekeyfuzz and keylife from ipsec.conf are now supported
c15c3d4b
MW
260 when using IKEv2. WARNING: charon currently is unable to handle
261 simultaneous rekeying. To avoid such a situation, use a large
262 rekeyfuzz, or even better, set rekey=no on one peer.
22ff6f57 263
7e81e975
MW
264- support for host2host, net2net, host2net (roadwarrior) tunnels
265 using predefined RSA certificates (see uml scenarios for
266 configuration examples).
267
f2c2d395
MW
268- new build environment featuring autotools. Features such
269 as HTTP, LDAP and smartcard support may be enabled using
270 the ./configure script. Changing install directories
271 is possible, too. See ./configure --help for more details.
272
22ff6f57
MW
273- better integration of charon with ipsec starter, which allows
274 (almost) transparent operation with both daemons. charon
275 handles ipsec commands up, down, status, statusall, listall,
276 listcerts and allows proper load, reload and delete of connections
277 via ipsec starter.
278
b425d998 279
9820c0e2
MW
280strongswan-4.0.0
281----------------
282
283- initial support of the IKEv2 protocol. Connections in
284 ipsec.conf designated by keyexchange=ikev2 are negotiated
285 by the new IKEv2 charon keying daemon whereas those marked
286 by keyexchange=ikev1 or the default keyexchange=ike are
287 handled thy the IKEv1 pluto keying daemon. Currently only
288 a limited subset of functions are available with IKEv2
289 (Default AES encryption, authentication based on locally
290 imported X.509 certificates, unencrypted private RSA keys
291 in PKCS#1 file format, limited functionality of the ipsec
292 status command).
293
294
997358a6
MW
295strongswan-2.7.0
296----------------
297
298- the dynamic iptables rules from the _updown_x509 template
299 for KLIPS and the _updown_policy template for NETKEY have
300 been merged into the default _updown script. The existing
301 left|rightfirewall keyword causes the automatic insertion
302 and deletion of ACCEPT rules for tunneled traffic upon
303 the successful setup and teardown of an IPsec SA, respectively.
304 left|rightfirwall can be used with KLIPS under any Linux 2.4
305 kernel or with NETKEY under a Linux kernel version >= 2.6.16
306 in conjuction with iptables >= 1.3.5. For NETKEY under a Linux
307 kernel version < 2.6.16 which does not support IPsec policy
308 matching yet, please continue to use a copy of the _updown_espmark
309 template loaded via the left|rightupdown keyword.
310
311- a new left|righthostaccess keyword has been introduced which
312 can be used in conjunction with left|rightfirewall and the
313 default _updown script. By default leftfirewall=yes inserts
314 a bi-directional iptables FORWARD rule for a local client network
315 with a netmask different from 255.255.255.255 (single host).
316 This does not allow to access the VPN gateway host via its
317 internal network interface which is part of the client subnet
318 because an iptables INPUT and OUTPUT rule would be required.
319 lefthostaccess=yes will cause this additional ACCEPT rules to
320 be inserted.
321
322- mixed PSK|RSA roadwarriors are now supported. The ISAKMP proposal
323 payload is preparsed in order to find out whether the roadwarrior
324 requests PSK or RSA so that a matching connection candidate can
325 be found.
326
327
328strongswan-2.6.4
329----------------
330
331- the new _updown_policy template allows ipsec policy based
332 iptables firewall rules. Required are iptables version
333 >= 1.3.5 and linux kernel >= 2.6.16. This script obsoletes
334 the _updown_espmark template, so that no INPUT mangle rules
335 are required any more.
336
337- added support of DPD restart mode
338
339- ipsec starter now allows the use of wildcards in include
340 statements as e.g. in "include /etc/my_ipsec/*.conf".
341 Patch courtesy of Matthias Haas.
342
343- the Netscape OID 'employeeNumber' is now recognized and can be
344 used as a Relative Distinguished Name in certificates.
345
346
347strongswan-2.6.3
348----------------
349
350- /etc/init.d/ipsec or /etc/rc.d/ipsec is now a copy of the ipsec
351 command and not of ipsec setup any more.
352
353- ipsec starter now supports AH authentication in conjunction with
354 ESP encryption. AH authentication is configured in ipsec.conf
355 via the auth=ah parameter.
356
357- The command ipsec scencrypt|scdecrypt <args> is now an alias for
358 ipsec whack --scencrypt|scdecrypt <args>.
359
360- get_sa_info() now determines for the native netkey IPsec stack
361 the exact time of the last use of an active eroute. This information
362 is used by the Dead Peer Detection algorithm and is also displayed by
363 the ipsec status command.
364
365
366strongswan-2.6.2
367----------------
368
369- running under the native Linux 2.6 IPsec stack, the function
370 get_sa_info() is called by ipsec auto --status to display the current
371 number of transmitted bytes per IPsec SA.
372
373- get_sa_info() is also used by the Dead Peer Detection process to detect
374 recent ESP activity. If ESP traffic was received from the peer within
375 the last dpd_delay interval then no R_Y_THERE notification must be sent.
376
377- strongSwan now supports the Relative Distinguished Name "unstructuredName"
378 in ID_DER_ASN1_DN identities. The following notations are possible:
379
380 rightid="unstructuredName=John Doe"
381 rightid="UN=John Doe"
382
383- fixed a long-standing bug which caused PSK-based roadwarrior connections
384 to segfault in the function id.c:same_id() called by keys.c:get_secret()
385 if an FQDN, USER_FQDN, or Key ID was defined, as in the following example.
386
387 conn rw
388 right=%any
389 rightid=@foo.bar
390 authby=secret
391
392- the ipsec command now supports most ipsec auto commands (e.g. ipsec listall).
393
394- ipsec starter didn't set host_addr and client.addr ports in whack msg.
395
396- in order to guarantee backwards-compatibility with the script-based
397 auto function (e.g. auto --replace), the ipsec starter scripts stores
398 the defaultroute information in the temporary file /var/run/ipsec.info.
399
400- The compile-time option USE_XAUTH_VID enables the sending of the XAUTH
401 Vendor ID which is expected by Cisco PIX 7 boxes that act as IKE Mode Config
402 servers.
403
404- the ipsec starter now also recognizes the parameters authby=never and
405 type=passthrough|pass|drop|reject.
406
407
408strongswan-2.6.1
409----------------
410
411- ipsec starter now supports the also parameter which allows
412 a modular structure of the connection definitions. Thus
413 "ipsec start" is now ready to replace "ipsec setup".
414
415
416strongswan-2.6.0
417----------------
418
419- Mathieu Lafon's popular ipsec starter tool has been added to the
420 strongSwan distribution. Many thanks go to Stephan Scholz from astaro
421 for his integration work. ipsec starter is a C program which is going
422 to replace the various shell and awk starter scripts (setup, _plutoload,
423 _plutostart, _realsetup, _startklips, _confread, and auto). Since
424 ipsec.conf is now parsed only once, the starting of multiple tunnels is
425 accelerated tremedously.
426
427- Added support of %defaultroute to the ipsec starter. If the IP address
428 changes, a HUP signal to the ipsec starter will automatically
429 reload pluto's connections.
430
431- moved most compile time configurations from pluto/Makefile to
432 Makefile.inc by defining the options USE_LIBCURL, USE_LDAP,
433 USE_SMARTCARD, and USE_NAT_TRAVERSAL_TRANSPORT_MODE.
434
435- removed the ipsec verify and ipsec newhostkey commands
436
437- fixed some 64-bit issues in formatted print statements
438
439- The scepclient functionality implementing the Simple Certificate
440 Enrollment Protocol (SCEP) is nearly complete but hasn't been
441 documented yet.
442
443
444strongswan-2.5.7
445----------------
446
447- CA certicates are now automatically loaded from a smartcard
448 or USB crypto token and appear in the ipsec auto --listcacerts
449 listing.
450
451
452strongswan-2.5.6
453----------------
454
455- when using "ipsec whack --scencrypt <data>" with a PKCS#11
456 library that does not support the C_Encrypt() Cryptoki
457 function (e.g. OpenSC), the RSA encryption is done in
458 software using the public key fetched from the smartcard.
459
460- The scepclient function now allows to define the
461 validity of a self-signed certificate using the --days,
462 --startdate, and --enddate options. The default validity
463 has been changed from one year to five years.
464
465
466strongswan-2.5.5
467----------------
468
469- the config setup parameter pkcs11proxy=yes opens pluto's PKCS#11
470 interface to other applications for RSA encryption and decryption
471 via the whack interface. Notation:
472
473 ipsec whack --scencrypt <data>
474 [--inbase 16|hex|64|base64|256|text|ascii]
475 [--outbase 16|hex|64|base64|256|text|ascii]
476 [--keyid <keyid>]
477
478 ipsec whack --scdecrypt <data>
479 [--inbase 16|hex|64|base64|256|text|ascii]
480 [--outbase 16|hex|64|base64|256|text|ascii]
481 [--keyid <keyid>]
482
483 The default setting for inbase and outbase is hex.
484
485 The new proxy interface can be used for securing symmetric
486 encryption keys required by the cryptoloop or dm-crypt
487 disk encryption schemes, especially in the case when
488 pkcs11keepstate=yes causes pluto to lock the pkcs11 slot
489 permanently.
490
491- if the file /etc/ipsec.secrets is lacking during the startup of
492 pluto then the root-readable file /etc/ipsec.d/private/myKey.der
493 containing a 2048 bit RSA private key and a matching self-signed
494 certificate stored in the file /etc/ipsec.d/certs/selfCert.der
495 is automatically generated by calling the function
496
497 ipsec scepclient --out pkcs1 --out cert-self
498
499 scepclient was written by Jan Hutter and Martin Willi, students
500 at the University of Applied Sciences in Rapperswil, Switzerland.
501
502
503strongswan-2.5.4
504----------------
505
506- the current extension of the PKCS#7 framework introduced
507 a parsing error in PKCS#7 wrapped X.509 certificates that are
508 e.g. transmitted by Windows XP when multi-level CAs are used.
509 the parsing syntax has been fixed.
510
511- added a patch by Gerald Richter which tolerates multiple occurrences
512 of the ipsec0 interface when using KLIPS.
513
514
515strongswan-2.5.3
516----------------
517
518- with gawk-3.1.4 the word "default2 has become a protected
519 keyword for use in switch statements and cannot be used any
520 more in the strongSwan scripts. This problem has been
521 solved by renaming "default" to "defaults" and "setdefault"
522 in the scripts _confread and auto, respectively.
523
524- introduced the parameter leftsendcert with the values
525
526 always|yes (the default, always send a cert)
527 ifasked (send the cert only upon a cert request)
528 never|no (never send a cert, used for raw RSA keys and
529 self-signed certs)
530
531- fixed the initialization of the ESP key length to a default of
532 128 bits in the case that the peer does not send a key length
533 attribute for AES encryption.
534
535- applied Herbert Xu's uniqueIDs patch
536
537- applied Herbert Xu's CLOEXEC patches
538
539
540strongswan-2.5.2
541----------------
542
543- CRLs can now be cached also in the case when the issuer's
544 certificate does not contain a subjectKeyIdentifier field.
545 In that case the subjectKeyIdentifier is computed by pluto as the
546 160 bit SHA-1 hash of the issuer's public key in compliance
547 with section 4.2.1.2 of RFC 3280.
548
549- Fixed a bug introduced by strongswan-2.5.1 which eliminated
550 not only multiple Quick Modes of a given connection but also
551 multiple connections between two security gateways.
552
553
554strongswan-2.5.1
555----------------
556
557- Under the native IPsec of the Linux 2.6 kernel, a %trap eroute
558 installed either by setting auto=route in ipsec.conf or by
559 a connection put into hold, generates an XFRM_AQUIRE event
560 for each packet that wants to use the not-yet exisiting
561 tunnel. Up to now each XFRM_AQUIRE event led to an entry in
562 the Quick Mode queue, causing multiple IPsec SA to be
563 established in rapid succession. Starting with strongswan-2.5.1
564 only a single IPsec SA is established per host-pair connection.
565
566- Right after loading the PKCS#11 module, all smartcard slots are
567 searched for certificates. The result can be viewed using
568 the command
569
570 ipsec auto --listcards
571
572 The certificate objects found in the slots are numbered
573 starting with #1, #2, etc. This position number can be used to address
574 certificates (leftcert=%smartcard) and keys (: PIN %smartcard)
575 in ipsec.conf and ipsec.secrets, respectively:
576
577 %smartcard (selects object #1)
578 %smartcard#1 (selects object #1)
579 %smartcard#3 (selects object #3)
580
581 As an alternative the existing retrieval scheme can be used:
582
583 %smartcard:45 (selects object with id=45)
584 %smartcard0 (selects first object in slot 0)
585 %smartcard4:45 (selects object in slot 4 with id=45)
586
587- Depending on the settings of CKA_SIGN and CKA_DECRYPT
588 private key flags either C_Sign() or C_Decrypt() is used
589 to generate a signature.
590
591- The output buffer length parameter siglen in C_Sign()
592 is now initialized to the actual size of the output
593 buffer prior to the function call. This fixes the
594 CKR_BUFFER_TOO_SMALL error that could occur when using
595 the OpenSC PKCS#11 module.
596
597- Changed the initialization of the PKCS#11 CK_MECHANISM in
598 C_SignInit() to mech = { CKM_RSA_PKCS, NULL_PTR, 0 }.
599
600- Refactored the RSA public/private key code and transferred it
601 from keys.c to the new pkcs1.c file as a preparatory step
602 towards the release of the SCEP client.
603
604
605strongswan-2.5.0
606----------------
607
608- The loading of a PKCS#11 smartcard library module during
609 runtime does not require OpenSC library functions any more
610 because the corresponding code has been integrated into
611 smartcard.c. Also the RSAREF pkcs11 header files have been
612 included in a newly created pluto/rsaref directory so that
613 no external include path has to be defined any longer.
614
615- A long-awaited feature has been implemented at last:
616 The local caching of CRLs fetched via HTTP or LDAP, activated
617 by the parameter cachecrls=yes in the config setup section
618 of ipsec.conf. The dynamically fetched CRLs are stored under
619 a unique file name containing the issuer's subjectKeyID
620 in /etc/ipsec.d/crls.
621
622- Applied a one-line patch courtesy of Michael Richardson
623 from the Openswan project which fixes the kernel-oops
624 in KLIPS when an snmp daemon is running on the same box.
625
626
627strongswan-2.4.4
628----------------
629
630- Eliminated null length CRL distribution point strings.
631
632- Fixed a trust path evaluation bug introduced with 2.4.3
633
634
635strongswan-2.4.3
636----------------
637
638- Improved the joint OCSP / CRL revocation policy.
639 OCSP responses have precedence over CRL entries.
640
641- Introduced support of CRLv2 reason codes.
642
643- Fixed a bug with key-pad equipped readers which caused
644 pluto to prompt for the pin via the console when the first
645 occasion to enter the pin via the key-pad was missed.
646
647- When pluto is built with LDAP_V3 enabled, the library
648 liblber required by newer versions of openldap is now
649 included.
650
651
652strongswan-2.4.2
653----------------
654
655- Added the _updown_espmark template which requires all
656 incoming ESP traffic to be marked with a default mark
657 value of 50.
658
659- Introduced the pkcs11keepstate parameter in the config setup
660 section of ipsec.conf. With pkcs11keepstate=yes the PKCS#11
661 session and login states are kept as long as possible during
662 the lifetime of pluto. This means that a PIN entry via a key
663 pad has to be done only once.
664
665- Introduced the pkcs11module parameter in the config setup
666 section of ipsec.conf which specifies the PKCS#11 module
667 to be used with smart cards. Example:
668
669 pkcs11module=/usr/lib/pkcs11/opensc-pkcs11.lo
670
671- Added support of smartcard readers equipped with a PIN pad.
672
673- Added patch by Jay Pfeifer which detects when netkey
674 modules have been statically built into the Linux 2.6 kernel.
675
676- Added two patches by Herbert Xu. The first uses ip xfrm
677 instead of setkey to flush the IPsec policy database. The
678 second sets the optional flag in inbound IPComp SAs only.
679
680- Applied Ulrich Weber's patch which fixes an interoperability
681 problem between native IPsec and KLIPS systems caused by
682 setting the replay window to 32 instead of 0 for ipcomp.
683
684
685strongswan-2.4.1
686----------------
687
688- Fixed a bug which caused an unwanted Mode Config request
689 to be initiated in the case where "right" was used to denote
690 the local side in ipsec.conf and "left" the remote side,
691 contrary to the recommendation that "right" be remote and
692 "left" be"local".
693
694
695strongswan-2.4.0a
696-----------------
697
698- updated Vendor ID to strongSwan-2.4.0
699
700- updated copyright statement to include David Buechi and
701 Michael Meier
702
703
704strongswan-2.4.0
705----------------
706
707- strongSwan now communicates with attached smartcards and
708 USB crypto tokens via the standardized PKCS #11 interface.
709 By default the OpenSC library from www.opensc.org is used
710 but any other PKCS#11 library could be dynamically linked.
711 strongSwan's PKCS#11 API was implemented by David Buechi
712 and Michael Meier, both graduates of the Zurich University
713 of Applied Sciences in Winterthur, Switzerland.
714
715- When a %trap eroute is triggered by an outgoing IP packet
716 then the native IPsec stack of the Linux 2.6 kernel [often/
717 always?] returns an XFRM_ACQUIRE message with an undefined
718 protocol family field and the connection setup fails.
719 As a workaround IPv4 (AF_INET) is now assumed.
720
721- the results of the UML test scenarios are now enhanced
722 with block diagrams of the virtual network topology used
723 in a particular test.
724
725
726strongswan-2.3.2
727----------------
728
729- fixed IV used to decrypt informational messages.
730 This bug was introduced with Mode Config functionality.
731
732- fixed NCP Vendor ID.
733
734- undid one of Ulrich Weber's maximum udp size patches
735 because it caused a segmentation fault with NAT-ed
736 Delete SA messages.
737
738- added UML scenarios wildcards and attr-cert which
739 demonstrate the implementation of IPsec policies based
740 on wildcard parameters contained in Distinguished Names and
741 on X.509 attribute certificates, respectively.
742
743
744strongswan-2.3.1
745----------------
746
747- Added basic Mode Config functionality
748
749- Added Mathieu Lafon's patch which upgrades the status of
750 the NAT-Traversal implementation to RFC 3947.
751
752- The _startklips script now also loads the xfrm4_tunnel
753 module.
754
755- Added Ulrich Weber's netlink replay window size and
756 maximum udp size patches.
757
758- UML testing now uses the Linux 2.6.10 UML kernel by default.
759
760
761strongswan-2.3.0
762----------------
763
764- Eric Marchionni and Patrik Rayo, both recent graduates from
765 the Zuercher Hochschule Winterthur in Switzerland, created a
766 User-Mode-Linux test setup for strongSwan. For more details
767 please read the INSTALL and README documents in the testing
768 subdirectory.
769
770- Full support of group attributes based on X.509 attribute
771 certificates. Attribute certificates can be generated
772 using the openac facility. For more details see
773
774 man ipsec_openac.
775
776 The group attributes can be used in connection definitions
777 in order to give IPsec access to specific user groups.
778 This is done with the new parameter left|rightgroups as in
779
780 rightgroups="Research, Sales"
781
782 giving access to users possessing the group attributes
783 Research or Sales, only.
784
785- In Quick Mode clients with subnet mask /32 are now
786 coded as IP_V4_ADDRESS or IP_V6_ADDRESS. This should
787 fix rekeying problems with the SafeNet/SoftRemote and NCP
788 Secure Entry Clients.
789
790- Changed the defaults of the ikelifetime and keylife parameters
791 to 3h and 1h, respectively. The maximum allowable values are
792 now both set to 24 h.
793
794- Suppressed notification wars between two IPsec peers that
795 could e.g. be triggered by incorrect ISAKMP encryption.
796
797- Public RSA keys can now have identical IDs if either the
798 issuing CA or the serial number is different. The serial
799 number of a certificate is now shown by the command
800
801 ipsec auto --listpubkeys
802
803
804strongswan-2.2.2
805----------------
806
807- Added Tuomo Soini's sourceip feature which allows a strongSwan
808 roadwarrior to use a fixed Virtual IP (see README section 2.6)
809 and reduces the well-known four tunnel case on VPN gateways to
810 a single tunnel definition (see README section 2.4).
811
812- Fixed a bug occuring with NAT-Traversal enabled when the responder
813 suddenly turns initiator and the initiator cannot find a matching
814 connection because of the floated IKE port 4500.
815
816- Removed misleading ipsec verify command from barf.
817
818- Running under the native IP stack, ipsec --version now shows
819 the Linux kernel version (courtesy to the Openswan project).
820
821
822strongswan-2.2.1
823----------------
824
825- Introduced the ipsec auto --listalgs monitoring command which lists
826 all currently registered IKE and ESP algorithms.
827
828- Fixed a bug in the ESP algorithm selection occuring when the strict flag
829 is set and the first proposed transform does not match.
830
831- Fixed another deadlock in the use of the lock_certs_and_keys() mutex,
832 occuring when a smartcard is present.
833
834- Prevented that a superseded Phase1 state can trigger a DPD_TIMEOUT event.
835
836- Fixed the printing of the notification names (null)
837
838- Applied another of Herbert Xu's Netlink patches.
839
840
841strongswan-2.2.0
842----------------
843
844- Support of Dead Peer Detection. The connection parameter
845
846 dpdaction=clear|hold
847
848 activates DPD for the given connection.
849
850- The default Opportunistic Encryption (OE) policy groups are not
851 automatically included anymore. Those wishing to activate OE can include
852 the policy group with the following statement in ipsec.conf:
853
854 include /etc/ipsec.d/examples/oe.conf
855
856 The default for [right|left]rsasigkey is now set to %cert.
857
858- strongSwan now has a Vendor ID of its own which can be activated
859 using the compile option VENDORID
860
861- Applied Herbert Xu's patch which sets the compression algorithm correctly.
862
863- Applied Herbert Xu's patch fixing an ESPINUDP problem
864
865- Applied Herbert Xu's patch setting source/destination port numbers.
866
867- Reapplied one of Herbert Xu's NAT-Traversal patches which got
868 lost during the migration from SuperFreeS/WAN.
869
870- Fixed a deadlock in the use of the lock_certs_and_keys() mutex.
871
872- Fixed the unsharing of alg parameters when instantiating group
873 connection.
874
875
876strongswan-2.1.5
877----------------
878
879- Thomas Walpuski made me aware of a potential DoS attack via
880 a PKCS#7-wrapped certificate bundle which could overwrite valid CA
881 certificates in Pluto's authority certificate store. This vulnerability
882 was fixed by establishing trust in CA candidate certificates up to a
883 trusted root CA prior to insertion into Pluto's chained list.
884
885- replaced the --assign option by the -v option in the auto awk script
886 in order to make it run with mawk under debian/woody.
887
888
889strongswan-2.1.4
890----------------
891
892- Split of the status information between ipsec auto --status (concise)
893 and ipsec auto --statusall (verbose). Both commands can be used with
894 an optional connection selector:
895
896 ipsec auto --status[all] <connection_name>
897
898- Added the description of X.509 related features to the ipsec_auto(8)
899 man page.
900
901- Hardened the ASN.1 parser in debug mode, especially the printing
902 of malformed distinguished names.
903
904- The size of an RSA public key received in a certificate is now restricted to
905
906 512 bits <= modulus length <= 8192 bits.
907
908- Fixed the debug mode enumeration.
909
910
911strongswan-2.1.3
912----------------
913
914- Fixed another PKCS#7 vulnerability which could lead to an
915 endless loop while following the X.509 trust chain.
916
917
918strongswan-2.1.2
919----------------
920
921- Fixed the PKCS#7 vulnerability discovered by Thomas Walpuski
922 that accepted end certificates having identical issuer and subject
923 distinguished names in a multi-tier X.509 trust chain.
924
925
926strongswan-2.1.1
927----------------
928
929- Removed all remaining references to ipsec_netlink.h in KLIPS.
930
931
932strongswan-2.1.0
933----------------
934
935- The new "ca" section allows to define the following parameters:
936
937 ca kool
938 cacert=koolCA.pem # cacert of kool CA
939 ocspuri=http://ocsp.kool.net:8001 # ocsp server
940 ldapserver=ldap.kool.net # default ldap server
941 crluri=http://www.kool.net/kool.crl # crl distribution point
942 crluri2="ldap:///O=Kool, C= .." # crl distribution point #2
943 auto=add # add, ignore
944
945 The ca definitions can be monitored via the command
946
947 ipsec auto --listcainfos
948
949- Fixed cosmetic corruption of /proc filesystem by integrating
950 D. Hugh Redelmeier's freeswan-2.06 kernel fixes.
951
952
953strongswan-2.0.2
954----------------
955
956- Added support for the 818043 NAT-Traversal update of Microsoft's
957 Windows 2000/XP IPsec client which sends an ID_FQDN during Quick Mode.
958
959- A symbolic link to libcrypto is now added in the kernel sources
960 during kernel compilation
961
962- Fixed a couple of 64 bit issues (mostly casts to int).
963 Thanks to Ken Bantoft who checked my sources on a 64 bit platform.
964
965- Replaced s[n]printf() statements in the kernel by ipsec_snprintf().
966 Credits go to D. Hugh Redelmeier, Michael Richardson, and Sam Sgro
967 of the FreeS/WAN team who solved this problem with the 2.4.25 kernel.
968
969
970strongswan-2.0.1
971----------------
972
973- an empty ASN.1 SEQUENCE OF or SET OF object (e.g. a subjectAltName
974 certificate extension which contains no generalName item) can cause
975 a pluto crash. This bug has been fixed. Additionally the ASN.1 parser has
976 been hardened to make it more robust against malformed ASN.1 objects.
977
978- applied Herbert Xu's NAT-T patches which fixes NAT-T under the native
979 Linux 2.6 IPsec stack.
980
981
982strongswan-2.0.0
983----------------
984
985- based on freeswan-2.04, x509-1.5.3, nat-0.6c, alg-0.8.1rc12