diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2011-05-15 15:56:49 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2011-05-15 15:56:49 +0000 |
commit | b9b0a177f853cb01ab48881383f81afb08058460 (patch) | |
tree | 4cbf7ace8f18366861bd8805ef6d03fd27d1b8f2 /crypto/engine | |
parent | 9609ea869dde4d74a610a62ccaee448b0ac8082b (diff) | |
download | openssl-b9b0a177f853cb01ab48881383f81afb08058460.tar.gz |
new flag to stop ENGINE methods being registered
Diffstat (limited to 'crypto/engine')
-rw-r--r-- | crypto/engine/eng_fat.c | 3 | ||||
-rw-r--r-- | crypto/engine/engine.h | 7 |
2 files changed, 9 insertions, 1 deletions
diff --git a/crypto/engine/eng_fat.c b/crypto/engine/eng_fat.c index db66e62350..789b8d57e5 100644 --- a/crypto/engine/eng_fat.c +++ b/crypto/engine/eng_fat.c @@ -176,6 +176,7 @@ int ENGINE_register_all_complete(void) ENGINE *e; for(e=ENGINE_get_first() ; e ; e=ENGINE_get_next(e)) - ENGINE_register_complete(e); + if (!(e->flags & ENGINE_FLAGS_NO_REGISTER_ALL)) + ENGINE_register_complete(e); return 1; } diff --git a/crypto/engine/engine.h b/crypto/engine/engine.h index bfc453fa96..98b4921e4d 100644 --- a/crypto/engine/engine.h +++ b/crypto/engine/engine.h @@ -141,6 +141,13 @@ extern "C" { * the existing ENGINE's structural reference count. */ #define ENGINE_FLAGS_BY_ID_COPY (int)0x0004 +/* This flag if for an ENGINE that does not want its methods registered as + * part of ENGINE_register_all_complete() for example if the methods are + * not usable as default methods. + */ + +#define ENGINE_FLAGS_NO_REGISTER_ALL (int)0x0008 + /* ENGINEs can support their own command types, and these flags are used in * ENGINE_CTRL_GET_CMD_FLAGS to indicate to the caller what kind of input each * command expects. Currently only numeric and string input is supported. If a |