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