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