]> git.ipfire.org Git - thirdparty/openssl.git/commit
CORE: Encure that cached fetches can be done per provider
authorRichard Levitte <levitte@openssl.org>
Mon, 4 Oct 2021 13:33:37 +0000 (15:33 +0200)
committerRichard Levitte <levitte@openssl.org>
Wed, 27 Oct 2021 10:46:16 +0000 (12:46 +0200)
commit6e87830ebcbab6b03970da6a4f1070adb938a5ec
tree3229ee62d8ad969a623ab2d98b8c8c89508f8f30
parent29a007870ed639fb6ba7547095d53f241a3ee7fd
CORE: Encure that cached fetches can be done per provider

This mostly entails passing around a provider pointer, and handling
queries that includes a pointer to a provider, where NULL means "any".

This also means that there's a need to pass the provider pointer, not
just down to the cache functions, but also be able to get it from
ossl_method_store_fetch().  To this end, that function's OSSL_PROVIDER
pointer argument is modified to be a pointer reference, so the
function can answer back what provider the method comes from.

Test added.

Fixes #16614

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/16725)

(cherry picked from commit dc010ca6ec01d313a84c3c4b040232655a1772ad)
14 files changed:
crypto/core_fetch.c
crypto/encode_decode/decoder_meth.c
crypto/encode_decode/encoder_meth.c
crypto/evp/evp_fetch.c
crypto/evp/exchange.c
crypto/evp/kem.c
crypto/evp/signature.c
crypto/property/property.c
crypto/store/store_meth.c
doc/internal/man3/OSSL_METHOD_STORE.pod
doc/internal/man3/ossl_method_construct.pod
include/internal/core.h
include/internal/property.h
test/property_test.c