summaryrefslogtreecommitdiffstats
path: root/include/internal
diff options
context:
space:
mode:
authorPauli <pauli@openssl.org>2021-04-27 15:17:25 +1000
committerPauli <pauli@openssl.org>2021-05-07 23:53:18 +1000
commit0090e50890ce7691f7d6ba4a301b17c2ce58a204 (patch)
tree7287a15e7571560bca8c64660bb9ae9977fff36f /include/internal
parent43d78564990a685f60e2fc0ab009735161d07434 (diff)
provider: flush the store cache when providers are loaded/unloaded.
When the providers change, the method cache needs to be flushed. This also impacts the cache is full partial flushes and the algorithm flushing by ID. A new function is introduced to clear all of the operation bits in all providers in a library context. Fixes #15032 Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/15042)
Diffstat (limited to 'include/internal')
-rw-r--r--include/internal/provider.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/internal/provider.h b/include/internal/provider.h
index b755f17325..64fe2f1178 100644
--- a/include/internal/provider.h
+++ b/include/internal/provider.h
@@ -91,6 +91,7 @@ void ossl_provider_unquery_operation(const OSSL_PROVIDER *prov,
int ossl_provider_set_operation_bit(OSSL_PROVIDER *provider, size_t bitnum);
int ossl_provider_test_operation_bit(OSSL_PROVIDER *provider, size_t bitnum,
int *result);
+int ossl_provider_clear_all_operation_bits(OSSL_LIB_CTX *libctx);
/* Configuration */
void ossl_provider_add_conf_module(void);