Typo :-)
[openssl.git] / CHANGES
1
2  OpenSSL CHANGES
3  _______________
4
5
6  Changes between 0.9.1c and 0.9.2
7
8   *) Allow DSO flags like -fpic, -fPIC, -KPIC etc. to be specified
9      on the `perl Configure ...' command line. This way one can compile
10      OpenSSL libraries with Position Independent Code (PIC) which is needed
11      for linking it into DSOs.
12      [Ralf S. Engelschall]
13
14   *) Remarkably, export ciphers were totally broken and no-one had noticed!
15      Fixed.
16      [Ben Laurie]
17
18   *) Cleaned up the LICENSE document: The official contact for any license
19      questions now is the OpenSSL core team under openssl-core@openssl.org.
20      And add a paragraph about the dual-license situation to make sure people
21      recognize that _BOTH_ the OpenSSL license _AND_ the SSLeay license apply
22      to the OpenSSL toolkit.
23      [Ralf S. Engelschall]
24
25   *) General source tree makefile cleanups: Made `making xxx in yyy...'
26      display consistent in the source tree and replaced `/bin/rm' by `rm'.
27      Additonally cleaned up the `make links' target: Remove unnecessary
28      semicolons, subsequent redundant removes, inline point.sh into mklink.sh
29      to speed processing and no longer clutter the display with confusing
30      stuff. Instead only the actually done links are displayed.
31      [Ralf S. Engelschall]
32
33   *) Permit null encryption ciphersuites, used for authentication only. It used
34      to be necessary to set the preprocessor define SSL_ALLOW_ENULL to do this.
35      It is now necessary to set SSL_FORBID_ENULL to prevent the use of null
36      encryption.
37      [Ben Laurie]
38
39   *) Add a bunch of fixes to the PKCS#7 stuff. It used to sometimes reorder
40      signed attributes when verifying signatures (this would break them), 
41      the detached data encoding was wrong and public keys obtained using
42      X509_get_pubkey() weren't freed.
43      [Steve Henson]
44
45   *) Add text documentation for the BUFFER functions. Also added a work around
46      to a Win95 console bug. This was triggered by the password read stuff: the
47      last character typed gets carried over to the next fread(). If you were 
48      generating a new cert request using 'req' for example then the last
49      character of the passphrase would be CR which would then enter the first
50      field as blank.
51      [Steve Henson]
52
53   *) Added the new `Includes OpenSSL Cryptography Software' button as
54      doc/openssl_button.{gif,html} which is similar in style to the old SSLeay
55      button and can be used by applications based on OpenSSL to show the
56      relationship to the OpenSSL project.  
57      [Ralf S. Engelschall]
58
59   *) Remove confusing variables in function signatures in files
60      ssl/ssl_lib.c and ssl/ssl.h.
61      [Lennart Bong <lob@kulthea.stacken.kth.se>]
62
63   *) Don't install bss_file.c under PREFIX/include/
64      [Lennart Bong <lob@kulthea.stacken.kth.se>]
65
66   *) Get the Win32 compile working again. Modify mkdef.pl so it can handle
67      functions that return function pointers and has support for NT specific
68      stuff. Fix mk1mf.pl and VC-32.pl to support NT differences also. Various
69      #ifdef WIN32 and WINNTs sprinkled about the place and some changes from
70      unsigned to signed types: this was killing the Win32 compile.
71      [Steve Henson]
72
73   *) Add new certificate file to stack functions, SSL_add_cert_file_to_stack()
74      and SSL_add_cert_dir_to_stack(). These largely supplant
75      SSL_load_client_CA_file(), and can be used to add multiple certs easily to
76      a stack (usually this is then handed to SSL_CTX_set_client_CA_list()).
77      This means that Apache-SSL and similar packages don't have to mess around
78      to add as many CAs as they want to the preferred list.
79      [Ben Laurie]
80
81   *) Experiment with doxygen documentation. Currently only partially applied to
82      ssl/ssl_lib.c.
83      See http://www.stack.nl/~dimitri/doxygen/index.html, and run doxygen with
84      openssl.doxy as the configuration file.
85      [Ben Laurie]
86   
87   *) Get rid of remaining C++-style comments which strict C compilers hate.
88      [Ralf S. Engelschall, pointed out by Carlos Amengual]
89
90   *) Changed BN_RECURSION in bn_mont.c to BN_RECURSION_MONT so it is not
91      compiled in by default: it has problems with large keys.
92      [Steve Henson]
93
94   *) Add a bunch of SSL_xxx() functions for configuring the temporary RSA and
95      DH private keys and/or callback functions which directly correspond to
96      their SSL_CTX_xxx() counterparts but work on a per-connection basis. This
97      is needed for applications which have to configure certificates on a
98      per-connection basis (e.g. Apache+mod_ssl) instead of a per-context basis
99      (e.g. s_server). 
100         For the RSA certificate situation is makes no difference, but
101      for the DSA certificate situation this fixes the "no shared cipher"
102      problem where the OpenSSL cipher selection procedure failed because the
103      temporary keys were not overtaken from the context and the API provided
104      no way to reconfigure them. 
105         The new functions now let applications reconfigure the stuff and they
106      are in detail: SSL_need_tmp_RSA, SSL_set_tmp_rsa, SSL_set_tmp_dh,
107      SSL_set_tmp_rsa_callback and SSL_set_tmp_dh_callback.  Additionally a new
108      non-public-API function ssl_cert_instantiate() is used as a helper
109      function and also to reduce code redundancy inside ssl_rsa.c.
110      [Ralf S. Engelschall]
111
112   *) Move s_server -dcert and -dkey options out of the undocumented feature
113      area because they are useful for the DSA situation and should be
114      recognized by the users.
115      [Ralf S. Engelschall]
116
117   *) Fix the cipher decision scheme for export ciphers: the export bits are
118      *not* within SSL_MKEY_MASK or SSL_AUTH_MASK, they are within
119      SSL_EXP_MASK.  So, the original variable has to be used instead of the
120      already masked variable.
121      [Richard Levitte <levitte@stacken.kth.se>]
122
123   *) Fix 'port' variable from `int' to `unsigned int' in crypto/bio/b_sock.c
124      [Richard Levitte <levitte@stacken.kth.se>]
125
126   *) Change type of another md_len variable in pk7_doit.c:PKCS7_dataFinal()
127      from `int' to `unsigned int' because it's a length and initialized by
128      EVP_DigestFinal() which expects an `unsigned int *'.
129      [Richard Levitte <levitte@stacken.kth.se>]
130
131   *) Don't hard-code path to Perl interpreter on shebang line of Configure
132      script. Instead use the usual Shell->Perl transition trick.
133      [Ralf S. Engelschall]
134
135   *) Make `openssl x509 -noout -modulus' functional also for DSA certificates
136      (in addition to RSA certificates) to match the behaviour of `openssl dsa
137      -noout -modulus' as it's already the case for `openssl rsa -noout
138      -modulus'.  For RSA the -modulus is the real "modulus" while for DSA
139      currently the public key is printed (a decision which was already done by
140      `openssl dsa -modulus' in the past) which serves a similar purpose.
141      Additionally the NO_RSA no longer completely removes the whole -modulus
142      option; it now only avoids using the RSA stuff. Same applies to NO_DSA
143      now, too.
144      [Ralf S.  Engelschall]
145
146   *) Add Arne Ansper's reliable BIO - this is an encrypted, block-digested
147      BIO. See the source (crypto/evp/bio_ok.c) for more info.
148      [Arne Ansper <arne@ats.cyber.ee>]
149
150   *) Dump the old yucky req code that tried (and failed) to allow raw OIDs
151      to be added. Now both 'req' and 'ca' can use new objects defined in the
152      config file.
153      [Steve Henson]
154
155   *) Add cool BIO that does syslog (or event log on NT).
156      [Arne Ansper <arne@ats.cyber.ee>, integrated by Ben Laurie]
157
158   *) Add support for new TLS ciphersuites, TLS_RSA_EXPORT56_WITH_RC4_56_MD5,
159      TLS_RSA_EXPORT56_WITH_RC2_CBC_56_MD5 and
160      TLS_RSA_EXPORT56_WITH_DES_CBC_SHA, as specified in "56-bit Export Cipher
161      Suites For TLS", draft-ietf-tls-56-bit-ciphersuites-00.txt.
162      [Ben Laurie]
163
164   *) Add preliminary config info for new extension code.
165      [Steve Henson]
166
167   *) Make RSA_NO_PADDING really use no padding.
168      [Ulf Moeller <ulf@fitug.de>]
169
170   *) Generate errors when private/public key check is done.
171      [Ben Laurie]
172
173   *) Overhaul for 'crl' utility. New function X509_CRL_print. Partial support
174      for some CRL extensions and new objects added.
175      [Steve Henson]
176
177   *) Really fix the ASN1 IMPLICIT bug this time... Partial support for private
178      key usage extension and fuller support for authority key id.
179      [Steve Henson]
180
181   *) Add OAEP encryption for the OpenSSL crypto library. OAEP is the improved
182      padding method for RSA, which is recommended for new applications in PKCS
183      #1 v2.0 (RFC 2437, October 1998).
184      OAEP (Optimal Asymmetric Encryption Padding) has better theoretical
185      foundations than the ad-hoc padding used in PKCS #1 v1.5. It is secure
186      against Bleichbacher's attack on RSA.
187      [Ulf Moeller <ulf@fitug.de>, reformatted, corrected and integrated by
188       Ben Laurie]
189
190   *) Updates to the new SSL compression code
191      [Eric A. Young, (from changes to C2Net SSLeay, integrated by Mark Cox)]
192
193   *) Fix so that the version number in the master secret, when passed
194      via RSA, checks that if TLS was proposed, but we roll back to SSLv3
195      (because the server will not accept higher), that the version number
196      is 0x03,0x01, not 0x03,0x00
197      [Eric A. Young, (from changes to C2Net SSLeay, integrated by Mark Cox)]
198
199   *) Run extensive memory leak checks on SSL apps. Fixed *lots* of memory
200      leaks in ssl/ relating to new X509_get_pubkey() behaviour. Also fixes
201      in apps/ and an unrelated leak in crypto/dsa/dsa_vrf.c
202      [Steve Henson]
203
204   *) Support for RAW extensions where an arbitrary extension can be
205      created by including its DER encoding. See apps/openssl.cnf for
206      an example.
207      [Steve Henson]
208
209   *) Make sure latest Perl versions don't interpret some generated C array
210      code as Perl array code in the crypto/err/err_genc.pl script.
211      [Lars Weber <3weber@informatik.uni-hamburg.de>]
212
213   *) Modify ms/do_ms.bat to not generate assembly language makefiles since
214      not many people have the assembler. Various Win32 compilation fixes and
215      update to the INSTALL.W32 file with (hopefully) more accurate Win32
216      build instructions.
217      [Steve Henson]
218
219   *) Modify configure script 'Configure' to automatically create crypto/date.h
220      file under Win32 and also build pem.h from pem.org. New script
221      util/mkfiles.pl to create the MINFO file on environments that can't do a
222      'make files': perl util/mkfiles.pl >MINFO should work.
223      [Steve Henson]
224
225   *) Major rework of DES function declarations, in the pursuit of correctness
226      and purity. As a result, many evil casts evaporated, and some weirdness,
227      too. You may find this causes warnings in your code. Zapping your evil
228      casts will probably fix them. Mostly.
229      [Ben Laurie]
230
231   *) Fix for a typo in asn1.h. Bug fix to object creation script
232      obj_dat.pl. It considered a zero in an object definition to mean
233      "end of object": none of the objects in objects.h have any zeros
234      so it wasn't spotted.
235      [Steve Henson, reported by Erwann ABALEA <eabalea@certplus.com>]
236
237   *) Add support for Triple DES Cipher Block Chaining with Output Feedback
238      Masking (CBCM). In the absence of test vectors, the best I have been able
239      to do is check that the decrypt undoes the encrypt, so far. Send me test
240      vectors if you have them.
241      [Ben Laurie]
242
243   *) Correct calculation of key length for export ciphers (too much space was
244      allocated for null ciphers). This has not been tested!
245      [Ben Laurie]
246
247   *) Modifications to the mkdef.pl for Win32 DEF file creation. The usage
248      message is now correct (it understands "crypto" and "ssl" on its
249      command line). There is also now an "update" option. This will update
250      the util/ssleay.num and util/libeay.num files with any new functions.
251      If you do a: 
252      perl util/mkdef.pl crypto ssl update
253      it will update them.
254      [Steve Henson]
255
256   *) Overhauled the Perl interface (perl/*):
257      - ported BN stuff to OpenSSL's different BN library
258      - made the perl/ source tree CVS-aware
259      - renamed the package from SSLeay to OpenSSL (the files still contain
260        their history because I've copied them in the repository)
261      - removed obsolete files (the test scripts will be replaced
262        by better Test::Harness variants in the future)
263      [Ralf S. Engelschall]
264
265   *) First cut for a very conservative source tree cleanup:
266      1. merge various obsolete readme texts into doc/ssleay.txt
267      where we collect the old documents and readme texts.
268      2. remove the first part of files where I'm already sure that we no
269      longer need them because of three reasons: either they are just temporary
270      files which were left by Eric or they are preserved original files where
271      I've verified that the diff is also available in the CVS via "cvs diff
272      -rSSLeay_0_8_1b" or they were renamed (as it was definitely the case for
273      the crypto/md/ stuff).
274      [Ralf S. Engelschall]
275
276   *) More extension code. Incomplete support for subject and issuer alt
277      name, issuer and authority key id. Change the i2v function parameters
278      and add an extra 'crl' parameter in the X509V3_CTX structure: guess
279      what that's for :-) Fix to ASN1 macro which messed up
280      IMPLICIT tag and add f_enum.c which adds a2i, i2a for ENUMERATED.
281      [Steve Henson]
282
283   *) Preliminary support for ENUMERATED type. This is largely copied from the
284      INTEGER code.
285      [Steve Henson]
286
287   *) Add new function, EVP_MD_CTX_copy() to replace frequent use of memcpy.
288      [Eric A. Young, (from changes to C2Net SSLeay, integrated by Mark Cox)]
289
290   *) Make sure `make rehash' target really finds the `openssl' program.
291      [Ralf S. Engelschall, Matthias Loepfe <Matthias.Loepfe@adnovum.ch>]
292
293   *) Squeeze another 7% of speed out of MD5 assembler, at least on a P2. I'd
294      like to hear about it if this slows down other processors.
295      [Ben Laurie]
296
297   *) Add CygWin32 platform information to Configure script.
298      [Alan Batie <batie@aahz.jf.intel.com>]
299
300   *) Fixed ms/32all.bat script: `no_asm' -> `no-asm'
301      [Rainer W. Gerling <gerling@mpg-gv.mpg.de>]
302   
303   *) New program nseq to manipulate netscape certificate sequences
304      [Steve Henson]
305
306   *) Modify crl2pkcs7 so it supports multiple -certfile arguments. Fix a
307      few typos.
308      [Steve Henson]
309
310   *) Fixes to BN code.  Previously the default was to define BN_RECURSION
311      but the BN code had some problems that would cause failures when
312      doing certificate verification and some other functions.
313      [Eric A. Young, (from changes to C2Net SSLeay, integrated by Mark Cox)]
314
315   *) Add ASN1 and PEM code to support netscape certificate sequences.
316      [Steve Henson]
317
318   *) Add ASN1 and PEM code to support netscape certificate sequences.
319      [Steve Henson]
320
321   *) Add several PKIX and private extended key usage OIDs.
322      [Steve Henson]
323
324   *) Modify the 'ca' program to handle the new extension code. Modify
325      openssl.cnf for new extension format, add comments.
326      [Steve Henson]
327
328   *) More X509 V3 changes. Fix typo in v3_bitstr.c. Add support to 'req'
329      and add a sample to openssl.cnf so req -x509 now adds appropriate
330      CA extensions.
331      [Steve Henson]
332
333   *) Continued X509 V3 changes. Add to other makefiles, integrate with the
334      error code, add initial support to X509_print() and x509 application.
335      [Steve Henson]
336
337   *) Takes a deep breath and start addding X509 V3 extension support code. Add
338      files in crypto/x509v3. Move original stuff to crypto/x509v3/old. All this
339      stuff is currently isolated and isn't even compiled yet.
340      [Steve Henson]
341
342   *) Continuing patches for GeneralizedTime. Fix up certificate and CRL
343      ASN1 to use ASN1_TIME and modify print routines to use ASN1_TIME_print.
344      Removed the versions check from X509 routines when loading extensions:
345      this allows certain broken certificates that don't set the version
346      properly to be processed.
347      [Steve Henson]
348
349   *) Deal with irritating shit to do with dependencies, in YAAHW (Yet Another
350      Ad Hoc Way) - Makefile.ssls now all contain local dependencies, which
351      can still be regenerated with "make depend".
352      [Ben Laurie]
353
354   *) Spelling mistake in C version of CAST-128.
355      [Ben Laurie, reported by Jeremy Hylton <jeremy@cnri.reston.va.us>]
356
357   *) Changes to the error generation code. The perl script err-code.pl 
358      now reads in the old error codes and retains the old numbers, only
359      adding new ones if necessary. It also only changes the .err files if new
360      codes are added. The makefiles have been modified to only insert errors
361      when needed (to avoid needlessly modifying header files). This is done
362      by only inserting errors if the .err file is newer than the auto generated
363      C file. To rebuild all the error codes from scratch (the old behaviour)
364      either modify crypto/Makefile.ssl to pass the -regen flag to err_code.pl
365      or delete all the .err files.
366      [Steve Henson]
367
368   *) CAST-128 was incorrectly implemented for short keys. The C version has
369      been fixed, but is untested. The assembler versions are also fixed, but
370      new assembler HAS NOT BEEN GENERATED FOR WIN32 - the Makefile needs fixing
371      to regenerate it if needed.
372      [Ben Laurie, reported (with fix for C version) by Jun-ichiro itojun
373       Hagino <itojun@kame.net>]
374
375   *) File was opened incorrectly in randfile.c.
376      [Ulf Möller <ulf@fitug.de>]
377
378   *) Beginning of support for GeneralizedTime. d2i, i2d, check and print
379      functions. Also ASN1_TIME suite which is a CHOICE of UTCTime or
380      GeneralizedTime. ASN1_TIME is the proper type used in certificates et
381      al: it's just almost always a UTCTime. Note this patch adds new error
382      codes so do a "make errors" if there are problems.
383      [Steve Henson]
384
385   *) Correct Linux 1 recognition in config.
386      [Ulf Möller <ulf@fitug.de>]
387
388   *) Remove pointless MD5 hash when using DSA keys in ca.
389      [Anonymous <nobody@replay.com>]
390
391   *) Generate an error if given an empty string as a cert directory. Also
392      generate an error if handed NULL (previously returned 0 to indicate an
393      error, but didn't set one).
394      [Ben Laurie, reported by Anonymous <nobody@replay.com>]
395
396   *) Add prototypes to SSL methods. Make SSL_write's buffer const, at last.
397      [Ben Laurie]
398
399   *) Fix the dummy function BN_ref_mod_exp() in rsaref.c to have the correct
400      parameters. This was causing a warning which killed off the Win32 compile.
401      [Steve Henson]
402
403   *) Remove C++ style comments from crypto/bn/bn_local.h.
404      [Neil Costigan <neil.costigan@celocom.com>]
405
406   *) The function OBJ_txt2nid was broken. It was supposed to return a nid
407      based on a text string, looking up short and long names and finally
408      "dot" format. The "dot" format stuff didn't work. Added new function
409      OBJ_txt2obj to do the same but return an ASN1_OBJECT and rewrote 
410      OBJ_txt2nid to use it. OBJ_txt2obj can also return objects even if the
411      OID is not part of the table.
412      [Steve Henson]
413
414   *) Add prototypes to X509 lookup/verify methods, fixing a bug in
415      X509_LOOKUP_by_alias().
416      [Ben Laurie]
417
418   *) Sort openssl functions by name.
419      [Ben Laurie]
420
421   *) Get the gendsa program working (hopefully) and add it to app list. Remove
422      encryption from sample DSA keys (in case anyone is interested the password
423      was "1234").
424      [Steve Henson]
425
426   *) Make _all_ *_free functions accept a NULL pointer.
427      [Frans Heymans <fheymans@isaserver.be>]
428
429   *) If a DH key is generated in s3_srvr.c, don't blow it by trying to use
430      NULL pointers.
431      [Anonymous <nobody@replay.com>]
432
433   *) s_server should send the CAfile as acceptable CAs, not its own cert.
434      [Bodo Moeller <3moeller@informatik.uni-hamburg.de>]
435
436   *) Don't blow it for numeric -newkey arguments to apps/req.
437      [Bodo Moeller <3moeller@informatik.uni-hamburg.de>]
438
439   *) Temp key "for export" tests were wrong in s3_srvr.c.
440      [Anonymous <nobody@replay.com>]
441
442   *) Add prototype for temp key callback functions
443      SSL_CTX_set_tmp_{rsa,dh}_callback().
444      [Ben Laurie]
445
446   *) Make DH_free() tolerate being passed a NULL pointer (like RSA_free() and
447      DSA_free()). Make X509_PUBKEY_set() check for errors in d2i_PublicKey().
448      [Steve Henson]
449
450   *) X509_name_add_entry() freed the wrong thing after an error.
451      [Arne Ansper <arne@ats.cyber.ee>]
452
453   *) rsa_eay.c would attempt to free a NULL context.
454      [Arne Ansper <arne@ats.cyber.ee>]
455
456   *) BIO_s_socket() had a broken should_retry() on Windoze.
457      [Arne Ansper <arne@ats.cyber.ee>]
458
459   *) BIO_f_buffer() didn't pass on BIO_CTRL_FLUSH.
460      [Arne Ansper <arne@ats.cyber.ee>]
461
462   *) Make sure the already existing X509_STORE->depth variable is initialized
463      in X509_STORE_new(), but document the fact that this variable is still
464      unused in the certificate verification process.
465      [Ralf S. Engelschall]
466
467   *) Fix the various library and apps files to free up pkeys obtained from
468      X509_PUBKEY_get() et al. Also allow x509.c to handle netscape extensions.
469      [Steve Henson]
470
471   *) Fix reference counting in X509_PUBKEY_get(). This makes
472      demos/maurice/example2.c work, amongst others, probably.
473      [Steve Henson and Ben Laurie]
474
475   *) First cut of a cleanup for apps/. First the `ssleay' program is now named
476      `openssl' and second, the shortcut symlinks for the `openssl <command>'
477      are no longer created. This way we have a single and consistent command
478      line interface `openssl <command>', similar to `cvs <command>'.
479      [Ralf S. Engelschall, Paul Sutton and Ben Laurie]
480
481   *) ca.c: move test for DSA keys inside #ifndef NO_DSA. Make pubkey
482      BIT STRING wrapper always have zero unused bits.
483      [Steve Henson]
484
485   *) Add CA.pl, perl version of CA.sh, add extended key usage OID.
486      [Steve Henson]
487
488   *) Make the top-level INSTALL documentation easier to understand.
489      [Paul Sutton]
490
491   *) Makefiles updated to exit if an error occurs in a sub-directory
492      make (including if user presses ^C) [Paul Sutton]
493
494   *) Make Montgomery context stuff explicit in RSA data structure.
495      [Ben Laurie]
496
497   *) Fix build order of pem and err to allow for generated pem.h.
498      [Ben Laurie]
499
500   *) Fix renumbering bug in X509_NAME_delete_entry().
501      [Ben Laurie]
502
503   *) Enhanced the err-ins.pl script so it makes the error library number 
504      global and can add a library name. This is needed for external ASN1 and
505      other error libraries.
506      [Steve Henson]
507
508   *) Fixed sk_insert which never worked properly.
509      [Steve Henson]
510
511   *) Fix ASN1 macros so they can handle indefinite length construted 
512      EXPLICIT tags. Some non standard certificates use these: they can now
513      be read in.
514      [Steve Henson]
515
516   *) Merged the various old/obsolete SSLeay documentation files (doc/xxx.doc)
517      into a single doc/ssleay.txt bundle. This way the information is still
518      preserved but no longer messes up this directory. Now it's new room for
519      the new set of documenation files.
520      [Ralf S. Engelschall]
521
522   *) SETs were incorrectly DER encoded. This was a major pain, because they
523      shared code with SEQUENCEs, which aren't coded the same. This means that
524      almost everything to do with SETs or SEQUENCEs has either changed name or
525      number of arguments.
526      [Ben Laurie, based on a partial fix by GP Jayan <gp@nsj.co.jp>]
527
528   *) Fix test data to work with the above.
529      [Ben Laurie]
530
531   *) Fix the RSA header declarations that hid a bug I fixed in 0.9.0b but
532      was already fixed by Eric for 0.9.1 it seems.
533      [Ben Laurie - pointed out by Ulf Möller <ulf@fitug.de>]
534
535   *) Autodetect FreeBSD3.
536      [Ben Laurie]
537
538   *) Fix various bugs in Configure. This affects the following platforms:
539      nextstep
540      ncr-scde
541      unixware-2.0
542      unixware-2.0-pentium
543      sco5-cc.
544      [Ben Laurie]
545
546   *) Eliminate generated files from CVS. Reorder tests to regenerate files
547      before they are needed.
548      [Ben Laurie]
549
550   *) Generate Makefile.ssl from Makefile.org (to keep CVS happy).
551      [Ben Laurie]
552
553  Changes between 0.9.1b and 0.9.1c
554
555   *) Added OPENSSL_VERSION_NUMBER to crypto/crypto.h and 
556      changed SSLeay to OpenSSL in version strings.
557      [Ralf S. Engelschall]
558   
559   *) Some fixups to the top-level documents.
560      [Paul Sutton]
561
562   *) Fixed the nasty bug where rsaref.h was not found under compile-time
563      because the symlink to include/ was missing.
564      [Ralf S. Engelschall]
565
566   *) Incorporated the popular no-RSA/DSA-only patches 
567      which allow to compile a RSA-free SSLeay.
568      [Andrew Cooke / Interrader Ldt., Ralf S. Engelschall]
569
570   *) Fixed nasty rehash problem under `make -f Makefile.ssl links'
571      when "ssleay" is still not found.
572      [Ralf S. Engelschall]
573
574   *) Added more platforms to Configure: Cray T3E, HPUX 11, 
575      [Ralf S. Engelschall, Beckmann <beckman@acl.lanl.gov>]
576
577   *) Updated the README file.
578      [Ralf S. Engelschall]
579
580   *) Added various .cvsignore files in the CVS repository subdirs
581      to make a "cvs update" really silent.
582      [Ralf S. Engelschall]
583
584   *) Recompiled the error-definition header files and added
585      missing symbols to the Win32 linker tables.
586      [Ralf S. Engelschall]
587
588   *) Cleaned up the top-level documents;
589      o new files: CHANGES and LICENSE
590      o merged VERSION, HISTORY* and README* files a CHANGES.SSLeay 
591      o merged COPYRIGHT into LICENSE
592      o removed obsolete TODO file
593      o renamed MICROSOFT to INSTALL.W32
594      [Ralf S. Engelschall]
595
596   *) Removed dummy files from the 0.9.1b source tree: 
597      crypto/asn1/x crypto/bio/cd crypto/bio/fg crypto/bio/grep crypto/bio/vi
598      crypto/bn/asm/......add.c crypto/bn/asm/a.out crypto/dsa/f crypto/md5/f
599      crypto/pem/gmon.out crypto/perlasm/f crypto/pkcs7/build crypto/rsa/f
600      crypto/sha/asm/f crypto/threads/f ms/zzz ssl/f ssl/f.mak test/f
601      util/f.mak util/pl/f util/pl/f.mak crypto/bf/bf_locl.old apps/f
602      [Ralf S. Engelschall]
603
604   *) Added various platform portability fixes.
605      [Mark J. Cox]
606
607   *) The Genesis of the OpenSSL rpject:
608      We start with the latest (unreleased) SSLeay version 0.9.1b which Eric A.
609      Young and Tim J. Hudson created while they were working for C2Net until
610      summer 1998.
611      [The OpenSSL Project]
612  
613  Changes between 0.9.0b and 0.9.1b
614
615   *) Updated a few CA certificates under certs/
616      [Eric A. Young]
617
618   *) Changed some BIGNUM api stuff.
619      [Eric A. Young]
620
621   *) Various platform ports: OpenBSD, Ultrix, IRIX 64bit, NetBSD, 
622      DGUX x86, Linux Alpha, etc.
623      [Eric A. Young]
624
625   *) New COMP library [crypto/comp/] for SSL Record Layer Compression: 
626      RLE (dummy implemented) and ZLIB (really implemented when ZLIB is
627      available).
628      [Eric A. Young]
629
630   *) Add -strparse option to asn1pars program which parses nested 
631      binary structures 
632      [Dr Stephen Henson <shenson@bigfoot.com>]
633
634   *) Added "oid_file" to ssleay.cnf for "ca" and "req" programs.
635      [Eric A. Young]
636
637   *) DSA fix for "ca" program.
638      [Eric A. Young]
639
640   *) Added "-genkey" option to "dsaparam" program.
641      [Eric A. Young]
642
643   *) Added RIPE MD160 (rmd160) message digest.
644      [Eric A. Young]
645
646   *) Added -a (all) option to "ssleay version" command.
647      [Eric A. Young]
648
649   *) Added PLATFORM define which is the id given to Configure.
650      [Eric A. Young]
651
652   *) Added MemCheck_XXXX functions to crypto/mem.c for memory checking.
653      [Eric A. Young]
654
655   *) Extended the ASN.1 parser routines.
656      [Eric A. Young]
657
658   *) Extended BIO routines to support REUSEADDR, seek, tell, etc.
659      [Eric A. Young]
660
661   *) Added a BN_CTX to the BN library.
662      [Eric A. Young]
663
664   *) Fixed the weak key values in DES library
665      [Eric A. Young]
666
667   *) Changed API in EVP library for cipher aliases.
668      [Eric A. Young]
669
670   *) Added support for RC2/64bit cipher.
671      [Eric A. Young]
672
673   *) Converted the lhash library to the crypto/mem.c functions.
674      [Eric A. Young]
675
676   *) Added more recognized ASN.1 object ids.
677      [Eric A. Young]
678
679   *) Added more RSA padding checks for SSL/TLS.
680      [Eric A. Young]
681
682   *) Added BIO proxy/filter functionality.
683      [Eric A. Young]
684
685   *) Added extra_certs to SSL_CTX which can be used
686      send extra CA certificates to the client in the CA cert chain sending
687      process. It can be configured with SSL_CTX_add_extra_chain_cert().
688      [Eric A. Young]
689
690   *) Now Fortezza is denied in the authentication phase because
691      this is key exchange mechanism is not supported by SSLeay at all.
692      [Eric A. Young]
693
694   *) Additional PKCS1 checks.
695      [Eric A. Young]
696
697   *) Support the string "TLSv1" for all TLS v1 ciphers.
698      [Eric A. Young]
699
700   *) Added function SSL_get_ex_data_X509_STORE_CTX_idx() which gives the
701      ex_data index of the SSL context in the X509_STORE_CTX ex_data.
702      [Eric A. Young]
703
704   *) Fixed a few memory leaks.
705      [Eric A. Young]
706
707   *) Fixed various code and comment typos.
708      [Eric A. Young]
709
710   *) A minor bug in ssl/s3_clnt.c where there would always be 4 0 
711      bytes sent in the client random.
712      [Edward Bishop <ebishop@spyglass.com>]
713