diff options
author | Geoff Thorpe <geoff@openssl.org> | 2001-11-22 09:13:18 +0000 |
---|---|---|
committer | Geoff Thorpe <geoff@openssl.org> | 2001-11-22 09:13:18 +0000 |
commit | e4a6cf421a57cd59ad6944151fea07af51e5e0ed (patch) | |
tree | bb69ebe5d3d9de833b672360731483d7fcc3f64c /crypto/engine/eng_int.h | |
parent | 329636d6e30c15f71bbf46d7f69a6ab6c3fb4726 (diff) |
When the "dynamic" ENGINE loads another ENGINE from a shared-library, it
essentially overwrites itself with the new ENGINE, with the exception of
reference counts, ex_data structures, and other 'admin' elements. However
if the new ENGINE doesn't populate certain elements, there's the risk of
the "dynamic" ENGINE's elements showing through - the "cmd_defns" were just
one of the possibilities. This implements a more comprehensive cleanup.
Diffstat (limited to 'crypto/engine/eng_int.h')
-rw-r--r-- | crypto/engine/eng_int.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/crypto/engine/eng_int.h b/crypto/engine/eng_int.h index 7a74498930..38335f99cd 100644 --- a/crypto/engine/eng_int.h +++ b/crypto/engine/eng_int.h @@ -129,6 +129,11 @@ int engine_unlocked_init(ENGINE *e); int engine_unlocked_finish(ENGINE *e, int unlock_for_handlers); int engine_free_util(ENGINE *e, int locked); +/* This function will reset all "set"able values in an ENGINE to NULL. This + * won't touch reference counts or ex_data, but is equivalent to calling all the + * ENGINE_set_***() functions with a NULL value. */ +void engine_set_all_null(ENGINE *e); + /* NB: Bitwise OR-able values for the "flags" variable in ENGINE are now exposed * in engine.h. */ |