summaryrefslogtreecommitdiffstats
path: root/crypto/conf
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2019-03-20 16:53:19 +0100
committerRichard Levitte <levitte@openssl.org>2019-04-03 11:42:48 +0200
commitabbc2c408385326d9c9cd60b92a6c92b945c1d96 (patch)
treedff53671d8409ea59c2f0b7dbc704d6dccbf0fb9 /crypto/conf
parentac1055ef13ccb5789e2bed7b9688c8eb16dd05ce (diff)
Replumbing: add a configuration module for providers
This configuration module supports a configuration structure pretty much like the engine configuration module, i.e. something like this: openssl_conf = openssl_init [openssl_init] providers = provider_section [provider_section] # Configure the provider named "foo" foo = foo_section # Configure the provider named "bar" bar = bar_section [foo_section] # Override name given in the provider section identity = myfoo # The exact path of the module. This is platform specific module_path = /opt/openssl/modules/foo.so # Whether it should be automatically activated. Value is unimportant activate = whatever # Anything else goes as well, and becomes parameters that the # provider can get what = 1 # sub-sections will be followed as well ever = ever_section [ever_section] cookie = monster All the configurations in a provider section and its sub-sections become parameters for the provider to get, i.e. the "foo" provider will be able to get values for the following keys (with associated values shown): identity => myfoo module_path => /opt/openssl/modules/foo.so activate => whatever what => 1 ever.cookie => monster Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/8549)
Diffstat (limited to 'crypto/conf')
-rw-r--r--crypto/conf/conf_mall.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/crypto/conf/conf_mall.c b/crypto/conf/conf_mall.c
index e1d0e7aef3..28003a8fae 100644
--- a/crypto/conf/conf_mall.c
+++ b/crypto/conf/conf_mall.c
@@ -14,6 +14,7 @@
#include <openssl/x509.h>
#include <openssl/asn1.h>
#include <openssl/engine.h>
+#include "internal/provider.h"
#include "conf_lcl.h"
/* Load all OpenSSL builtin modules */
@@ -28,4 +29,5 @@ void OPENSSL_load_builtin_modules(void)
#endif
EVP_add_alg_module();
conf_add_ssl_module();
+ ossl_provider_add_conf_module();
}