Some more tweaks to ENGINE code.
authorGeoff Thorpe <geoff@openssl.org>
Wed, 18 Apr 2001 21:46:00 +0000 (21:46 +0000)
committerGeoff Thorpe <geoff@openssl.org>
Wed, 18 Apr 2001 21:46:00 +0000 (21:46 +0000)
commit59bc3126c5434970844b37c042852ec7aadc2a53
tree7d87ca58fdb67996c44e6a28f564e18abb4f1828
parent4d6115a5cc5c8f6756b2c7dc7809b883aaf5b07b
Some more tweaks to ENGINE code.

The existing ENGINEs (including the default 'openssl' software engine) were
static, declared inside the source file for each engine implementation. The
reason this was not going boom was that all the ENGINEs had reference
counts that never hit zero (once linked into the internal list, each would
always have at least 1 lasting structural reference).

To fix this so it will stay standing when an "unload" function is added to
match ENGINE_load_builtin_engines(), the "constructor" functions for each
ENGINE implementation have been changed to dynamically allocate and
construct their own ENGINEs using API functions. The other benefit of this
is that no ENGINE implementation has to include the internal "engine_int.h"
header file any more.
crypto/engine/Makefile.ssl
crypto/engine/engine_openssl.c
crypto/engine/hw_atalla.c
crypto/engine/hw_cswift.c
crypto/engine/hw_ncipher.c
crypto/engine/hw_nuron.c
crypto/engine/hw_ubsec.c