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