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