Submitted by: Neil Costigan <neil.costigan@celocom.com>
[openssl.git] / CHANGES
1
2  OpenSSL CHANGES
3  _______________
4
5
6  Changes between 0.9.1c and 0.9.2
7
8   *) Remove C++ style comments from crypto/bn/bn_local.h.
9      [Neil Costigan <neil.costigan@celocom.com>]
10
11   *) The function OBJ_txt2nid was broken. It was supposed to return a nid
12      based on a text string, looking up short and long names and finally
13      "dot" format. The "dot" format stuff didn't work. Added new function
14      OBJ_txt2obj to do the same but return an ASN1_OBJECT and rewrote 
15      OBJ_txt2nid to use it. OBJ_txt2obj can also return objects even if the
16      OID is not part of the table.
17      [Steve Henson]
18
19   *) Add prototypes to X509 lookup/verify methods, fixing a bug in
20      X509_LOOKUP_by_alias().
21      [Ben Laurie]
22
23   *) Sort openssl functions by name.
24      [Ben Laurie]
25
26   *) Get the gendsa program working (hopefully) and add it to app list. Remove
27      encryption from sample DSA keys (in case anyone is interested the password
28      was "1234").
29      [Steve Henson]
30
31   *) Make _all_ *_free functions accept a NULL pointer.
32      [Frans Heymans <fheymans@isaserver.be>]
33
34   *) If a DH key is generated in s3_srvr.c, don't blow it by trying to use
35      NULL pointers.
36      [Anonymous <nobody@replay.com>]
37
38   *) s_server should send the CAfile as acceptable CAs, not its own cert.
39      [Bodo Moeller <3moeller@informatik.uni-hamburg.de>]
40
41   *) Don't blow it for numeric -newkey arguments to apps/req.
42      [Bodo Moeller <3moeller@informatik.uni-hamburg.de>]
43
44   *) Temp key "for export" tests were wrong in s3_srvr.c.
45      [Anonymous <nobody@replay.com>]
46
47   *) Add prototype for temp key callback functions
48      SSL_CTX_set_tmp_{rsa,dh}_callback().
49      [Ben Laurie]
50
51   *) Make DH_free() tolerate being passed a NULL pointer (like RSA_free() and
52      DSA_free()). Make X509_PUBKEY_set() check for errors in d2i_PublicKey().
53      [Steve Henson]
54
55   *) X509_name_add_entry() freed the wrong thing after an error.
56      [Arne Ansper <arne@ats.cyber.ee>]
57
58   *) rsa_eay.c would attempt to free a NULL context.
59      [Arne Ansper <arne@ats.cyber.ee>]
60
61   *) BIO_s_socket() had a broken should_retry() on Windoze.
62      [Arne Ansper <arne@ats.cyber.ee>]
63
64   *) BIO_f_buffer() didn't pass on BIO_CTRL_FLUSH.
65      [Arne Ansper <arne@ats.cyber.ee>]
66
67   *) Make sure the already existing X509_STORE->depth variable is initialized
68      in X509_STORE_new(), but document the fact that this variable is still
69      unused in the certificate verification process.
70      [Ralf S. Engelschall]
71
72   *) Fix the various library and apps files to free up pkeys obtained from
73      X509_PUBKEY_get() et al. Also allow x509.c to handle netscape extensions.
74      [Steve Henson]
75
76   *) Fix reference counting in X509_PUBKEY_get(). This makes
77      demos/maurice/example2.c work, amongst others, probably.
78      [Steve Henson and Ben Laurie]
79
80   *) First cut of a cleanup for apps/. First the `ssleay' program is now named
81      `openssl' and second, the shortcut symlinks for the `openssl <command>'
82      are no longer created. This way we have a single and consistent command
83      line interface `openssl <command>', similar to `cvs <command>'.
84      [Ralf S. Engelschall, Paul Sutton and Ben Laurie]
85
86   *) ca.c: move test for DSA keys inside #ifndef NO_DSA. Make pubkey
87      BIT STRING wrapper always have zero unused bits.
88      [Steve Henson]
89
90   *) Add CA.pl, perl version of CA.sh, add extended key usage OID.
91      [Steve Henson]
92
93   *) Make the top-level INSTALL documentation easier to understand.
94      [Paul Sutton]
95
96   *) Makefiles updated to exit if an error occurs in a sub-directory
97      make (including if user presses ^C) [Paul Sutton]
98
99   *) Make Montgomery context stuff explicit in RSA data structure.
100      [Ben Laurie]
101
102   *) Fix build order of pem and err to allow for generated pem.h.
103      [Ben Laurie]
104
105   *) Fix renumbering bug in X509_NAME_delete_entry().
106      [Ben Laurie]
107
108   *) Enhanced the err-ins.pl script so it makes the error library number 
109      global and can add a library name. This is needed for external ASN1 and
110      other error libraries.
111      [Steve Henson]
112
113   *) Fixed sk_insert which never worked properly.
114      [Steve Henson]
115
116   *) Fix ASN1 macros so they can handle indefinite length construted 
117      EXPLICIT tags. Some non standard certificates use these: they can now
118      be read in.
119      [Steve Henson]
120
121   *) Merged the various old/obsolete SSLeay documentation files (doc/xxx.doc)
122      into a single doc/ssleay.txt bundle. This way the information is still
123      preserved but no longer messes up this directory. Now it's new room for
124      the new set of documenation files.
125      [Ralf S. Engelschall]
126
127   *) SETs were incorrectly DER encoded. This was a major pain, because they
128      shared code with SEQUENCEs, which aren't coded the same. This means that
129      almost everything to do with SETs or SEQUENCEs has either changed name or
130      number of arguments.
131      [Ben Laurie, based on a partial fix by GP Jayan <gp@nsj.co.jp>]
132
133   *) Fix test data to work with the above.
134      [Ben Laurie]
135
136   *) Fix the RSA header declarations that hid a bug I fixed in 0.9.0b but
137      was already fixed by Eric for 0.9.1 it seems.
138      [Ben Laurie - pointed out by Ulf Möller <ulf@fitug.de>]
139
140   *) Autodetect FreeBSD3.
141      [Ben Laurie]
142
143   *) Fix various bugs in Configure. This affects the following platforms:
144      nextstep
145      ncr-scde
146      unixware-2.0
147      unixware-2.0-pentium
148      sco5-cc.
149      [Ben Laurie]
150
151   *) Eliminate generated files from CVS. Reorder tests to regenerate files
152      before they are needed.
153      [Ben Laurie]
154
155   *) Generate Makefile.ssl from Makefile.org (to keep CVS happy).
156      [Ben Laurie]
157
158  Changes between 0.9.1b and 0.9.1c
159
160   *) Added OPENSSL_VERSION_NUMBER to crypto/crypto.h and 
161      changed SSLeay to OpenSSL in version strings.
162      [Ralf S. Engelschall]
163   
164   *) Some fixups to the top-level documents.
165      [Paul Sutton]
166
167   *) Fixed the nasty bug where rsaref.h was not found under compile-time
168      because the symlink to include/ was missing.
169      [Ralf S. Engelschall]
170
171   *) Incorporated the popular no-RSA/DSA-only patches 
172      which allow to compile a RSA-free SSLeay.
173      [Andrew Cooke / Interrader Ldt., Ralf S. Engelschall]
174
175   *) Fixed nasty rehash problem under `make -f Makefile.ssl links'
176      when "ssleay" is still not found.
177      [Ralf S. Engelschall]
178
179   *) Added more platforms to Configure: Cray T3E, HPUX 11, 
180      [Ralf S. Engelschall, Beckmann <beckman@acl.lanl.gov>]
181
182   *) Updated the README file.
183      [Ralf S. Engelschall]
184
185   *) Added various .cvsignore files in the CVS repository subdirs
186      to make a "cvs update" really silent.
187      [Ralf S. Engelschall]
188
189   *) Recompiled the error-definition header files and added
190      missing symbols to the Win32 linker tables.
191      [Ralf S. Engelschall]
192
193   *) Cleaned up the top-level documents;
194      o new files: CHANGES and LICENSE
195      o merged VERSION, HISTORY* and README* files a CHANGES.SSLeay 
196      o merged COPYRIGHT into LICENSE
197      o removed obsolete TODO file
198      o renamed MICROSOFT to INSTALL.W32
199      [Ralf S. Engelschall]
200
201   *) Removed dummy files from the 0.9.1b source tree: 
202      crypto/asn1/x crypto/bio/cd crypto/bio/fg crypto/bio/grep crypto/bio/vi
203      crypto/bn/asm/......add.c crypto/bn/asm/a.out crypto/dsa/f crypto/md5/f
204      crypto/pem/gmon.out crypto/perlasm/f crypto/pkcs7/build crypto/rsa/f
205      crypto/sha/asm/f crypto/threads/f ms/zzz ssl/f ssl/f.mak test/f
206      util/f.mak util/pl/f util/pl/f.mak crypto/bf/bf_locl.old apps/f
207      [Ralf S. Engelschall]
208
209   *) Added various platform portability fixes.
210      [Mark J. Cox]
211
212   *) The Genesis of the OpenSSL rpject:
213      We start with the latest (unreleased) SSLeay version 0.9.1b which Eric A.
214      Young and Tim J. Hudson created while they were working for C2Net until
215      summer 1998.
216      [The OpenSSL Project]
217  
218  Changes between 0.9.0b and 0.9.1b
219
220   *) Updated a few CA certificates under certs/
221      [Eric A. Young]
222
223   *) Changed some BIGNUM api stuff.
224      [Eric A. Young]
225
226   *) Various platform ports: OpenBSD, Ultrix, IRIX 64bit, NetBSD, 
227      DGUX x86, Linux Alpha, etc.
228      [Eric A. Young]
229
230   *) New COMP library [crypto/comp/] for SSL Record Layer Compression: 
231      RLE (dummy implemented) and ZLIB (really implemented when ZLIB is
232      available).
233      [Eric A. Young]
234
235   *) Add -strparse option to asn1pars program which parses nested 
236      binary structures 
237      [Dr Stephen Henson <shenson@bigfoot.com>]
238
239   *) Added "oid_file" to ssleay.cnf for "ca" and "req" programs.
240      [Eric A. Young]
241
242   *) DSA fix for "ca" program.
243      [Eric A. Young]
244
245   *) Added "-genkey" option to "dsaparam" program.
246      [Eric A. Young]
247
248   *) Added RIPE MD160 (rmd160) message digest.
249      [Eric A. Young]
250
251   *) Added -a (all) option to "ssleay version" command.
252      [Eric A. Young]
253
254   *) Added PLATFORM define which is the id given to Configure.
255      [Eric A. Young]
256
257   *) Added MemCheck_XXXX functions to crypto/mem.c for memory checking.
258      [Eric A. Young]
259
260   *) Extended the ASN.1 parser routines.
261      [Eric A. Young]
262
263   *) Extended BIO routines to support REUSEADDR, seek, tell, etc.
264      [Eric A. Young]
265
266   *) Added a BN_CTX to the BN library.
267      [Eric A. Young]
268
269   *) Fixed the weak key values in DES library
270      [Eric A. Young]
271
272   *) Changed API in EVP library for cipher aliases.
273      [Eric A. Young]
274
275   *) Added support for RC2/64bit cipher.
276      [Eric A. Young]
277
278   *) Converted the lhash library to the crypto/mem.c functions.
279      [Eric A. Young]
280
281   *) Added more recognized ASN.1 object ids.
282      [Eric A. Young]
283
284   *) Added more RSA padding checks for SSL/TLS.
285      [Eric A. Young]
286
287   *) Added BIO proxy/filter functionality.
288      [Eric A. Young]
289
290   *) Added extra_certs to SSL_CTX which can be used
291      send extra CA certificates to the client in the CA cert chain sending
292      process. It can be configured with SSL_CTX_add_extra_chain_cert().
293      [Eric A. Young]
294
295   *) Now Fortezza is denied in the authentication phase because
296      this is key exchange mechanism is not supported by SSLeay at all.
297      [Eric A. Young]
298
299   *) Additional PKCS1 checks.
300      [Eric A. Young]
301
302   *) Support the string "TLSv1" for all TLS v1 ciphers.
303      [Eric A. Young]
304
305   *) Added function SSL_get_ex_data_X509_STORE_CTX_idx() which gives the
306      ex_data index of the SSL context in the X509_STORE_CTX ex_data.
307      [Eric A. Young]
308
309   *) Fixed a few memory leaks.
310      [Eric A. Young]
311
312   *) Fixed various code and comment typos.
313      [Eric A. Young]
314
315   *) A minor bug in ssl/s3_clnt.c where there would always be 4 0 
316      bytes sent in the client random.
317      [Edward Bishop <ebishop@spyglass.com>]
318