summaryrefslogtreecommitdiffstats
path: root/crypto/provider_conf.c
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2019-07-15 11:55:33 +0200
committerRichard Levitte <levitte@openssl.org>2019-07-16 16:48:42 +0200
commitda0201814380144151293811e9cd63732e0e0c3e (patch)
treee1041eada68f76ee110372e7449b6d93dd464404 /crypto/provider_conf.c
parentfe9edc9d39c96c965efc4fde12ddf7fa8a852025 (diff)
Provider config module: allow providers to already be loaded
This allows 'default' to be configured in the config file, if needed. Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> (Merged from https://github.com/openssl/openssl/pull/9371)
Diffstat (limited to 'crypto/provider_conf.c')
-rw-r--r--crypto/provider_conf.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/crypto/provider_conf.c b/crypto/provider_conf.c
index 74162a88b3..25881d6de8 100644
--- a/crypto/provider_conf.c
+++ b/crypto/provider_conf.c
@@ -113,7 +113,9 @@ static int provider_conf_load(OPENSSL_CTX *libctx, const char *name,
activate = 1;
}
- prov = ossl_provider_new(libctx, name, NULL);
+ prov = ossl_provider_find(libctx, name);
+ if (prov == NULL)
+ prov = ossl_provider_new(libctx, name, NULL);
if (prov == NULL) {
if (soft)
ERR_clear_error();