aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/engine
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2011-05-15 15:56:49 +0000
committerDr. Stephen Henson <steve@openssl.org>2011-05-15 15:56:49 +0000
commitb9b0a177f853cb01ab48881383f81afb08058460 (patch)
tree4cbf7ace8f18366861bd8805ef6d03fd27d1b8f2 /crypto/engine
parent9609ea869dde4d74a610a62ccaee448b0ac8082b (diff)
downloadopenssl-b9b0a177f853cb01ab48881383f81afb08058460.tar.gz
new flag to stop ENGINE methods being registered
Diffstat (limited to 'crypto/engine')
-rw-r--r--crypto/engine/eng_fat.c3
-rw-r--r--crypto/engine/engine.h7
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