summaryrefslogtreecommitdiffstats
path: root/crypto/provider_core.c
diff options
context:
space:
mode:
authorPatrick Mills <patrick.mills@cerberusftp.com>2022-11-23 15:08:51 -0500
committerTomas Mraz <tomas@openssl.org>2022-12-06 18:24:06 +0100
commitd3db25f568087bc9dc89b6720f0b4213cd5585c3 (patch)
tree349de5088200bde94a4b4fd450fad4f922398f96 /crypto/provider_core.c
parentf2e4629608c3a2f5d93a91ef95abc25726eec44c (diff)
Implement OSSL_PROVIDER_get0_default_search_path, add docs and tests.
Reviewed-by: Todd Short <todd.short@me.com> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/19752)
Diffstat (limited to 'crypto/provider_core.c')
-rw-r--r--crypto/provider_core.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/crypto/provider_core.c b/crypto/provider_core.c
index c05b2f5496..4c93abb982 100644
--- a/crypto/provider_core.c
+++ b/crypto/provider_core.c
@@ -816,6 +816,19 @@ int OSSL_PROVIDER_set_default_search_path(OSSL_LIB_CTX *libctx,
return 0;
}
+const char *OSSL_PROVIDER_get0_default_search_path(OSSL_LIB_CTX *libctx)
+{
+ struct provider_store_st *store;
+ char *path = NULL;
+
+ if ((store = get_provider_store(libctx)) != NULL
+ && CRYPTO_THREAD_read_lock(store->default_path_lock)) {
+ path = store->default_path;
+ CRYPTO_THREAD_unlock(store->default_path_lock);
+ }
+ return path;
+}
+
/*
* Internal version that doesn't affect the store flags, and thereby avoid
* locking. Direct callers must remember to set the store flags when