provider: flush the store cache when providers are loaded/unloaded.
authorPauli <pauli@openssl.org>
Tue, 27 Apr 2021 05:17:25 +0000 (15:17 +1000)
committerPauli <pauli@openssl.org>
Fri, 7 May 2021 13:53:18 +0000 (23:53 +1000)
commit0090e50890ce7691f7d6ba4a301b17c2ce58a204
tree7287a15e7571560bca8c64660bb9ae9977fff36f
parent43d78564990a685f60e2fc0ab009735161d07434
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)
crypto/property/property.c
crypto/provider_core.c
include/internal/provider.h