summaryrefslogtreecommitdiffstats
path: root/crypto/provider.c
diff options
context:
space:
mode:
authorPauli <paul.dale@oracle.com>2020-09-25 10:19:19 +1000
committerPauli <ppzgs1@gmail.com>2021-02-24 21:24:36 +1000
commitb0001d0cf2539b9309712e3e04f407dcbb04352c (patch)
treefb7e81074c5d0ca84b3ae37f47bc612eb608b26e /crypto/provider.c
parent8b3facd7324b6c2f36f6414c0552da26378aae4a (diff)
provider: add an unquery function to allow providers to clean up.
Without this, a provider has no way to know that an application has finished with the array it returned earlier. A non-caching provider requires this information. Fixes #12974 Reviewed-by: Shane Lontis <shane.lontis@oracle.com> (Merged from https://github.com/openssl/openssl/pull/12974)
Diffstat (limited to 'crypto/provider.c')
-rw-r--r--crypto/provider.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/crypto/provider.c b/crypto/provider.c
index 90c31f3ac5..8eca9d3581 100644
--- a/crypto/provider.c
+++ b/crypto/provider.c
@@ -76,6 +76,13 @@ const OSSL_ALGORITHM *OSSL_PROVIDER_query_operation(const OSSL_PROVIDER *prov,
return ossl_provider_query_operation(prov, operation_id, no_cache);
}
+void OSSL_PROVIDER_unquery_operation(const OSSL_PROVIDER *prov,
+ int operation_id,
+ const OSSL_ALGORITHM *algs)
+{
+ ossl_provider_unquery_operation(prov, operation_id, algs);
+}
+
void *OSSL_PROVIDER_get0_provider_ctx(const OSSL_PROVIDER *prov)
{
return ossl_provider_prov_ctx(prov);