From ebe3f24b3d53e503bd37a2a08a8b1f896014c30d Mon Sep 17 00:00:00 2001 From: Pauli Date: Thu, 13 Aug 2020 10:02:01 +1000 Subject: provider: disable fall-backs if OSSL_PROVIDER_load() fails. If an attempt is made to load a provider and it fails, the fall-back mechanism should be disabled to prevent the user getting some weird happening. E.g. a failure to load the FIPS provider should not allow the default to load as a fall-back. The OSSL_PROVIDER_try_load() call has been added, to allow a provider to be loaded without disabling the fall-back mechanism if it fails. Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/12625) --- include/openssl/provider.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include/openssl/provider.h') diff --git a/include/openssl/provider.h b/include/openssl/provider.h index 5470984e13..ad9d8e6569 100644 --- a/include/openssl/provider.h +++ b/include/openssl/provider.h @@ -21,6 +21,7 @@ int OSSL_PROVIDER_set_default_search_path(OPENSSL_CTX *, const char *path); /* Load and unload a provider */ OSSL_PROVIDER *OSSL_PROVIDER_load(OPENSSL_CTX *, const char *name); +OSSL_PROVIDER *OSSL_PROVIDER_try_load(OPENSSL_CTX *, const char *name); int OSSL_PROVIDER_unload(OSSL_PROVIDER *prov); int OSSL_PROVIDER_available(OPENSSL_CTX *, const char *name); int OSSL_PROVIDER_do_all(OPENSSL_CTX *ctx, -- cgit v1.2.1