openssl.git
18 years agobugfix: handle HelloRequest received during handshake correctly
Bodo Möller [Fri, 21 Sep 2001 11:18:40 +0000 (11:18 +0000)]
bugfix: handle HelloRequest received during handshake correctly

18 years agoDisable session related stuff in SSL_ST_OK case of ssl3_accept if we
Bodo Möller [Fri, 21 Sep 2001 07:01:25 +0000 (07:01 +0000)]
Disable session related stuff in SSL_ST_OK case of ssl3_accept if we
just sent a HelloRequest.

18 years agoBugfix: correct cleanup after sending a HelloRequest
Bodo Möller [Fri, 21 Sep 2001 00:04:15 +0000 (00:04 +0000)]
Bugfix: correct cleanup after sending a HelloRequest

18 years agoNew function SSL_renegotiate_pending().
Bodo Möller [Thu, 20 Sep 2001 22:54:09 +0000 (22:54 +0000)]
New function SSL_renegotiate_pending().
New option SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION.

18 years agomake update
Bodo Möller [Thu, 20 Sep 2001 22:52:19 +0000 (22:52 +0000)]
make update

18 years agofix ssl3_accept: don't call ssl_init_wbio_buffer() in HelloRequest case
Bodo Möller [Thu, 20 Sep 2001 21:37:13 +0000 (21:37 +0000)]
fix ssl3_accept: don't call ssl_init_wbio_buffer() in HelloRequest case

18 years agoFix ssl/s3_enc.c, ssl/t1_enc.c and ssl/s3_pkt.c so that we don't
Bodo Möller [Thu, 20 Sep 2001 18:35:52 +0000 (18:35 +0000)]
Fix ssl/s3_enc.c, ssl/t1_enc.c and ssl/s3_pkt.c so that we don't
reveal whether illegal block cipher padding was found or a MAC
verification error occured.

In ssl/s2_pkt.c, verify that the purported number of padding bytes is in
the legal range.

18 years agocomments
Bodo Möller [Thu, 20 Sep 2001 15:41:34 +0000 (15:41 +0000)]
comments

18 years agoChange Makefile so that it works without any additional changes
Bodo Möller [Tue, 18 Sep 2001 09:15:40 +0000 (09:15 +0000)]
Change Makefile so that it works without any additional changes
at least on Solaris

18 years agoAnother demo.
Bodo Möller [Mon, 17 Sep 2001 19:07:00 +0000 (19:07 +0000)]
Another demo.

18 years agoSome of the ENGINE file names were changed for 8.3 filename uniqueness
Geoff Thorpe [Fri, 14 Sep 2001 18:31:57 +0000 (18:31 +0000)]
Some of the ENGINE file names were changed for 8.3 filename uniqueness
recently. So comments including file names have been fixed, and copyright
notices brought up to "2001" at the same time.

18 years agoFix a typo in the preprocessor logic in eng_list.c that had left RSA, DSA,
Geoff Thorpe [Fri, 14 Sep 2001 18:23:31 +0000 (18:23 +0000)]
Fix a typo in the preprocessor logic in eng_list.c that had left RSA, DSA,
and DH all conditional upon OPENSSL_NO_RSA.

18 years agoAdd a SHA1 test to evptests.txt - only the MD5 hash algorithm was being
Geoff Thorpe [Fri, 14 Sep 2001 18:21:36 +0000 (18:21 +0000)]
Add a SHA1 test to evptests.txt - only the MD5 hash algorithm was being
tested previously.

18 years ago'evp_test' needs to initialise and cleanup EVP_CIPHER_CTX structures. Also,
Geoff Thorpe [Fri, 14 Sep 2001 18:20:44 +0000 (18:20 +0000)]
'evp_test' needs to initialise and cleanup EVP_CIPHER_CTX structures. Also,
fix a typo and add cleanup operations. This also switches on memory leak
checking (which is how the rest was found).

18 years agoadd comment
Bodo Möller [Fri, 14 Sep 2001 13:47:25 +0000 (13:47 +0000)]
add comment

