Deleted Added
full compact
CHANGES (72613) CHANGES (76866)
1
2 OpenSSL CHANGES
3 _______________
4
1
2 OpenSSL CHANGES
3 _______________
4
5 Changes between 0.9.6 and 0.9.6a [xx XXX 2001]
5 Changes between 0.9.6 and 0.9.6a [5 Apr 2001]
6
6
7 *) Fix a couple of memory leaks in PKCS7_dataDecode()
8 [Steve Henson, reported by Heyun Zheng <hzheng@atdsprint.com>]
9
10 *) Change Configure and Makefiles to provide EXE_EXT, which will contain
11 the default extension for executables, if any. Also, make the perl
12 scripts that use symlink() to test if it really exists and use "cp"
13 if it doesn't. All this made OpenSSL compilable and installable in
14 CygWin.
15 [Richard Levitte]
16
17 *) Fix for asn1_GetSequence() for indefinite length constructed data.
18 If SEQUENCE is length is indefinite just set c->slen to the total
19 amount of data available.
20 [Steve Henson, reported by shige@FreeBSD.org]
21 [This change does not apply to 0.9.7.]
22
23 *) Change bctest to avoid here-documents inside command substitution
24 (workaround for FreeBSD /bin/sh bug).
25 For compatibility with Ultrix, avoid shell functions (introduced
26 in the bctest version that searches along $PATH).
27 [Bodo Moeller]
28
29 *) Rename 'des_encrypt' to 'des_encrypt1'. This avoids the clashes
30 with des_encrypt() defined on some operating systems, like Solaris
31 and UnixWare.
32 [Richard Levitte]
33
34 *) Check the result of RSA-CRT (see D. Boneh, R. DeMillo, R. Lipton:
35 On the Importance of Eliminating Errors in Cryptographic
36 Computations, J. Cryptology 14 (2001) 2, 101-119,
37 http://theory.stanford.edu/~dabo/papers/faults.ps.gz).
38 [Ulf Moeller]
39
40 *) MIPS assembler BIGNUM division bug fix.
41 [Andy Polyakov]
42
43 *) Disabled incorrect Alpha assembler code.
44 [Richard Levitte]
45
46 *) Fix PKCS#7 decode routines so they correctly update the length
47 after reading an EOC for the EXPLICIT tag.
48 [Steve Henson]
49 [This change does not apply to 0.9.7.]
50
51 *) Fix bug in PKCS#12 key generation routines. This was triggered
52 if a 3DES key was generated with a 0 initial byte. Include
53 PKCS12_BROKEN_KEYGEN compilation option to retain the old
54 (but broken) behaviour.
55 [Steve Henson]
56
57 *) Enhance bctest to search for a working bc along $PATH and print
58 it when found.
59 [Tim Rice <tim@multitalents.net> via Richard Levitte]
60
61 *) Fix memory leaks in err.c: free err_data string if necessary;
62 don't write to the wrong index in ERR_set_error_data.
63 [Bodo Moeller]
64
65 *) Implement ssl23_peek (analogous to ssl23_read), which previously
66 did not exist.
67 [Bodo Moeller]
68
69 *) Replace rdtsc with _emit statements for VC++ version 5.
70 [Jeremy Cooper <jeremy@baymoo.org>]
71
72 *) Make it possible to reuse SSLv2 sessions.
73 [Richard Levitte]
74
75 *) In copy_email() check for >= 0 as a return value for
76 X509_NAME_get_index_by_NID() since 0 is a valid index.
77 [Steve Henson reported by Massimiliano Pala <madwolf@opensca.org>]
78
79 *) Avoid coredump with unsupported or invalid public keys by checking if
80 X509_get_pubkey() fails in PKCS7_verify(). Fix memory leak when
81 PKCS7_verify() fails with non detached data.
82 [Steve Henson]
83
84 *) Don't use getenv in library functions when run as setuid/setgid.
85 New function OPENSSL_issetugid().
86 [Ulf Moeller]
87
88 *) Avoid false positives in memory leak detection code (crypto/mem_dbg.c)
89 due to incorrect handling of multi-threading:
90
91 1. Fix timing glitch in the MemCheck_off() portion of CRYPTO_mem_ctrl().
92
93 2. Fix logical glitch in is_MemCheck_on() aka CRYPTO_is_mem_check_on().
94
95 3. Count how many times MemCheck_off() has been called so that
96 nested use can be treated correctly. This also avoids
97 inband-signalling in the previous code (which relied on the
98 assumption that thread ID 0 is impossible).
99 [Bodo Moeller]
100
101 *) Add "-rand" option also to s_client and s_server.
102 [Lutz Jaenicke]
103
104 *) Fix CPU detection on Irix 6.x.
105 [Kurt Hockenbury <khockenb@stevens-tech.edu> and
106 "Bruce W. Forsberg" <bruce.forsberg@baesystems.com>]
107
108 *) Fix X509_NAME bug which produced incorrect encoding if X509_NAME
109 was empty.
110 [Steve Henson]
111 [This change does not apply to 0.9.7.]
112
113 *) Use the cached encoding of an X509_NAME structure rather than
114 copying it. This is apparently the reason for the libsafe "errors"
115 but the code is actually correct.
116 [Steve Henson]
117
7 *) Add new function BN_rand_range(), and fix DSA_sign_setup() to prevent
8 Bleichenbacher's DSA attack.
118 *) Add new function BN_rand_range(), and fix DSA_sign_setup() to prevent
119 Bleichenbacher's DSA attack.
9 [Ulf Moeller]
120 Extend BN_[pseudo_]rand: As before, top=1 forces the highest two bits
121 to be set and top=0 forces the highest bit to be set; top=-1 is new
122 and leaves the highest bit random.
123 [Ulf Moeller, Bodo Moeller]
10
11 *) In the NCONF_...-based implementations for CONF_... queries
12 (crypto/conf/conf_lib.c), if the input LHASH is NULL, avoid using
13 a temporary CONF structure with the data component set to NULL
14 (which gives segmentation faults in lh_retrieve).
15 Instead, use NULL for the CONF pointer in CONF_get_string and
16 CONF_get_number (which may use environment variables) and directly
17 return NULL from CONF_get_section.

