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