18 years agoGet rid of junk (deleted/renamed function) by rebuilding
Bodo Möller [Fri, 14 Sep 2001 09:31:07 +0000 (09:31 +0000)]
Get rid of junk (deleted/renamed function) by rebuilding
based on 0.9.6 tree.

18 years agoadd details
Bodo Möller [Fri, 14 Sep 2001 08:45:43 +0000 (08:45 +0000)]
add details

18 years agoTypo.
Lutz Jänicke [Thu, 13 Sep 2001 15:18:51 +0000 (15:18 +0000)]
Typo.

18 years agoOne more manual page.
Lutz Jänicke [Thu, 13 Sep 2001 15:05:42 +0000 (15:05 +0000)]
One more manual page.

18 years agoRework section about return values another time (based on hints from
Lutz Jänicke [Thu, 13 Sep 2001 13:21:38 +0000 (13:21 +0000)]
Rework section about return values another time (based on hints from
Bodo Moeller).

18 years agoavoid "statement not reached" warning
Bodo Möller [Thu, 13 Sep 2001 13:02:59 +0000 (13:02 +0000)]
avoid "statement not reached" warning

18 years agoUpdated dependencies from "make update"
Geoff Thorpe [Wed, 12 Sep 2001 02:43:22 +0000 (02:43 +0000)]
Updated dependencies from "make update"

18 years agoReduce the header dependencies on engine.h in apps/.
Geoff Thorpe [Wed, 12 Sep 2001 02:39:06 +0000 (02:39 +0000)]
Reduce the header dependencies on engine.h in apps/.

18 years agoENGINE uses a very opaque design, so we can predeclare the structure type
Geoff Thorpe [Wed, 12 Sep 2001 02:34:20 +0000 (02:34 +0000)]
ENGINE uses a very opaque design, so we can predeclare the structure type
in "types.h" so that very few headers will need to include engine.h,
generally only C files using API functions will need it (reducing
the header dependencies quite a lot).

18 years agoENGINE files were renamed, and error strings are now in eng_err.c
Geoff Thorpe [Wed, 12 Sep 2001 01:54:17 +0000 (01:54 +0000)]
ENGINE files were renamed, and error strings are now in eng_err.c

18 years agoAdd certificate and request demos.
Dr. Stephen Henson [Wed, 12 Sep 2001 00:19:20 +0000 (00:19 +0000)]
Add certificate and request demos.

Fix X509V3 macro so they compile.

18 years agoMake maximum certifcate chain size accepted from the peer application
Lutz Jänicke [Tue, 11 Sep 2001 13:08:51 +0000 (13:08 +0000)]
Make maximum certifcate chain size accepted from the peer application
settable (proposed by "Douglas E. Engert" <deengert@anl.gov>).

18 years agoadd 'release showstopper' entry
Bodo Möller [Tue, 11 Sep 2001 12:46:50 +0000 (12:46 +0000)]
add 'release showstopper' entry

18 years agoupdate
Bodo Möller [Tue, 11 Sep 2001 12:26:56 +0000 (12:26 +0000)]
update

18 years agoex_data situation is no longer that bad
Bodo Möller [Tue, 11 Sep 2001 12:20:20 +0000 (12:20 +0000)]
ex_data situation is no longer that bad

18 years agomake update
Geoff Thorpe [Mon, 10 Sep 2001 21:18:11 +0000 (21:18 +0000)]
make update

18 years agoPut all "common" initialisation in the apps_startup() and apps_shutdown()
Geoff Thorpe [Mon, 10 Sep 2001 21:04:14 +0000 (21:04 +0000)]
Put all "common" initialisation in the apps_startup() and apps_shutdown()
macros in apps.h.

18 years agoenginetest needs 'memset' defined.
Geoff Thorpe [Mon, 10 Sep 2001 21:02:06 +0000 (21:02 +0000)]
enginetest needs 'memset' defined.

18 years agomissed one file
Ulf Möller [Mon, 10 Sep 2001 20:16:31 +0000 (20:16 +0000)]
missed one file

18 years agoWhile ispell may not like it, "cancelling" may be spelt with two "l"s
Bodo Möller [Mon, 10 Sep 2001 18:59:53 +0000 (18:59 +0000)]
While ispell may not like it, "cancelling" may be spelt with two "l"s

18 years agofix memory leak (I think)
Bodo Möller [Mon, 10 Sep 2001 18:50:09 +0000 (18:50 +0000)]
fix memory leak (I think)

18 years agoremove an old comment
Bodo Möller [Mon, 10 Sep 2001 18:49:25 +0000 (18:49 +0000)]
remove an old comment

18 years agorestore previous revision -- memory leak should be fixed in mem.c
Bodo Möller [Mon, 10 Sep 2001 18:47:33 +0000 (18:47 +0000)]
restore previous revision -- memory leak should be fixed in mem.c

18 years agofix memory leak
Bodo Möller [Mon, 10 Sep 2001 18:13:16 +0000 (18:13 +0000)]
fix memory leak

18 years agoavoid warning ('const' discarded)
Bodo Möller [Mon, 10 Sep 2001 17:46:54 +0000 (17:46 +0000)]
avoid warning ('const' discarded)

18 years agoexclude disabled message digests
Bodo Möller [Mon, 10 Sep 2001 17:18:56 +0000 (17:18 +0000)]
exclude disabled message digests

18 years agoadd AES ciphers
Bodo Möller [Mon, 10 Sep 2001 17:12:31 +0000 (17:12 +0000)]
add AES ciphers

18 years agoUpdate so that progs.h can indeed be automatically generated
Bodo Möller [Mon, 10 Sep 2001 17:00:28 +0000 (17:00 +0000)]
Update so that progs.h can indeed be automatically generated

    (Working file: progs.h
     revision 1.24

     date: 2001/02/19 16:06:03;  author: levitte;  state: Exp;  lines: +59 -59
     Make all configuration macros available for application by making
     sure they are available in opensslconf.h, by giving them names starting
     with "OPENSSL_" to avoid conflicts with other packages and by making
     sure e_os2.h will cover all platform-specific cases together with
     opensslconf.h.

     [...])

18 years agotypo
Bodo Möller [Mon, 10 Sep 2001 16:57:06 +0000 (16:57 +0000)]
typo

18 years agoGet rid of hazardous EVP_DigestInit_dbg/EVP_DigestInit case
Bodo Möller [Mon, 10 Sep 2001 15:00:30 +0000 (15:00 +0000)]
Get rid of hazardous EVP_DigestInit_dbg/EVP_DigestInit case
distinction (which does not work well because if CRYPTO_MDEBUG is
defined at library compile time, it is not necessarily defined at
application compile time; and memory debugging now can be reconfigured
at run-time anyway).  To get the intended semantics, we could just use
the EVP_DigestInit_dbg unconditionally (which uses the caller's
__FILE__ and __LINE__ for memory leak debugging), but this would make
memory debugging inconsistent.  Instead, callers can use
CRYPTO_push_info() to track down memory leaks.

18 years agoGet rid of hazardous EVP_DigestInit_dbg/EVP_DigestInit case
Bodo Möller [Mon, 10 Sep 2001 14:59:17 +0000 (14:59 +0000)]
Get rid of hazardous EVP_DigestInit_dbg/EVP_DigestInit case
distinction (which does not work well because if CRYPTO_MDEBUG is
defined at library compile time, it is not necessarily defined at
application compile time; and memory debugging now can be reconfigured
at run-time anyway).  To get the intended semantics, we could just use
the EVP_DigestInit_dbg unconditionally (which uses the caller's
__FILE__ and __LINE__ for memory leak debugging), but this would make
memory debugging inconsistent.  Instead, callers can use
CRYPTO_push_info() to track down memory leaks.

Also fix indentation, and add OpenSSL copyright.

18 years agocopyright
Bodo Möller [Mon, 10 Sep 2001 14:51:19 +0000 (14:51 +0000)]
copyright

18 years agoDelete pointless casts
Bodo Möller [Mon, 10 Sep 2001 14:10:10 +0000 (14:10 +0000)]
Delete pointless casts

18 years agoFix apps/openssl.c and ssl/ssltest.c so that they use
Bodo Möller [Mon, 10 Sep 2001 09:50:30 +0000 (09:50 +0000)]
Fix apps/openssl.c and ssl/ssltest.c so that they use
CRYPTO_set_mem_debug_options() instead of CRYPTO_dbg_set_options(),
which is the default implementation of the former and should usually
not be directly used by applications (at least if we assume that the
options accepted by the default implementation will also be meaningful
to any other implementations).

Also fix apps/openssl.c and ssl/ssltest such that environment variable
setting 'OPENSSL_DEBUG_MEMORY=off' actively disables the compiled-in
library defaults (i.e. such that CRYPTO_MDEBUG is ignored in this
case).

18 years agoReplace old (and invalid) copyright notice.
Dr. Stephen Henson [Sat, 8 Sep 2001 12:15:09 +0000 (12:15 +0000)]
Replace old (and invalid) copyright notice.

18 years agoThe various hash #includes in rand_lcl.h *are* needed despite
Bodo Möller [Fri, 7 Sep 2001 23:55:15 +0000 (23:55 +0000)]
The various hash #includes in rand_lcl.h *are* needed despite
<openssl/evp.h> is now used (MD_DIGEST_LENGTH definitions!).
No need to include such headers directly in md_rand.c.

18 years agoRecognize OpenUNIX-8 with compiler
Lutz Jänicke [Fri, 7 Sep 2001 12:13:10 +0000 (12:13 +0000)]
Recognize OpenUNIX-8 with compiler

18 years agoAdd a cleanup function for MDs.
Ben Laurie [Fri, 7 Sep 2001 12:03:24 +0000 (12:03 +0000)]
Add a cleanup function for MDs.

18 years agoLook up MD5 by name.
Ben Laurie [Fri, 7 Sep 2001 11:45:42 +0000 (11:45 +0000)]
Look up MD5 by name.

18 years agoRemove duplication.
Ben Laurie [Fri, 7 Sep 2001 11:44:59 +0000 (11:44 +0000)]
Remove duplication.

18 years agoNow need sha.h for some reason.
Ben Laurie [Fri, 7 Sep 2001 11:44:17 +0000 (11:44 +0000)]
Now need sha.h for some reason.

18 years agoRedo type-safety fix.
Ben Laurie [Fri, 7 Sep 2001 11:43:30 +0000 (11:43 +0000)]
Redo type-safety fix.

18 years agoispell
Ulf Möller [Fri, 7 Sep 2001 06:39:38 +0000 (06:39 +0000)]
ispell

18 years agoispell
Ulf Möller [Fri, 7 Sep 2001 06:13:40 +0000 (06:13 +0000)]
ispell

18 years agomake engine file names unique in 8.3
Ulf Möller [Fri, 7 Sep 2001 04:14:48 +0000 (04:14 +0000)]
make engine file names unique in 8.3

18 years agoCompletely reworked SVR5 shared library support.
Lutz Jänicke [Thu, 6 Sep 2001 19:25:56 +0000 (19:25 +0000)]
Completely reworked SVR5 shared library support.

18 years agounused function
Ulf Möller [Thu, 6 Sep 2001 17:02:33 +0000 (17:02 +0000)]
unused function

18 years agoinclude the proper header file
Ulf Möller [Thu, 6 Sep 2001 16:25:34 +0000 (16:25 +0000)]
include the proper header file

18 years agodouble definition
Ulf Möller [Thu, 6 Sep 2001 16:24:29 +0000 (16:24 +0000)]
double definition

18 years agoEven more corrections for OpenUNIX 8
Lutz Jänicke [Thu, 6 Sep 2001 14:28:35 +0000 (14:28 +0000)]
Even more corrections for OpenUNIX 8

18 years agoAvoid strdup.
Bodo Möller [Thu, 6 Sep 2001 13:09:00 +0000 (13:09 +0000)]
Avoid strdup.

(Some platforms need _XOPEN_SOURCE and _XOPEN_SOURCE_EXTENDED to get
the declaration, but on other platforms _XOPEN_SOURCE disables
the strdup declaration in <string.h>.)

18 years agoSort out mess of colons...
Lutz Jänicke [Thu, 6 Sep 2001 12:48:16 +0000 (12:48 +0000)]
Sort out mess of colons...

18 years agoSupport for shared libraries on Unixware-7 and OpenUNIX-8
Lutz Jänicke [Thu, 6 Sep 2001 12:39:00 +0000 (12:39 +0000)]
Support for shared libraries on Unixware-7 and OpenUNIX-8
(Boyd Lynn Gerber <gerberb@zenez.com>).

18 years agoTotally get rid of CRYPTO_LOCK_ERR_HASH.
Bodo Möller [Thu, 6 Sep 2001 12:37:36 +0000 (12:37 +0000)]
Totally get rid of CRYPTO_LOCK_ERR_HASH.

In err.c, flags int_error_hash_set and int_thread_hash_set
appear superfluous since we can just as well initialize
int_error_hash and int_thread_hash to NULL.

Change some of the err.c formatting to conform with the rest of
OpenSSL.

18 years agoBuild shared libaries for Unixware-7 and OpenUNIX-8 in old (pre 0.9.7)
Lutz Jänicke [Thu, 6 Sep 2001 12:28:05 +0000 (12:28 +0000)]
Build shared libaries for Unixware-7 and OpenUNIX-8 in old (pre 0.9.7)
style (Boyd Lynn Gerber <gerberb@zenez.com>).

18 years agoimprove OAEP check
Bodo Möller [Thu, 6 Sep 2001 10:42:56 +0000 (10:42 +0000)]
improve OAEP check

18 years agofix formatting so that the file can be view with any tab-width
Bodo Möller [Thu, 6 Sep 2001 09:30:16 +0000 (09:30 +0000)]
fix formatting so that the file can be view with any tab-width

18 years agoMention DSO_up => DSO_up_ref renaming
Bodo Möller [Wed, 5 Sep 2001 21:39:39 +0000 (21:39 +0000)]
Mention DSO_up => DSO_up_ref renaming

18 years agoRenaming DH_up to DH_up_ref does not warrant a CHANGES entry of its own
Bodo Möller [Wed, 5 Sep 2001 19:14:53 +0000 (19:14 +0000)]
Renaming DH_up to DH_up_ref does not warrant a CHANGES entry of its own
as the functions were only introduced a couple of days ago.

Some '*)' apparently should be '+)' as the changes do not apply
to the 0.9.6 bugfix branch.

18 years agoENGINEs can now perform structural cleanup.
Geoff Thorpe [Wed, 5 Sep 2001 19:07:01 +0000 (19:07 +0000)]
ENGINEs can now perform structural cleanup.

18 years agoThis adds "destroy" handlers to the existing ENGINEs that load their own
Geoff Thorpe [Wed, 5 Sep 2001 19:00:33 +0000 (19:00 +0000)]
This adds "destroy" handlers to the existing ENGINEs that load their own
error strings - the destroy handler functions unload the error strings so
any pending error state referring to them will not attempt to reference
them after the ENGINE has been destroyed.

18 years agoENGINE's init() and finish() handler functions are used when the ENGINE is
Geoff Thorpe [Wed, 5 Sep 2001 18:32:23 +0000 (18:32 +0000)]
ENGINE's init() and finish() handler functions are used when the ENGINE is
being enabled or disabled (respectively) for operation. Additionally, each
ENGINE has a constructor function where it can do more 'structural' level
intialisations such as loading error strings, creating "ex_data" indices,
etc. This change introduces a handler function that gives an ENGINE a
corresponding opportunity to cleanup when the ENGINE is being destroyed. It
also adds the "get/set" API functions that control this "destroy" handler
function in an ENGINE.

18 years agoAdd some missing CHANGES items.
Geoff Thorpe [Wed, 5 Sep 2001 17:50:24 +0000 (17:50 +0000)]
Add some missing CHANGES items.

18 years agoOops^2: It was the correct line, but an incorrect change.
Bodo Möller [Wed, 5 Sep 2001 17:28:50 +0000 (17:28 +0000)]
Oops^2: It was the correct line, but an incorrect change.

18 years agoOops, wrong line
Bodo Möller [Wed, 5 Sep 2001 17:22:40 +0000 (17:22 +0000)]
Oops, wrong line

18 years ago-mcpu=i486 vs. -m486 ...
Bodo Möller [Wed, 5 Sep 2001 17:18:14 +0000 (17:18 +0000)]
-mcpu=i486 vs. -m486 ...

18 years agoChange DH_up() -> DH_up_ref()
Geoff Thorpe [Wed, 5 Sep 2001 17:02:35 +0000 (17:02 +0000)]
Change DH_up() -> DH_up_ref()

18 years ago"DH_up" had been changed to "DH_up_ref" in libeay.num but the function
Geoff Thorpe [Wed, 5 Sep 2001 16:54:32 +0000 (16:54 +0000)]
"DH_up" had been changed to "DH_up_ref" in libeay.num but the function
declaration and implementation had not. So a recent update recreated the
original definition in libeay.num ... this corrects it and changes the "dh"
code to the "up_ref" variant.

18 years agoSolaris <string.h> does not declare 'strdup' if _XOPEN_SOURCE is
Bodo Möller [Wed, 5 Sep 2001 14:40:05 +0000 (14:40 +0000)]
Solaris <string.h> does not declare 'strdup' if _XOPEN_SOURCE is
defined.

(Preprocessor symbols such as _POSIX_C_SOURCE or _XOPEN_SOURCE are
supposed to disable anything not allowed by the respective
specification; I'm not sure why 'strdup' would be considered
an outlaw though.)

18 years agobug fix: bn_sqr_recursive output is twice its input size.
Ulf Möller [Wed, 5 Sep 2001 04:43:43 +0000 (04:43 +0000)]
bug fix: bn_sqr_recursive output is twice its input size.

18 years agoEric Hanchrow points out that Cygwin perl works.
Ulf Möller [Wed, 5 Sep 2001 02:27:07 +0000 (02:27 +0000)]
Eric Hanchrow points out that Cygwin perl works.

18 years agoUse GCC 2.95/3.0 optimization
Ulf Möller [Wed, 5 Sep 2001 02:18:40 +0000 (02:18 +0000)]
Use GCC 2.95/3.0 optimization

18 years agoUpdate the ENGINE README, and stock it up with extra verbeage for good
Geoff Thorpe [Tue, 4 Sep 2001 23:18:36 +0000 (23:18 +0000)]
Update the ENGINE README, and stock it up with extra verbeage for good
measure (including info and instructions on "dynamic" ENGINEs).

18 years agostrsep implementation to allow the file to compile on non-BSD systems
Ulf Möller [Tue, 4 Sep 2001 22:19:06 +0000 (22:19 +0000)]
strsep implementation to allow the file to compile on non-BSD systems

Submitted by: "Brian Havard" <brianh@kheldar.apana.org.au>

18 years agoMake the 'dynamic' ENGINE bundle up the loading application/library's
Geoff Thorpe [Tue, 4 Sep 2001 21:25:17 +0000 (21:25 +0000)]
Make the 'dynamic' ENGINE bundle up the loading application/library's
locking callbacks to pass to the loaded library (in addition to the
existing mem, ex_data, and err callbacks). Also change the default
implementation of the "bind_engine" function to apply those callbacks, ie.
the IMPLEMENT_DYNAMIC_BIND_FN macro.

18 years agoAdd a "_up" -> "_up_ref" change to libeay.num that was missing from the
Geoff Thorpe [Tue, 4 Sep 2001 20:40:41 +0000 (20:40 +0000)]
Add a "_up" -> "_up_ref" change to libeay.num that was missing from the
recent changes. Also, do the same change to the DSO_up() function.

18 years agotypo
Bodo Möller [Tue, 4 Sep 2001 11:57:17 +0000 (11:57 +0000)]
typo

18 years agoNow that we have ERR_unload_strings(), ERR_load_ERR_strings() must
Bodo Möller [Tue, 4 Sep 2001 11:49:14 +0000 (11:49 +0000)]
Now that we have ERR_unload_strings(), ERR_load_ERR_strings() must
always load its strings because they might have been unloaded
since the 'init' flag was deleted.

But build_SYS_str_reasons() can use an 'init' flag.

18 years agochanging something requires a write lock, not a read lock
Bodo Möller [Tue, 4 Sep 2001 11:15:55 +0000 (11:15 +0000)]
changing something requires a write lock, not a read lock

18 years agoCHANGES should list all API changes relevant for applications
Bodo Möller [Tue, 4 Sep 2001 11:13:01 +0000 (11:13 +0000)]
CHANGES should list all API changes relevant for applications
(here: X509_STORE_CTX_init())

18 years agoOpenSSL copyright notices ...
Bodo Möller [Tue, 4 Sep 2001 11:02:23 +0000 (11:02 +0000)]
OpenSSL copyright notices ...

18 years agodelete redundant ERR_load_CRYPTO_strings() prototype
Bodo Möller [Tue, 4 Sep 2001 10:45:01 +0000 (10:45 +0000)]
delete redundant ERR_load_CRYPTO_strings() prototype

18 years agoThis changes the existing hardware ENGINE implementations to dynamically
Geoff Thorpe [Mon, 3 Sep 2001 21:33:00 +0000 (21:33 +0000)]
This changes the existing hardware ENGINE implementations to dynamically
declare their own error strings so that they can be more easily compiled as
external shared-libraries if desired. Also, each implementation has been
given canonical "dynamic" support at the base of each file and is only
built if the ENGINE_DYNAMIC_SUPPORT symbol is defined.

Also, use "void" prototypes rather than empty prototypes in engine_int.h.

This does not yet;
  (i) remove error strings when unloading,
 (ii) remove the redundant ENGINE_R_*** codes (though ENGINE_F_*** codes
      have gone), or
(iii) provide any instructions on how to build shared-library ENGINEs or
      use them.

All are on their way.

18 years agoThis change adds a new ENGINE called "dynamic" that allows new ENGINE
Geoff Thorpe [Mon, 3 Sep 2001 19:15:29 +0000 (19:15 +0000)]
This change adds a new ENGINE called "dynamic" that allows new ENGINE
implementations to be loaded from self-contained shared-libraries. It also
provides (in engine.h) definitions and macros to help implement a
self-contained ENGINE. Version control is handled in a way whereby the
loader or loadee can veto the load depending on any objections it has with
each other's declared interface level. The way this is currently
implemented assumes a veto will only take place when one side notices the
other's interface level is too *old*. If the other side is newer, it should
be assumed the newer version knows better whether to veto the load or not.
Version checking (like other "dynamic" settings) can be controlled using
the "dynamic" ENGINE's control commands. Also, the semantics for the
loading allow a shared-library ENGINE implementation to handle differing
interface levels on the fly (eg. loading secondary shared-libraries
depending on the versions required).

Code will be added soon to the existing ENGINEs to illustrate how they can
be built as external libraries rather than building statically into
libcrypto.

NB: Applications wanting to support "dynamic"-loadable ENGINEs will need to
add support for ENGINE "control commands". See apps/engine.c for an example
of this, and use "apps/openssl engine -vvvv" to test or experiment.

18 years agoNote the "ERR_unload_strings" function.
Geoff Thorpe [Mon, 3 Sep 2001 18:27:22 +0000 (18:27 +0000)]
Note the "ERR_unload_strings" function.