--- 12 unchanged lines hidden (view full) ---

30 sure BIO's that break lines after each write do not create invalid
31 headers.
32 [Richard Levitte]
33
34 *) Make the CRL encoding routines work with empty SEQUENCE OF. The
35 macros previously used would not encode an empty SEQUENCE OF
36 and break the signature.
37 [Steve Henson]
124
125 *) In the NCONF_...-based implementations for CONF_... queries
126 (crypto/conf/conf_lib.c), if the input LHASH is NULL, avoid using
127 a temporary CONF structure with the data component set to NULL
128 (which gives segmentation faults in lh_retrieve).
129 Instead, use NULL for the CONF pointer in CONF_get_string and
130 CONF_get_number (which may use environment variables) and directly
131 return NULL from CONF_get_section.

--- 12 unchanged lines hidden (view full) ---

144 sure BIO's that break lines after each write do not create invalid
145 headers.
146 [Richard Levitte]
147
148 *) Make the CRL encoding routines work with empty SEQUENCE OF. The
149 macros previously used would not encode an empty SEQUENCE OF
150 and break the signature.
151 [Steve Henson]
152 [This change does not apply to 0.9.7.]
38
39 *) Zero the premaster secret after deriving the master secret in
40 DH ciphersuites.
41 [Steve Henson]
42
43 *) Add some EVP_add_digest_alias registrations (as found in
44 OpenSSL_add_all_digests()) to SSL_library_init()
45 aka OpenSSL_add_ssl_algorithms(). This provides improved

--- 36 unchanged lines hidden (view full) ---

82 by CRYPTO_LOCK_RSA [see rsa_lib.c, s3_srvr.c, ssl_cert.c, ssl_rsa.c],
83 so they are meant to be shared between threads.)
84 [Bodo Moeller, Geoff Thorpe; original patch submitted by
85 "Reddie, Steven" <Steven.Reddie@ca.com>]
86
87 *) Fix a deadlock in CRYPTO_mem_leaks().
88 [Bodo Moeller]
89
153
154 *) Zero the premaster secret after deriving the master secret in
155 DH ciphersuites.
156 [Steve Henson]
157
158 *) Add some EVP_add_digest_alias registrations (as found in
159 OpenSSL_add_all_digests()) to SSL_library_init()
160 aka OpenSSL_add_ssl_algorithms(). This provides improved

--- 36 unchanged lines hidden (view full) ---

197 by CRYPTO_LOCK_RSA [see rsa_lib.c, s3_srvr.c, ssl_cert.c, ssl_rsa.c],
198 so they are meant to be shared between threads.)
199 [Bodo Moeller, Geoff Thorpe; original patch submitted by
200 "Reddie, Steven" <Steven.Reddie@ca.com>]
201
202 *) Fix a deadlock in CRYPTO_mem_leaks().
203 [Bodo Moeller]
204
205 *) Use better test patterns in bntest.
206 [Ulf M�ller]
207
90 *) rand_win.c fix for Borland C.
91 [Ulf M�ller]
92
93 *) BN_rshift bugfix for n == 0.
94 [Bodo Moeller]
95
208 *) rand_win.c fix for Borland C.
209 [Ulf M�ller]
210
211 *) BN_rshift bugfix for n == 0.
212 [Bodo Moeller]
213
214 *) Add a 'bctest' script that checks for some known 'bc' bugs
215 so that 'make test' does not abort just because 'bc' is broken.
216 [Bodo Moeller]
217
96 *) Store verify_result within SSL_SESSION also for client side to
97 avoid potential security hole. (Re-used sessions on the client side
98 always resulted in verify_result==X509_V_OK, not using the original
99 result of the server certificate verification.)
100 [Lutz Jaenicke]
101
102 *) Fix ssl3_pending: If the record in s->s3->rrec is not of type
103 SSL3_RT_APPLICATION_DATA, return 0.

