]> git.ipfire.org Git - thirdparty/openssl.git/blame - CHANGES
Initialize cipher context in KRB5
[thirdparty/openssl.git] / CHANGES
CommitLineData
81a6c781 1
f1c236f8 2 OpenSSL CHANGES
651d0aff
RE
3 _______________
4
4d94ae00
BM
5 Changes between 0.9.7 and 0.9.8 [xx XXX 2002]
6
7 *) Add ECDSA in new directory crypto/ecdsa/.
8
9 Add applications 'openssl ecdsaparam' and 'openssl ecdsa'
10 (these are variants of 'openssl dsaparam' and 'openssl dsa').
11
12 ECDSA support is also included in various other files across the
13 library. Most notably,
14 - 'openssl req' now has a '-newkey ecdsa:file' option;
15 - EVP_PKCS82PKEY (crypto/evp/evp_pkey.c) now can handle ECDSA;
16 - X509_PUBKEY_get (crypto/asn1/x_pubkey.c) and
17 d2i_PublicKey (crypto/asn1/d2i_pu.c) have been modified to make
18 them suitable for ECDSA where domain parameters must be
19 extracted before the specific public key.
f8e21776 20 [Nils Larsch <nla@trustcenter.de>]
4d94ae00 21
9bc44854
BM
22 *) Include some named elliptic curves, and add OIDs from X9.62 and SECG.
23 The curves can be obtained from the new functions
4d94ae00
BM
24 EC_GROUP_new_by_nid()
25 EC_GROUP_new_by_name()
26 Also add a 'nid' field to EC_GROUP objects, which can be accessed
27 via
28 EC_GROUP_set_nid()
29 EC_GROUP_get_nid()
30 [Nils Larsch <nla@trustcenter.de, Bodo Moeller]
31
32 Changes between 0.9.6 and 0.9.7 [xx XXX 2002]
33
34 OpenSSL 0.9.6a/0.9.6b/0.9.6c/0.9.6d (bugfix releases, 5 Apr 2001,
35 9 July 2001, 21 Dec 2001 and xx XXX 2002) and OpenSSL 0.9.7 were
36 developed in parallel, based on OpenSSL 0.9.6.
e9ad0d2c 37
a9d2bc49 38 Change log entries are tagged as follows:
4d94ae00
BM
39 -) applies to 0.9.6a ... 0.9.6d only
40 *) applies to 0.9.6a ... 0.9.6d and 0.9.7
a9d2bc49
BM
41 +) applies to 0.9.7 only
42
0dc09233
DSH
43 +) Add an "init" command to the ENGINE config module and auto initialize
44 ENGINEs. Without any "init" command the ENGINE will be initialized
45 after all ctrl commands have been executed on it. If init=1 the
46 ENGINE is initailized at that point (ctrls before that point are run
47 on the uninitialized ENGINE and after on the initialized one). If
48 init=0 then the ENGINE will not be iniatialized at all.
49 [Steve Henson]
50
023ec151
BM
51 +) Fix the 'app_verify_callback' interface so that the user-defined
52 argument is actually passed to the callback: In the
53 SSL_CTX_set_cert_verify_callback() prototype, the callback
54 declaration has been changed from
55 int (*cb)()
56 into
57 int (*cb)(X509_STORE_CTX *,void *);
58 in ssl_verify_cert_chain (ssl/ssl_cert.c), the call
59 i=s->ctx->app_verify_callback(&ctx)
60 has been changed into
61 i=s->ctx->app_verify_callback(&ctx, s->ctx->app_verify_arg).
62
63 To update applications using SSL_CTX_set_cert_verify_callback(),
64 a dummy argument can be added to their callback functions.
65 [D. K. Smetters <smetters@parc.xerox.com>]
66
92d1bc09
GT
67 +) Added the '4758cca' ENGINE to support IBM 4758 cards.
68 [Maurice Gittens <maurice@gittens.nl>, touchups by Geoff Thorpe]
69
334f1842
LJ
70 *) Fix bug in SSL_clear(): bad sessions were not removed (found by
71 Yoram Zahavi <YoramZ@gilian.com>).
72 [Lutz Jaenicke]
73
e84be9b4
DSH
74 +) Add and OPENSSL_LOAD_CONF define which will cause
75 OpenSSL_add_all_algorithms() to load the openssl.cnf config file.
76 This allows older applications to transparently support certain
77 OpenSSL features: such as crypto acceleration and dynamic ENGINE loading.
78 Two new functions OPENSSL_add_all_algorithms_noconf() which will never
79 load the config file and OPENSSL_add_all_algorithms_conf() which will
80 always load it have also been added.
81 [Steve Henson]
82
0d22b5da
RL
83 +) Add the OFB, CFB and CTR (all with 128 bit feedback) to AES.
84 Adjust NIDs and EVP layer.
85 [Stephen Sprunk <stephen@sprunk.org> and Richard Levitte]
86
3647bee2
DSH
87 +) Config modules support in openssl utility.
88
89 Most commands now load modules from the config file,
90 though in a few (such as version) this isn't done
91 because it couldn't be used for anything.
92
93 In the case of ca and req the config file used is
94 the same as the utility itself: that is the -config
95 command line option can be used to specify an
96 alternative file.
97 [Steve Henson]
98
99 +) Move default behaviour from OPENSSL_config(). If appname is NULL
92f91ff4
DSH
100 use "openssl_conf" if filename is NULL use default openssl config file.
101 [Steve Henson]
102
103 +) Add an argument to OPENSSL_config() to allow the use of an alternative
104 config section name. Add a new flag to tolerate a missing config file
105 and move code to CONF_modules_load_file().
106 [Steve Henson]
107
49e04548 108 *) Add information about CygWin 1.3 and on, and preserve proper
1fe198b6
RL
109 configuration for the versions before that.
110 [Corinna Vinschen <vinschen@redhat.com> and Richard Levitte]
111
acfe628b
LJ
112 *) Make removal from session cache (SSL_CTX_remove_session()) more robust:
113 check whether we deal with a copy of a session and do not delete from
114 the cache in this case. Problem reported by "Izhar Shoshani Levi"
115 <izhar@checkpoint.com>.
116 [Lutz Jaenicke]
117
118 *) Do not store session data into the internal session cache, if it
4de920c9
LJ
119 is never intended to be looked up (SSL_SESS_CACHE_NO_INTERNAL_LOOKUP
120 flag is set). Proposed by Aslam <aslam@funk.com>.
121 [Lutz Jaenicke]
122
3cd039dd
RL
123 +) Support for crypto accelerator cards from Accelerated Encryption
124 Processing, www.aep.ie. (Use engine 'aep')
125 The support was copied from 0.9.6c [engine] and adapted/corrected
126 to work with the new engine framework.
127 [AEP Inc. and Richard Levitte]
128
129 +) Support for SureWare crypto accelerator cards from Baltimore
130 Technologies. (Use engine 'sureware')
131 The support was copied from 0.9.6c [engine] and adapted
132 to work with the new engine framework.
133 [Richard Levitte]
134
b9a3ef4c
RL
135 *) Have ASN1_BIT_STRING_set_bit() really clear a bit when the requested
136 value is 0.
137 [Richard Levitte]
138
1199e2d8
RL
139 +) Have the CHIL engine fork-safe (as defined by nCipher) and actually
140 make the newer ENGINE framework commands for the CHIL engine work.
141 [Toomas Kiisk <vix@cyber.ee> and Richard Levitte]
142
a3fffd64
RL
143 +) Make it possible to produce shared libraries on ReliantUNIX.
144 [Robert Dahlem <Robert.Dahlem@ffm2.siemens.de> via Richard Levitte]
145
f14845d9
RL
146 *) Add the configuration target linux-s390x.
147 [Neale Ferguson <Neale.Ferguson@SoftwareAG-USA.com> via Richard Levitte]
148
80bb905d
RL
149 +) Add the configuration target debug-linux-ppro.
150 Make 'openssl rsa' use the general key loading routines
151 implemented in apps.c, and make those routines able to
152 handle the key format FORMAT_NETSCAPE and the variant
153 FORMAT_IISSGC.
154 [Toomas Kiisk <vix@cyber.ee> via Richard Levitte]
155
156 *) Fix a crashbug and a logic bug in hwcrhk_load_pubkey().
157 [Toomas Kiisk <vix@cyber.ee> via Richard Levitte]
158
8242a6a9
RL
159 +) Add -keyform to rsautl, and document -engine.
160 [Richard Levitte, inspired by Toomas Kiisk <vix@cyber.ee>]
161
a14e2d9d
BM
162 +) Change BIO_new_file (crypto/bio/bss_file.c) to use new
163 BIO_R_NO_SUCH_FILE error code rather than the generic
164 ERR_R_SYS_LIB error code if fopen() fails with ENOENT.
165 [Ben Laurie]
166
167 +) Add new functions
168 ERR_peek_last_error
169 ERR_peek_last_error_line
170 ERR_peek_last_error_line_data.
171 These are similar to
172 ERR_peek_error
173 ERR_peek_error_line
174 ERR_peek_error_line_data,
175 but report on the latest error recorded rather than the first one
176 still in the error queue.
177 [Ben Laurie, Bodo Moeller]
178
df5eaa8a
DSH
179 +) default_algorithms option in ENGINE config module. This allows things
180 like:
181 default_algorithms = ALL
182 default_algorithms = RSA, DSA, RAND, CIPHERS, DIGESTS
183 [Steve Henson]
184
c9501c22
DSH
185 +) Prelminary ENGINE config module.
186 [Steve Henson]
187
8c74b5e5
BM
188 *) The earlier bugfix for the SSL3_ST_SW_HELLO_REQ_C case of
189 ssl3_accept (ssl/s3_srvr.c) incorrectly used a local flag
190 variable as an indication that a ClientHello message has been
191 received. As the flag value will be lost between multiple
192 invocations of ssl3_accept when using non-blocking I/O, the
193 function may not be aware that a handshake has actually taken
194 place, thus preventing a new session from being added to the
195 session cache.
196
197 To avoid this problem, we now set s->new_session to 2 instead of
198 using a local variable.
199 [Lutz Jaenicke, Bodo Moeller]
200
c59ba5b5
BM
201 *) Bugfix: Return -1 from ssl3_get_server_done (ssl3/s3_clnt.c)
202 if the SSL_R_LENGTH_MISMATCH error is detected.
203 [Geoff Thorpe, Bodo Moeller]
204
bc37d996
DSH
205 +) New experimental application configuration code.
206 [Steve Henson]
207
d59fb0dd
BM
208 *) New 'shared_ldflag' column in Configure platform table.
209 [Richard Levitte]
210
e5d6528a
BM
211 *) Fix EVP_CIPHER_mode macro.
212 ["Dan S. Camper" <dan@bti.net>]
213
6f9079fd
RL
214 +) Change the AES code to follow the same name structure as all other
215 symmetric ciphers, and behave the same way. Move everything to
216 the directory crypto/aes, thereby obsoleting crypto/rijndael.
217 [Stephen Sprunk <stephen@sprunk.org> and Richard Levitte]
218
dcbbf83d
UM
219 *) Fix ssl3_read_bytes (ssl/s3_pkt.c): To ignore messages of unknown
220 type, we must throw them away by setting rr->length to 0.
221 [D P Chang <dpc@qualys.com>]
222
3c89d78d
BM
223 -) OpenSSL 0.9.6c released [21 dec 2001]
224
7c517a04
BL
225 +) SECURITY: remove unsafe setjmp/signal interaction from ui_openssl.c.
226 [Ben Laurie and Theo de Raadt]
227
66df02fd
BM
228 *) Fix BN_rand_range bug pointed out by Dominikus Scherkl
229 <Dominikus.Scherkl@biodata.com>. (The previous implementation
230 worked incorrectly for those cases where range = 10..._2 and
231 3*range is two bits longer than range.)
232 [Bodo Moeller]
233
b5348a09
BM
234 *) Only add signing time to PKCS7 structures if it is not already
235 present.
f3e24bad
DSH
236 [Steve Henson]
237
35e25255
BM
238 *) Fix crypto/objects/objects.h: "ld-ce" should be "id-ce",
239 OBJ_ld_ce should be OBJ_id_ce.
240 Also some ip-pda OIDs in crypto/objects/objects.txt were
241 incorrect (cf. RFC 3039).
242 [Matt Cooper, Frederic Giudicelli, Bodo Moeller]
243
21a85f19
DSH
244 +) Add option to output public keys in req command.
245 [Massimiliano Pala madwolf@openca.org]
246
883b0c22
BM
247 *) Release CRYPTO_LOCK_DYNLOCK when CRYPTO_destroy_dynlockid()
248 returns early because it has nothing to do.
249 [Andy Schneider <andy.schneider@bjss.co.uk>]
250
251 *) [In 0.9.6c-engine and 0.9.7 release:]
252 Fix mutex callback return values in crypto/engine/hw_ncipher.c.
253 [Andy Schneider <andy.schneider@bjss.co.uk>]
254
898f856c
BM
255 -) [In 0.9.6c-engine release:]
256 Add support for Cryptographic Appliance's keyserver technology.
257 (Use engine 'keyclient')
258 [Cryptographic Appliances and Geoff Thorpe]
259
1d4581c2
BM
260 *) Add a configuration entry for OS/390 Unix. The C compiler 'c89'
261 is called via tools/c89.sh because arguments have to be
262 rearranged (all '-L' options must appear before the first object
263 modules).
264 [Richard Shapiro <rshapiro@abinitio.com>]
265
76c4336c
BM
266 +) Use wNAFs in EC_POINTs_mul() for improved efficiency
267 (up to about 10% better than before for P-192 and P-224).
3ba1f111
BM
268 [Bodo Moeller]
269
83978bd3
BM
270 -) [In 0.9.6c-engine release:]
271 Add support for Broadcom crypto accelerator cards, backported
272 from 0.9.7.
273 [Broadcom, Nalin Dahyabhai <nalin@redhat.com>, Mark Cox]
274
275 -) [In 0.9.6c-engine release:]
276 Add support for SureWare crypto accelerator cards from
277 Baltimore Technologies. (Use engine 'sureware')
278 [Baltimore Technologies and Mark Cox]
279
280 -) [In 0.9.6c-engine release:]
281 Add support for crypto accelerator cards from Accelerated
282 Encryption Processing, www.aep.ie. (Use engine 'aep')
283 [AEP Inc. and Mark Cox]
284
c5571db0
BM
285 *) Add a configuration entry for gcc on UnixWare.
286 [Gary Benson <gbenson@redhat.com>]
287
7aa983c6
BM
288 +) New functions/macros
289
290 SSL_CTX_set_msg_callback(ctx, cb)
291 SSL_CTX_set_msg_callback_arg(ctx, arg)
292 SSL_set_msg_callback(ssl, cb)
293 SSL_set_msg_callback_arg(ssl, arg)
294
295 to request calling a callback function
296
297 void cb(int write_p, int version, int content_type,
298 const void *buf, size_t len, SSL *ssl, void *arg)
299
300 whenever a protocol message has been completely received
301 (write_p == 0) or sent (write_p == 1). Here 'version' is the
302 protocol version according to which the SSL library interprets
303 the current protocol message (SSL2_VERSION, SSL3_VERSION, or
304 TLS1_VERSION). 'content_type' is 0 in the case of SSL 2.0, or
305 the content type as defined in the SSL 3.0/TLS 1.0 protocol
306 specification (change_cipher_spec(20), alert(21), handshake(22)).
307 'buf' and 'len' point to the actual message, 'ssl' to the
308 SSL object, and 'arg' is the application-defined value set by
309 SSL[_CTX]_set_msg_callback_arg().
310
311 'openssl s_client' and 'openssl s_server' have new '-msg' options
312 to enable a callback that displays all protocol messages.
313 [Bodo Moeller]
314
315 *) Change ssl/s2_clnt.c and ssl/s2_srvr.c so that received handshake
316 messages are stored in a single piece (fixed-length part and
317 variable-length part combined) and fix various bugs found on the way.
318 [Bodo Moeller]
319
a7b42009
RL
320 +) Change the shared library support so shared libraries are built as
321 soon as the corresponding static library is finished, and thereby get
322 openssl and the test programs linked against the shared library.
323 This still only happens when the keyword "shard" has been given to
324 the configuration scripts.
325
326 NOTE: shared library support is still an experimental thing, and
327 backward binary compatibility is still not guaranteed.
328 ["Maciej W. Rozycki" <macro@ds2.pg.gda.pl> and Richard Levitte]
329
7d5b04db
DSH
330 +) Add support for Subject Information Access extension.
331 [Peter Sylvester <Peter.Sylvester@EdelWeb.fr>]
332
48b0cf8b
BM
333 +) Make BUF_MEM_grow() behaviour more consistent: Initialise to zero
334 additional bytes when new memory had to be allocated, not just
335 when reusing an existing buffer.
336 [Bodo Moeller]
337
c602e7f4
BM
338 *) Disable caching in BIO_gethostbyname(), directly use gethostbyname()
339 instead. BIO_gethostbyname() does not know what timeouts are
48b0cf8b 340 appropriate, so entries would stay in cache even when they have
c602e7f4
BM
341 become invalid.
342 [Bodo Moeller; problem pointed out by Rich Salz <rsalz@zolera.com>
343
1fc6d41b
DSH
344 +) New command line and configuration option 'utf8' for the req command.
345 This allows field values to be specified as UTF8 strings.
346 [Steve Henson]
347
0e211563
BL
348 +) Add -multi and -mr options to "openssl speed" - giving multiple parallel
349 runs for the former and machine-readable output for the latter.
350 [Ben Laurie]
351
89da653f
BM
352 +) Add '-noemailDN' option to 'openssl ca'. This prevents inclusion
353 of the e-mail address in the DN (i.e., it will go into a certificate
354 extension only). The new configuration file option 'email_in_dn = no'
355 has the same effect.
356 [Massimiliano Pala madwolf@openca.org]
357
ba1c6022
BM
358 *) Change ssl23_get_client_hello (ssl/s23_srvr.c) behaviour when
359 faced with a pathologically small ClientHello fragment that does
360 not contain client_version: Instead of aborting with an error,
361 simply choose the highest available protocol version (i.e.,
362 TLS 1.0 unless it is disabled). In practice, ClientHello
363 messages are never sent like this, but this change gives us
364 strictly correct behaviour at least for TLS.
365 [Bodo Moeller]
366
c2e4f17c 367 +) Change all functions with names starting with des_ to be starting
12852213 368 with DES_ instead. Add wrappers that are compatible with libdes,
2d57b73a
RL
369 but are named _ossl_old_des_*. Finally, add macros that map the
370 des_* symbols to the corresponding _ossl_old_des_*.
12852213
RL
371
372 All this is done because there are increasing clashes with libdes
a8b94d64
BM
373 and other DES libraries that are currently used by other projects.
374 The old libdes interface (including crypt()) is provided if
375 <openssl/des_old.h> is included. For now, this automatically
a14e2d9d 376 happens in <openssl/des.h> unless OPENSSL_DISABLE_OLD_DES_SUPPORT is
a8b94d64 377 defined. Note that crypt() is no longer declared in <openssl/des.h>.
c2e4f17c
RL
378
379 NOTE: This is a major break of an old API into a new one. Software
380 authors are encouraged to switch to the DES_ style functions. Some
381 time in the future, des_old.h and the libdes compatibility functions
382 will be completely removed.
383 [Richard Levitte]
384
979689aa
BM
385 *) Fix SSL handshake functions and SSL_clear() such that SSL_clear()
386 never resets s->method to s->ctx->method when called from within
387 one of the SSL handshake functions.
388 [Bodo Moeller; problem pointed out by Niko Baric]
389
f1558bb4
DSH
390 +) Test for certificates which contain unsupported critical extensions.
391 If such a certificate is found during a verify operation it is
392 rejected by default: this behaviour can be overridden by either
393 handling the new error X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION or
394 by setting the verify flag X509_V_FLAG_IGNORE_CRITICAL. A new function
395 X509_supported_extension() has also been added which returns 1 if a
396 particular extension is supported.
397 [Steve Henson]
398
a661b653
BM
399 *) In ssl3_get_client_hello (ssl/s3_srvr.c), generate a fatal alert
400 (sent using the client's version number) if client_version is
401 smaller than the protocol version in use. Also change
402 ssl23_get_client_hello (ssl/s23_srvr.c) to select TLS 1.0 if
403 the client demanded SSL 3.0 but only TLS 1.0 is enabled; then
404 the client will at least see that alert.
405 [Bodo Moeller]
406
581f1c84
DSH
407 +) Modify the behaviour of EVP cipher functions in similar way to digests
408 to retain compatibility with existing code.
409 [Steve Henson]
410
20d2186c 411 +) Modify the behaviour of EVP_DigestInit() and EVP_DigestFinal() to retain
50d194af
DSH
412 compatibility with existing code. In particular the 'ctx' parameter does
413 not have to be to be initialized before the call to EVP_DigestInit() and
414 it is tidied up after a call to EVP_DigestFinal(). New function
415 EVP_DigestFinal_ex() which does not tidy up the ctx. Similarly function
416 EVP_MD_CTX_copy() changed to not require the destination to be
417 initialized valid and new function EVP_MD_CTX_copy_ex() added which
418 requires the destination to be valid.
419
420 Modify all the OpenSSL digest calls to use EVP_DigestInit_ex(),
421 EVP_DigestFinal_ex() and EVP_MD_CTX_copy_ex().
20d2186c
DSH
422 [Steve Henson]
423
48948d53
BM
424 +) Change ssl3_get_message (ssl/s3_both.c) and the functions using it
425 so that complete 'Handshake' protocol structures are kept in memory
426 instead of overwriting 'msg_type' and 'length' with 'body' data.
427 [Bodo Moeller]
428
429 *) Fix ssl3_get_message (ssl/s3_both.c) to handle message fragmentation
430 correctly.
431 [Bodo Moeller]
432
285046ec
RL
433 +) Add an implementation of SSL_add_dir_cert_subjects_to_stack for Win32.
434 [Massimo Santin via Richard Levitte]
435
07cee702
GT
436 +) Major restructuring to the underlying ENGINE code. This includes
437 reduction of linker bloat, separation of pure "ENGINE" manipulation
438 (initialisation, etc) from functionality dealing with implementations
439 of specific crypto iterfaces. This change also introduces integrated
440 support for symmetric ciphers and digest implementations - so ENGINEs
441 can now accelerate these by providing EVP_CIPHER and EVP_MD
442 implementations of their own. This is detailed in crypto/engine/README
443 as it couldn't be adequately described here. However, there are a few
444 API changes worth noting - some RSA, DSA, DH, and RAND functions that
445 were changed in the original introduction of ENGINE code have now
446 reverted back - the hooking from this code to ENGINE is now a good
447 deal more passive and at run-time, operations deal directly with
448 RSA_METHODs, DSA_METHODs (etc) as they did before, rather than
449 dereferencing through an ENGINE pointer any more. Also, the ENGINE
450 functions dealing with BN_MOD_EXP[_CRT] handlers have been removed -
451 they were not being used by the framework as there is no concept of a
452 BIGNUM_METHOD and they could not be generalised to the new
453 'ENGINE_TABLE' mechanism that underlies the new code. Similarly,
454 ENGINE_cpy() has been removed as it cannot be consistently defined in
455 the new code.
456 [Geoff Thorpe]
457
d46c1a81
DSH
458 +) Change ASN1_GENERALIZEDTIME_check() to allow fractional seconds.
459 [Steve Henson]
460
89eeccac
RL
461 +) Change mkdef.pl to sort symbols that get the same entry number,
462 and make sure the automatically generated functions ERR_load_*
463 become part of libeay.num as well.
464 [Richard Levitte]
465
3b0b5aba
BM
466 *) Avoid infinite loop in ssl3_get_message (ssl/s3_both.c) if a
467 client receives HelloRequest while in a handshake.
468 [Bodo Moeller; bug noticed by Andy Schneider <andy.schneider@bjss.co.uk>]
469
6b0e9fac
BM
470 +) New function SSL_renegotiate_pending(). This returns true once
471 renegotiation has been requested (either SSL_renegotiate() call
472 or HelloRequest/ClientHello receveived from the peer) and becomes
473 false once a handshake has been completed.
474 (For servers, SSL_renegotiate() followed by SSL_do_handshake()
475 sends a HelloRequest, but does not ensure that a handshake takes
476 place. SSL_renegotiate_pending() is useful for checking if the
477 client has followed the request.)
478 [Bodo Moeller]
479
480 +) New SSL option SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION.
481 By default, clients may request session resumption even during
482 renegotiation (if session ID contexts permit); with this option,
483 session resumption is possible only in the first handshake.
484 [Bodo Moeller]
485
2260ad21
BM
486 *) Bugfix in ssl3_accept (ssl/s3_srvr.c): Case SSL3_ST_SW_HELLO_REQ_C
487 should end in 'break', not 'goto end' which circuments various
b49124f6
BM
488 cleanups done in state SSL_ST_OK. But session related stuff
489 must be disabled for SSL_ST_OK in the case that we just sent a
490 HelloRequest.
2260ad21
BM
491
492 Also avoid some overhead by not calling ssl_init_wbio_buffer()
493 before just sending a HelloRequest.
b49124f6 494 [Bodo Moeller, Eric Rescorla <ekr@rtfm.com>]
8e2f6b79 495
ee60d9fb
BM
496 *) Fix ssl/s3_enc.c, ssl/t1_enc.c and ssl/s3_pkt.c so that we don't
497 reveal whether illegal block cipher padding was found or a MAC
498 verification error occured. (Neither SSLerr() codes nor alerts
499 are directly visible to potential attackers, but the information
500 may leak via logfiles.)
501
502 Similar changes are not required for the SSL 2.0 implementation
503 because the number of padding bytes is sent in clear for SSL 2.0,
504 and the extra bytes are just ignored. However ssl/s2_pkt.c
505 failed to verify that the purported number of padding bytes is in
506 the legal range.
507 [Bodo Moeller]
508
96bd6f73
DSH
509 +) Add some demos for certificate and certificate request creation.
510 [Steve Henson]
511
c0f5dd07
LJ
512 +) Make maximum certificate chain size accepted from the peer application
513 settable (SSL*_get/set_max_cert_list()), as proposed by
514 "Douglas E. Engert" <deengert@anl.gov>.
515 [Lutz Jaenicke]
516
b26ca340
BM
517 +) Add support for shared libraries for Unixware-7
518 (Boyd Lynn Gerber <gerberb@zenez.com>).
6c36f7a9
LJ
519 [Lutz Jaenicke]
520
b26ca340
BM
521 *) Add OpenUNIX-8 support including shared libraries
522 (Boyd Lynn Gerber <gerberb@zenez.com>).
c5571db0
BM
523 [Lutz Jaenicke]
524
a9ed4da8
BM
525 *) Improve RSA_padding_check_PKCS1_OAEP() check again to avoid
526 'wristwatch attack' using huge encoding parameters (cf.
527 James H. Manger's CRYPTO 2001 paper). Note that the
528 RSA_PKCS1_OAEP_PADDING case of RSA_private_decrypt() does not use
e3fefbfd 529 encoding parameters and hence was not vulnerable.
a9ed4da8
BM
530 [Bodo Moeller]
531
4450107a 532 +) Add a "destroy" handler to ENGINEs that allows structural cleanup to
908efd3b
GT
533 be done prior to destruction. Use this to unload error strings from
534 ENGINEs that load their own error strings. NB: This adds two new API
535 functions to "get" and "set" this destroy handler in an ENGINE.
a9ed4da8 536 [Geoff Thorpe]
908efd3b 537
4450107a 538 +) Alter all existing ENGINE implementations (except "openssl" and
541814c4
GT
539 "openbsd") to dynamically instantiate their own error strings. This
540 makes them more flexible to be built both as statically-linked ENGINEs
541 and self-contained shared-libraries loadable via the "dynamic" ENGINE.
542 Also, add stub code to each that makes building them as self-contained
543 shared-libraries easier (see README.ENGINE).
544 [Geoff Thorpe]
545
4450107a 546 +) Add a "dynamic" ENGINE that provides a mechanism for binding ENGINE
541814c4
GT
547 implementations into applications that are completely implemented in
548 self-contained shared-libraries. The "dynamic" ENGINE exposes control
549 commands that can be used to configure what shared-library to load and
550 to control aspects of the way it is handled. Also, made an update to
551 the README.ENGINE file that brings its information up-to-date and
552 provides some information and instructions on the "dynamic" ENGINE
553 (ie. how to use it, how to build "dynamic"-loadable ENGINEs, etc).
554 [Geoff Thorpe]
555
d98a4b73
UM
556 *) BN_sqr() bug fix.
557