summaryrefslogtreecommitdiffstats
path: root/crypto/engine
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2011-05-15 15:58:38 +0000
committerDr. Stephen Henson <steve@openssl.org>2011-05-15 15:58:38 +0000
commit676cd3a2832a59cb12d973632202fcbfc18c8887 (patch)
tree0a5fa8833e85d44376752efab56c686d8a228108 /crypto/engine
parentc6ead3cdd387d3907f0fcbc6edd80cdf22834a61 (diff)
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 943aeae215..84db1b5017 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