--- 6 unchanged lines hidden (view full) ---

110 implementations of ssl2_read and ssl3_read to ssl2_read_internal
111 and ssl3_read_internal, respectively, and adding 'peek' parameters
112 to them. The new ssl[23]_{read,peek} functions are calls to
113 ssl[23]_read_internal with the 'peek' flag set appropriately.
114 A 'peek' parameter has also been added to ssl3_read_bytes, which
115 does the actual work for ssl3_read_internal.
116 [Bodo Moeller]
117
218 *) Store verify_result within SSL_SESSION also for client side to
219 avoid potential security hole. (Re-used sessions on the client side
220 always resulted in verify_result==X509_V_OK, not using the original
221 result of the server certificate verification.)
222 [Lutz Jaenicke]
223
224 *) Fix ssl3_pending: If the record in s->s3->rrec is not of type
225 SSL3_RT_APPLICATION_DATA, return 0.

--- 6 unchanged lines hidden (view full) ---

232 implementations of ssl2_read and ssl3_read to ssl2_read_internal
233 and ssl3_read_internal, respectively, and adding 'peek' parameters
234 to them. The new ssl[23]_{read,peek} functions are calls to
235 ssl[23]_read_internal with the 'peek' flag set appropriately.
236 A 'peek' parameter has also been added to ssl3_read_bytes, which
237 does the actual work for ssl3_read_internal.
238 [Bodo Moeller]
239
240 *) Initialise "ex_data" member of RSA/DSA/DH structures prior to calling
241 the method-specific "init()" handler. Also clean up ex_data after
242 calling the method-specific "finish()" handler. Previously, this was
243 happening the other way round.
244 [Geoff Thorpe]
245
118 *) Increase BN_CTX_NUM (the number of BIGNUMs in a BN_CTX) to 16.
119 The previous value, 12, was not always sufficient for BN_mod_exp().
120 [Bodo Moeller]
121
246 *) Increase BN_CTX_NUM (the number of BIGNUMs in a BN_CTX) to 16.
247 The previous value, 12, was not always sufficient for BN_mod_exp().
248 [Bodo Moeller]
249
250 *) Make sure that shared libraries get the internal name engine with
251 the full version number and not just 0. This should mark the
252 shared libraries as not backward compatible. Of course, this should
253 be changed again when we can guarantee backward binary compatibility.
254 [Richard Levitte]
255
122 *) Fix typo in get_cert_by_subject() in by_dir.c
123 [Jean-Marc Desperrier <jean-marc.desperrier@certplus.com>]
124
256 *) Fix typo in get_cert_by_subject() in by_dir.c
257 [Jean-Marc Desperrier <jean-marc.desperrier@certplus.com>]
258
259 *) Rework the system to generate shared libraries:
260
261 - Make note of the expected extension for the shared libraries and
262 if there is a need for symbolic links from for example libcrypto.so.0
263 to libcrypto.so.0.9.7. There is extended info in Configure for
264 that.
265
266 - Make as few rebuilds of the shared libraries as possible.
267
268 - Still avoid linking the OpenSSL programs with the shared libraries.
269
270 - When installing, install the shared libraries separately from the
271 static ones.
272 [Richard Levitte]
273
125 *) Fix SSL_CTX_set_read_ahead macro to actually use its argument.
126
127 Copy SSL_CTX's read_ahead flag to SSL object directly in SSL_new
128 and not in SSL_clear because the latter is also used by the
129 accept/connect functions; previously, the settings made by
130 SSL_set_read_ahead would be lost during the handshake.
131 [Bodo Moeller; problems reported by Anders Gertz <gertz@epact.se>]
132

--- 3531 unchanged lines hidden ---
274 *) Fix SSL_CTX_set_read_ahead macro to actually use its argument.
275
276 Copy SSL_CTX's read_ahead flag to SSL object directly in SSL_new
277 and not in SSL_clear because the latter is also used by the
278 accept/connect functions; previously, the settings made by
279 SSL_set_read_ahead would be lost during the handshake.
280 [Bodo Moeller; problems reported by Anders Gertz <gertz@epact.se>]
281

--- 3531 unchanged lines hidden ---