Provider config module: allow providers to already be loaded
authorRichard Levitte <levitte@openssl.org>
Mon, 15 Jul 2019 09:55:33 +0000 (11:55 +0200)
committerRichard Levitte <levitte@openssl.org>
Tue, 16 Jul 2019 14:48:42 +0000 (16:48 +0200)
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)

crypto/provider_conf.c

index 74162a88b3944f87450d3806a336023f3209d7df..25881d6de896642c3ba30f751716ab7dc3d534dc 100644 (file)
@@ -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();