f07f95e2ce18d8696f7c69067b2714d24c286851
[strongswan.git] / NEWS
1 - Added algorithm selection to charon: New default algorithms for 
2   ike=aes128-sha-modp2048, as both daemons support it. The default
3   for IPsec SAs is now esp=aes128-sha,3des-md5. charon handles
4   the ike/esp parameter the same way as pluto. As this syntax does
5   not allow specification of a pseudo random function, the same 
6   algorithm as for integrity is used (currently sha/md5). Supported
7   algorithms for IKE:
8     Encryption: aes128, aes192, aes256
9     Integrity/PRF: md5, sha (using hmac)
10     DH-Groups: modp768, 1024, 1536, 2048, 4096, 8192
11   and for ESP:
12     Encryption: aes128, aes192, aes256, 3des, blowfish128, 
13                 blowfish192, blowfish256
14     Integrity: md5, sha1
15   More IKE encryption algorithms will come after porting libcrypto into
16   libstrongswan. 
17
18 - initial support for rekeying CHILD_SAs using IKEv2. Currently no
19   perfect forward secrecy is used. The rekeying parameters rekey,
20   rekeymargin, rekeyfuzz and keylife from ipsec.conf are now supported
21   when using IKEv2. WARNING: charon currently is unable to handle
22   simultaneous rekeying. To avoid such a situation, use a large
23   rekeyfuzz, or even better, set rekey=no on one peer.
24
25 - new build environment featuring autotools. Features such
26   as HTTP, LDAP and smartcard support may be enabled using
27   the ./configure script. Changing install directories 
28   is possible, too. See ./configure --help for more details.
29
30 - better integration of charon with ipsec starter, which allows
31   (almost) transparent operation with both daemons. charon
32   handles ipsec commands up, down, status, statusall, listall,
33   listcerts and allows proper load, reload and delete of connections
34   via ipsec starter.
35
36 strongswan-4.0.0
37 ----------------
38
39 - initial support of the IKEv2 protocol. Connections in
40   ipsec.conf designated by keyexchange=ikev2 are negotiated 
41   by the new IKEv2 charon keying daemon whereas those marked
42   by keyexchange=ikev1 or the default keyexchange=ike are
43   handled thy the IKEv1 pluto keying daemon. Currently only
44   a limited subset of functions are available with IKEv2
45   (Default AES encryption, authentication based on locally
46   imported X.509 certificates, unencrypted private RSA keys
47   in PKCS#1 file format, limited functionality of the ipsec
48   status command).
49
50
51 strongswan-2.7.0
52 ----------------
53
54 - the dynamic iptables rules from the _updown_x509 template
55   for KLIPS and the _updown_policy template for NETKEY have
56   been merged into the default _updown script. The existing
57   left|rightfirewall keyword causes the automatic insertion
58   and deletion of ACCEPT rules for tunneled traffic upon
59   the successful setup and teardown of an IPsec SA, respectively.
60   left|rightfirwall can be used with KLIPS under any Linux 2.4
61   kernel or with NETKEY under a Linux kernel version >= 2.6.16
62   in conjuction with iptables >= 1.3.5. For NETKEY under a Linux
63   kernel version < 2.6.16 which does not support IPsec policy
64   matching yet, please continue to use a copy of the _updown_espmark
65   template loaded via the left|rightupdown keyword.
66
67 - a new left|righthostaccess keyword has been introduced which
68   can be used in conjunction with left|rightfirewall and the
69   default _updown script. By default leftfirewall=yes inserts
70   a bi-directional iptables FORWARD rule for a local client network
71   with a netmask different from 255.255.255.255 (single host).
72   This does not allow to access the VPN gateway host via its
73   internal network interface which is part of the client subnet
74   because an iptables INPUT and OUTPUT rule would be required.
75   lefthostaccess=yes will cause this additional ACCEPT rules to
76   be inserted. 
77
78 - mixed PSK|RSA roadwarriors are now supported. The ISAKMP proposal
79   payload is preparsed in order to find out whether the roadwarrior
80   requests PSK or RSA so that a matching connection candidate can
81   be found.
82
83
84 strongswan-2.6.4
85 ----------------
86
87 - the new _updown_policy template allows ipsec policy based
88   iptables firewall rules. Required are iptables version
89   >= 1.3.5 and linux kernel >= 2.6.16. This script obsoletes
90   the _updown_espmark template, so that no INPUT mangle rules 
91   are required any more.
92
93 - added support of DPD restart mode
94
95 - ipsec starter now allows the use of wildcards in include
96   statements as e.g. in "include /etc/my_ipsec/*.conf".
97   Patch courtesy of Matthias Haas.
98
99 - the Netscape OID 'employeeNumber' is now recognized and can be
100   used as a Relative Distinguished Name in certificates.
101
102
103 strongswan-2.6.3
104 ----------------
105
106 - /etc/init.d/ipsec or /etc/rc.d/ipsec is now a copy of the ipsec 
107   command and not of ipsec setup any more.
108
109 - ipsec starter now supports AH authentication in conjunction with
110   ESP encryption. AH authentication is configured in ipsec.conf
111   via the auth=ah parameter.
112   
113 - The command ipsec scencrypt|scdecrypt <args> is now an alias for
114   ipsec whack --scencrypt|scdecrypt <args>.
115
116 - get_sa_info() now determines for the native netkey IPsec stack
117   the exact time of the last use of an active eroute. This information
118   is used by the Dead Peer Detection algorithm and is also displayed by
119   the ipsec status command.
120   
121
122 strongswan-2.6.2
123 ----------------
124
125 - running under the native Linux 2.6 IPsec stack, the function
126   get_sa_info() is called by ipsec auto --status to display the current
127   number of transmitted bytes per IPsec SA.
128
129 - get_sa_info() is also used  by the Dead Peer Detection process to detect
130   recent ESP activity. If ESP traffic was received from the peer within
131   the last dpd_delay interval then no R_Y_THERE notification must be sent.
132
133 - strongSwan now supports the Relative Distinguished Name "unstructuredName"
134   in ID_DER_ASN1_DN identities. The following notations are possible:
135
136     rightid="unstructuredName=John Doe"
137     rightid="UN=John Doe"
138
139 - fixed a long-standing bug which caused PSK-based roadwarrior connections
140   to segfault in the function id.c:same_id() called by keys.c:get_secret()
141   if an FQDN, USER_FQDN, or Key ID was defined, as in the following example.
142
143   conn rw
144        right=%any
145        rightid=@foo.bar
146        authby=secret
147
148 - the ipsec command now supports most ipsec auto commands (e.g. ipsec listall).
149
150 - ipsec starter didn't set host_addr and client.addr ports in whack msg.
151
152 - in order to guarantee backwards-compatibility with the script-based
153   auto function (e.g. auto --replace), the ipsec starter scripts stores
154   the defaultroute information in the temporary file /var/run/ipsec.info.
155
156 - The compile-time option USE_XAUTH_VID enables the sending of the XAUTH
157   Vendor ID which is expected by Cisco PIX 7 boxes that act as IKE Mode Config
158   servers.
159
160 - the ipsec starter now also recognizes the parameters authby=never and
161   type=passthrough|pass|drop|reject.
162
163
164 strongswan-2.6.1
165 ----------------
166
167 - ipsec starter now supports the also parameter which allows
168   a modular structure of the connection definitions. Thus
169   "ipsec start" is now ready to replace "ipsec setup".
170
171
172 strongswan-2.6.0
173 ----------------
174
175 - Mathieu Lafon's popular ipsec starter tool has been added to the
176   strongSwan distribution. Many thanks go to Stephan Scholz from astaro
177   for his integration work. ipsec starter is a C program which is going
178   to replace the various shell and awk starter scripts (setup, _plutoload,
179   _plutostart, _realsetup, _startklips, _confread, and auto). Since
180   ipsec.conf is now parsed only once, the starting of multiple tunnels is
181   accelerated tremedously.
182
183 - Added support of %defaultroute to the ipsec starter. If the IP address
184   changes, a HUP signal to the ipsec starter will automatically 
185   reload pluto's connections.
186
187 - moved most compile time configurations from pluto/Makefile to
188   Makefile.inc by defining the options USE_LIBCURL, USE_LDAP,
189   USE_SMARTCARD, and USE_NAT_TRAVERSAL_TRANSPORT_MODE.
190
191 - removed the ipsec verify and ipsec newhostkey commands
192
193 - fixed some 64-bit issues in formatted print statements
194
195 - The scepclient functionality implementing the Simple Certificate
196   Enrollment Protocol (SCEP) is nearly complete but hasn't been
197   documented yet.
198
199
200 strongswan-2.5.7
201 ----------------
202
203 - CA certicates are now automatically loaded from a smartcard
204   or USB crypto token and appear in the ipsec auto --listcacerts
205   listing.
206
207
208 strongswan-2.5.6
209 ----------------
210
211 - when using "ipsec whack --scencrypt <data>" with  a PKCS#11
212   library that does not support the C_Encrypt() Cryptoki
213   function (e.g. OpenSC), the RSA encryption is done in
214   software using the public key fetched from the smartcard.
215
216 - The scepclient function now allows to define the 
217   validity of a self-signed certificate using the --days,
218   --startdate, and --enddate options. The default validity
219   has been changed from one year to five years.
220
221
222 strongswan-2.5.5
223 ----------------
224
225 - the config setup parameter pkcs11proxy=yes opens pluto's PKCS#11
226   interface to other applications for RSA encryption and decryption
227   via the whack interface. Notation:
228
229   ipsec whack --scencrypt <data>
230              [--inbase  16|hex|64|base64|256|text|ascii]
231              [--outbase 16|hex|64|base64|256|text|ascii]
232              [--keyid <keyid>]
233
234   ipsec whack --scdecrypt <data>
235              [--inbase  16|hex|64|base64|256|text|ascii]
236              [--outbase 16|hex|64|base64|256|text|ascii]
237              [--keyid <keyid>]
238
239   The default setting for inbase and outbase is hex. 
240
241   The new proxy interface can be used for securing symmetric
242   encryption keys required by the cryptoloop or dm-crypt
243   disk encryption schemes, especially in the case when
244   pkcs11keepstate=yes causes pluto to lock the pkcs11 slot
245   permanently.
246
247 - if the file /etc/ipsec.secrets is lacking during the startup of
248   pluto then the root-readable file /etc/ipsec.d/private/myKey.der
249   containing a 2048 bit RSA private key and a matching self-signed
250   certificate stored in the file /etc/ipsec.d/certs/selfCert.der
251   is automatically generated by calling the function
252
253   ipsec scepclient --out pkcs1 --out cert-self
254
255   scepclient was written by Jan Hutter and Martin Willi, students
256   at the University of Applied Sciences in Rapperswil, Switzerland.
257
258
259 strongswan-2.5.4
260 ----------------
261
262 - the current extension of the PKCS#7 framework introduced
263   a parsing error in PKCS#7 wrapped X.509 certificates that are
264   e.g. transmitted by Windows XP when multi-level CAs are used.
265   the parsing syntax has been fixed.
266
267 - added a patch by Gerald Richter which tolerates multiple occurrences
268   of the ipsec0 interface when using KLIPS.
269
270
271 strongswan-2.5.3
272 ----------------
273
274 - with gawk-3.1.4 the word "default2 has become a protected
275   keyword for use in switch statements and cannot be used any
276   more in the strongSwan scripts. This problem has been
277   solved by renaming "default" to "defaults" and "setdefault"
278   in the scripts _confread and auto, respectively.
279
280 - introduced the parameter leftsendcert with the values
281
282   always|yes (the default, always send a cert)
283   ifasked    (send the cert only upon a cert request)
284   never|no   (never send a cert, used for raw RSA keys and
285               self-signed certs) 
286
287 - fixed the initialization of the ESP key length to a default of
288   128 bits in the case that the peer does not send a key length
289    attribute for AES encryption.
290
291 - applied Herbert Xu's uniqueIDs patch
292
293 - applied Herbert Xu's CLOEXEC patches
294
295
296 strongswan-2.5.2
297 ----------------
298
299 - CRLs can now be cached also in the case when the issuer's
300   certificate does not contain a subjectKeyIdentifier field.
301   In that case the subjectKeyIdentifier is computed by pluto as the
302   160 bit SHA-1 hash of the issuer's public key in compliance
303   with section 4.2.1.2 of RFC 3280.
304
305 - Fixed a bug introduced by strongswan-2.5.1 which eliminated
306   not only multiple Quick Modes of a given connection but also
307   multiple connections between two security gateways.
308
309
310 strongswan-2.5.1
311 ----------------
312
313 - Under the native IPsec of the Linux 2.6 kernel, a %trap eroute
314   installed either by setting auto=route in ipsec.conf or by
315   a connection put into hold, generates an XFRM_AQUIRE event
316   for each packet that wants to use the not-yet exisiting
317   tunnel. Up to now each XFRM_AQUIRE event led to an entry in
318   the Quick Mode queue, causing multiple IPsec SA to be
319   established in rapid succession. Starting with strongswan-2.5.1
320   only a single IPsec SA is established per host-pair connection.
321
322 - Right after loading the PKCS#11 module, all smartcard slots are
323   searched for certificates. The result can be viewed using
324   the command
325
326     ipsec auto --listcards
327
328   The certificate objects found in the slots are numbered
329   starting with #1, #2, etc. This position number can be used to address
330   certificates (leftcert=%smartcard) and keys (: PIN %smartcard)
331   in ipsec.conf and ipsec.secrets, respectively:
332
333     %smartcard      (selects object #1)
334     %smartcard#1    (selects object #1)
335     %smartcard#3    (selects object #3)
336
337   As an alternative the existing retrieval scheme can be used:
338
339     %smartcard:45   (selects object with id=45)
340     %smartcard0     (selects first object in slot 0)
341     %smartcard4:45  (selects object in slot 4 with id=45)
342
343 - Depending on the settings of CKA_SIGN and CKA_DECRYPT
344   private key flags either C_Sign() or C_Decrypt() is used
345   to generate a signature.
346
347 - The output buffer length parameter siglen in C_Sign()
348   is now initialized to the actual size of the output
349   buffer prior to the function call. This fixes the
350   CKR_BUFFER_TOO_SMALL error that could occur when using
351   the OpenSC PKCS#11 module.
352
353 - Changed the initialization of the PKCS#11 CK_MECHANISM in
354   C_SignInit() to mech  = { CKM_RSA_PKCS, NULL_PTR, 0 }.
355
356 - Refactored the RSA public/private key code and transferred it
357   from keys.c to the new pkcs1.c file as a preparatory step
358   towards the release of the SCEP client.
359
360
361 strongswan-2.5.0
362 ----------------
363
364 - The loading of a PKCS#11 smartcard library module during
365   runtime does not require OpenSC library functions any more
366   because the corresponding code has been integrated into
367   smartcard.c. Also the RSAREF pkcs11 header files have been
368   included in a newly created pluto/rsaref directory so that
369   no external include path has to be defined any longer.
370
371 - A long-awaited feature has been implemented at last:
372   The local caching of CRLs fetched via HTTP or LDAP, activated
373   by the parameter cachecrls=yes in the config setup section
374   of ipsec.conf. The dynamically fetched CRLs are stored under
375   a unique file name containing the issuer's subjectKeyID
376   in /etc/ipsec.d/crls.
377   
378 - Applied a one-line patch courtesy of Michael Richardson
379   from the Openswan project which fixes the kernel-oops
380   in KLIPS when an snmp daemon is running on the same box.
381
382
383 strongswan-2.4.4
384 ----------------
385
386 - Eliminated null length CRL distribution point strings.
387
388 - Fixed a trust path evaluation bug introduced with 2.4.3
389
390
391 strongswan-2.4.3
392 ----------------
393
394 - Improved the joint OCSP / CRL revocation policy.
395   OCSP responses have precedence over CRL entries.
396
397 - Introduced support of CRLv2 reason codes.
398
399 - Fixed a bug with key-pad equipped readers which caused
400   pluto to prompt for the pin via the console when the first
401   occasion to enter the pin via the key-pad was missed.
402
403 - When pluto is built with LDAP_V3 enabled, the library
404   liblber required by newer versions of openldap is now
405   included.
406
407
408 strongswan-2.4.2
409 ----------------
410
411 - Added the _updown_espmark template which requires all
412   incoming ESP traffic to be marked with a default mark
413   value of 50.
414   
415 - Introduced the pkcs11keepstate parameter in the config setup
416   section of ipsec.conf. With pkcs11keepstate=yes the PKCS#11
417   session and login states are kept as long as possible during 
418   the lifetime of pluto. This means that a PIN entry via a key
419   pad has to be done only once.
420
421 - Introduced the pkcs11module parameter in the config setup
422   section of ipsec.conf which specifies the PKCS#11 module
423   to be used with smart cards. Example:
424   
425     pkcs11module=/usr/lib/pkcs11/opensc-pkcs11.lo
426   
427 - Added support of smartcard readers equipped with a PIN pad.
428
429 - Added patch by Jay Pfeifer which detects when netkey
430   modules have been statically built into the Linux 2.6 kernel.
431
432 - Added two patches by Herbert Xu. The first uses ip xfrm
433   instead of setkey to flush the IPsec policy database. The
434   second sets the optional flag in inbound IPComp SAs only.
435     
436 - Applied Ulrich Weber's patch which fixes an interoperability
437   problem between native IPsec and KLIPS systems caused by
438   setting the replay window to 32 instead of 0 for ipcomp.
439
440
441 strongswan-2.4.1
442 ----------------
443
444 - Fixed a bug which caused an unwanted Mode Config request
445   to be initiated in the case where "right" was used to denote
446   the local side in ipsec.conf and "left" the remote side,
447   contrary to the recommendation that "right" be remote and
448   "left" be"local".
449
450
451 strongswan-2.4.0a
452 -----------------
453
454 - updated Vendor ID to strongSwan-2.4.0
455
456 - updated copyright statement to include David Buechi and
457   Michael Meier
458   
459   
460 strongswan-2.4.0
461 ----------------
462
463 - strongSwan now communicates with attached smartcards and
464   USB crypto tokens via the standardized PKCS #11 interface.
465   By default the OpenSC library from www.opensc.org is used
466   but any other PKCS#11 library could be dynamically linked.
467   strongSwan's PKCS#11 API was implemented by David Buechi
468   and Michael Meier, both graduates of the Zurich University
469   of Applied Sciences in Winterthur, Switzerland.
470
471 - When a %trap eroute is triggered by an outgoing IP packet
472   then the native IPsec stack of the Linux 2.6 kernel [often/
473   always?] returns an XFRM_ACQUIRE message with an undefined
474   protocol family field and the connection setup fails.
475   As a workaround IPv4 (AF_INET) is now assumed.
476   
477 - the results of the UML test scenarios are now enhanced 
478   with block diagrams of the virtual network topology used
479   in a particular test. 
480
481
482 strongswan-2.3.2
483 ----------------
484
485 - fixed IV used to decrypt informational messages.
486   This bug was introduced with Mode Config functionality.
487  
488 - fixed NCP Vendor ID.
489
490 - undid one of Ulrich Weber's maximum udp size patches
491   because it caused a segmentation fault with NAT-ed
492   Delete SA messages.
493   
494 - added UML scenarios wildcards and attr-cert which
495   demonstrate the implementation of IPsec policies based
496   on wildcard parameters contained in Distinguished Names and
497   on X.509 attribute certificates, respectively.
498
499
500 strongswan-2.3.1
501 ----------------
502
503 - Added basic Mode Config functionality
504
505 - Added Mathieu Lafon's patch which upgrades the status of
506   the NAT-Traversal implementation to RFC 3947.
507  
508 - The _startklips script now also loads the xfrm4_tunnel
509   module.
510   
511 - Added Ulrich Weber's netlink replay window size and
512   maximum udp size patches.
513
514 - UML testing now uses the Linux 2.6.10 UML kernel by default.
515    
516
517 strongswan-2.3.0
518 ----------------
519
520 - Eric Marchionni and Patrik Rayo, both recent graduates from
521   the Zuercher Hochschule Winterthur in Switzerland, created a
522   User-Mode-Linux test setup for strongSwan. For more details
523   please read the INSTALL and README documents in the testing
524   subdirectory.
525
526 - Full support of group attributes based on X.509 attribute
527   certificates. Attribute certificates can be generated 
528   using the openac facility. For more details see
529    
530   man ipsec_openac.
531  
532   The group attributes can be used in connection definitions
533   in order to give IPsec access to specific user groups.
534   This is done with the new parameter left|rightgroups as in
535   
536   rightgroups="Research, Sales"
537
538   giving access to users possessing the group attributes
539   Research or Sales, only.
540
541 - In Quick Mode clients with subnet mask /32 are now
542   coded as IP_V4_ADDRESS or IP_V6_ADDRESS. This should 
543   fix rekeying problems with the SafeNet/SoftRemote and NCP
544   Secure Entry Clients.
545
546 - Changed the defaults of the ikelifetime and keylife parameters
547   to 3h and 1h, respectively. The maximum allowable values are
548   now both set to 24 h.
549
550 - Suppressed notification wars between two IPsec peers that
551   could e.g. be triggered by incorrect ISAKMP encryption.
552
553 - Public RSA keys can now have identical IDs if either the
554   issuing CA or the serial number is different. The serial
555   number of a certificate is now shown by the command
556   
557   ipsec auto --listpubkeys
558
559
560 strongswan-2.2.2
561 ----------------
562
563 - Added Tuomo Soini's sourceip feature which allows a strongSwan
564   roadwarrior to use a fixed Virtual IP (see README section 2.6)
565   and reduces the well-known four tunnel case on VPN gateways to
566   a single tunnel definition (see README section 2.4).
567
568 - Fixed a bug occuring with NAT-Traversal enabled when the responder
569   suddenly turns initiator and the initiator cannot find a matching
570   connection because of the floated IKE port 4500.
571   
572 - Removed misleading ipsec verify command from barf.
573
574 - Running under the native IP stack, ipsec --version now shows
575   the Linux kernel version (courtesy to the Openswan project).
576
577
578 strongswan-2.2.1
579 ----------------
580
581 - Introduced the ipsec auto --listalgs monitoring command which lists
582   all currently registered IKE and ESP algorithms.
583
584 - Fixed a bug in the ESP algorithm selection occuring when the strict flag
585   is set and the first proposed transform does not match.
586   
587 - Fixed another deadlock in the use of the lock_certs_and_keys() mutex,
588   occuring when a smartcard is present.
589
590 - Prevented that a superseded Phase1 state can trigger a DPD_TIMEOUT event.
591   
592 - Fixed the printing of the notification names (null)
593
594 - Applied another of Herbert Xu's Netlink patches.
595
596
597 strongswan-2.2.0
598 ----------------
599
600 - Support of Dead Peer Detection. The connection parameter
601
602     dpdaction=clear|hold
603      
604   activates DPD for the given connection.
605
606 - The default Opportunistic Encryption (OE) policy groups are not
607   automatically included anymore. Those wishing to activate OE can include
608   the policy group with the following statement in ipsec.conf:
609   
610     include /etc/ipsec.d/examples/oe.conf
611   
612   The default for [right|left]rsasigkey is now set to %cert.
613
614 - strongSwan now has a Vendor ID of its own which can be activated
615   using the compile option VENDORID
616
617 - Applied Herbert Xu's patch which sets the compression algorithm correctly.
618
619 - Applied Herbert Xu's patch fixing an ESPINUDP problem
620
621 - Applied Herbert Xu's patch setting source/destination port numbers.
622
623 - Reapplied one of Herbert Xu's NAT-Traversal patches which got
624   lost during the migration from SuperFreeS/WAN.
625   
626 - Fixed a deadlock in the use of the lock_certs_and_keys() mutex.
627
628 - Fixed the unsharing of alg parameters when instantiating group
629   connection.
630   
631
632 strongswan-2.1.5
633 ----------------
634
635 - Thomas Walpuski made me aware of a potential DoS attack via
636   a PKCS#7-wrapped certificate bundle which could overwrite valid CA
637   certificates in Pluto's authority certificate store. This vulnerability
638   was fixed by establishing trust in CA candidate certificates up to a
639   trusted root CA prior to insertion into Pluto's chained list.
640
641 - replaced the --assign option by the -v option in the auto awk script
642   in order to make it run with mawk under debian/woody.
643
644
645 strongswan-2.1.4
646 ----------------
647
648 - Split of the status information between ipsec auto  --status (concise)
649   and ipsec auto --statusall (verbose). Both commands can be used with
650   an optional connection selector:
651
652     ipsec auto --status[all] <connection_name>
653
654 - Added the description of X.509 related features to the ipsec_auto(8)
655   man page.
656
657 - Hardened the ASN.1 parser in debug mode, especially the printing
658   of malformed distinguished names.
659
660 - The size of an RSA public key received in a certificate is now restricted to
661
662     512 bits <= modulus length <= 8192 bits.
663
664 - Fixed the debug mode enumeration.
665
666
667 strongswan-2.1.3
668 ----------------
669
670 - Fixed another PKCS#7 vulnerability which could lead to an
671   endless loop while following the X.509 trust chain.
672   
673
674 strongswan-2.1.2
675 ----------------
676
677 - Fixed the PKCS#7 vulnerability discovered by Thomas Walpuski
678   that accepted end certificates having identical issuer and subject
679   distinguished names in a multi-tier X.509 trust chain.
680   
681
682 strongswan-2.1.1
683 ----------------
684
685 - Removed all remaining references to ipsec_netlink.h in KLIPS.
686
687
688 strongswan-2.1.0
689 ----------------
690
691 - The new "ca" section allows to define the following parameters:
692
693   ca kool
694      cacert=koolCA.pem                   # cacert of kool CA
695      ocspuri=http://ocsp.kool.net:8001   # ocsp server
696      ldapserver=ldap.kool.net            # default ldap server
697      crluri=http://www.kool.net/kool.crl # crl distribution point
698      crluri2="ldap:///O=Kool, C= .."     # crl distribution point #2
699      auto=add                            # add, ignore
700      
701   The ca definitions can be monitored via the command
702   
703      ipsec auto --listcainfos
704
705 - Fixed cosmetic corruption of /proc filesystem by integrating
706   D. Hugh Redelmeier's freeswan-2.06 kernel fixes.
707
708
709 strongswan-2.0.2
710 ----------------
711
712 - Added support for the 818043 NAT-Traversal update of Microsoft's
713   Windows 2000/XP IPsec client which sends an ID_FQDN during Quick Mode.
714   
715 - A symbolic link to libcrypto is now added in the kernel sources 
716   during kernel compilation
717   
718 - Fixed a couple of 64 bit issues (mostly casts to int).
719   Thanks to Ken Bantoft who checked my sources on a 64 bit platform.
720
721 - Replaced s[n]printf() statements in the kernel by ipsec_snprintf().
722   Credits go to D. Hugh Redelmeier, Michael Richardson, and Sam Sgro
723   of the FreeS/WAN team who solved this problem with the 2.4.25 kernel.
724
725
726 strongswan-2.0.1
727 ----------------
728
729 - an empty ASN.1 SEQUENCE OF or SET OF object (e.g. a subjectAltName
730   certificate extension which contains no generalName item)  can cause
731   a pluto crash. This bug has been fixed. Additionally the ASN.1 parser has
732   been hardened to make it more robust against malformed ASN.1 objects.
733
734 - applied Herbert Xu's NAT-T patches which fixes NAT-T under the native
735   Linux 2.6 IPsec stack.
736   
737   
738 strongswan-2.0.0
739 ----------------
740
741 - based on freeswan-2.04, x509-1.5.3, nat-0.6c, alg-0.8.1rc12