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