summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2020-05-08 16:44:02 +0100
committerMatt Caswell <matt@openssl.org>2020-06-05 10:31:46 +0100
commitd01d375264e73f49a416409e2f8febe88ad39c8a (patch)
tree8ca54fb81fe6e81cceee2e4b713676a0059edfba /crypto
parent5f603a280ca71b7136861b9bc408f37fd1c4e0d7 (diff)
Implement OSSL_PROVIDER_get0_provider_ctx()
Implement a function which enables us to get hold of the provider ctx for a loaded provider. Reviewed-by: Shane Lontis <shane.lontis@oracle.com> (Merged from https://github.com/openssl/openssl/pull/11834)
Diffstat (limited to 'crypto')
-rw-r--r--crypto/provider.c4
-rw-r--r--crypto/provider_core.c8
2 files changed, 12 insertions, 0 deletions
diff --git a/crypto/provider.c b/crypto/provider.c
index 6b029ecced..02002a5f95 100644
--- a/crypto/provider.c
+++ b/crypto/provider.c
@@ -65,6 +65,10 @@ const OSSL_ALGORITHM *OSSL_PROVIDER_query_operation(const OSSL_PROVIDER *prov,
return ossl_provider_query_operation(prov, operation_id, no_cache);
}
+void *OSSL_PROVIDER_get0_provider_ctx(const OSSL_PROVIDER *prov)
+{
+ return ossl_provider_prov_ctx(prov);
+}
int OSSL_PROVIDER_add_builtin(OPENSSL_CTX *libctx, const char *name,
OSSL_provider_init_fn *init_fn)
diff --git a/crypto/provider_core.c b/crypto/provider_core.c
index 8b868fdb6b..f7af51a297 100644
--- a/crypto/provider_core.c
+++ b/crypto/provider_core.c
@@ -787,6 +787,14 @@ const char *ossl_provider_module_path(const OSSL_PROVIDER *prov)
#endif
}
+void *ossl_provider_prov_ctx(const OSSL_PROVIDER *prov)
+{
+ if (prov != NULL)
+ return prov->provctx;
+
+ return NULL;
+}
+
OPENSSL_CTX *ossl_provider_library_context(const OSSL_PROVIDER *prov)
{
/* TODO(3.0) just: return prov->libctx; */