openssl/crypto
Richard Levitte dc010ca6ec 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)
2021-10-27 12:41:15 +02:00
..
aes Add missing define to enable AES-NI usage on x86 platform 2021-10-21 18:23:46 +02:00
aria
asn1 Update copyright year 2021-09-07 13:35:43 +02:00
async Update copyright year 2021-06-17 13:24:59 +01:00
bf
bio Avoid NULL+X UB in bss_mem.c 2021-10-19 12:16:11 +02:00
bn aarch64: support BTI and pointer authentication in assembly 2021-10-01 09:35:38 +02:00
buffer Update copyright year 2021-06-17 13:24:59 +01:00
camellia Update copyright year 2021-07-29 15:41:35 +01:00
cast
chacha aarch64: support BTI and pointer authentication in assembly 2021-10-01 09:35:38 +02:00
cmac Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
cmp cmp_vfy.c, encoder_lib.c: Fix potential leak of a BIO 2021-10-12 16:45:21 +02:00
cms add checks for the return values of BN_new(), sk_RSA_PRIME_INFO_new_reserve(), 2021-10-27 08:36:55 +10:00
comp Update copyright year 2021-06-17 13:24:59 +01:00
conf Fix another memory leak reported in CIFuzz 2021-10-14 14:57:00 +02:00
crmf OSSL_CRMF_{CERTTEMPLATE,CERTID}_get0_serialNumber(): Make result const for consistency 2021-06-30 10:38:23 +02:00
ct Update copyright year 2021-06-17 13:24:59 +01:00
des Update copyright year 2021-07-29 15:41:35 +01:00
dh dh_ameth: Fix dh_cmp_parameters to really compare the params 2021-09-10 12:07:01 +02:00
dsa add checks for the return values of BN_new(), sk_RSA_PRIME_INFO_new_reserve(), 2021-10-27 08:36:55 +10:00
dso Update copyright year 2021-06-17 13:24:59 +01:00
ec add checks for the return values of BN_new(), sk_RSA_PRIME_INFO_new_reserve(), 2021-10-27 08:36:55 +10:00
encode_decode CORE: Encure that cached fetches can be done per provider 2021-10-27 12:41:15 +02:00
engine Update copyright year 2021-06-17 13:24:59 +01:00
err Add invalid input length error 2021-08-26 09:33:39 +10:00
ess
evp CORE: Encure that cached fetches can be done per provider 2021-10-27 12:41:15 +02:00
ffc Set FFC_PARAM_FLAG_VALIDATE_LEGACY on params generated with FIPS 186-2 gen 2021-08-11 12:07:08 +02:00
hmac Adapt other parts of the source to the changed EVP_Q_digest() and EVP_Q_mac() 2021-06-23 23:00:36 +02:00
http OSSL_HTTP_open(): Fix memory leak on TLS connect failure via proxy 2021-07-22 10:14:47 +02:00
idea
kdf
lhash
md2
md4
md5 Update copyright year 2021-07-29 15:41:35 +01:00
mdc2
modes aarch64: support BTI and pointer authentication in assembly 2021-10-01 09:35:38 +02:00
objects Permit no/empty digest in core_obj_add_sigid 2021-10-22 16:26:46 +02:00
ocsp OCSP_sendreq_bio: Avoid doublefree of mem BIO 2021-10-25 11:43:10 +02:00
pem add checks for the return values of BN_new(), sk_RSA_PRIME_INFO_new_reserve(), 2021-10-27 08:36:55 +10:00
perlasm Update copyright year 2021-06-17 13:24:59 +01:00
pkcs7 Update copyright year 2021-06-17 13:24:59 +01:00
pkcs12 Update copyright year 2021-06-17 13:24:59 +01:00
poly1305 aarch64: support BTI and pointer authentication in assembly 2021-10-01 09:35:38 +02:00
property CORE: Encure that cached fetches can be done per provider 2021-10-27 12:41:15 +02:00
rand rand: avoid using the derivation function for the public and private DRBGs 2021-09-03 10:23:21 +10:00
rc2
rc4
rc5
ripemd
rsa add checks for the return values of BN_new(), sk_RSA_PRIME_INFO_new_reserve(), 2021-10-27 08:36:55 +10:00
seed Update copyright year 2021-06-17 13:24:59 +01:00
sha RISC-V support for the SHA256 2021-10-04 11:27:22 +02:00
siphash
sm2 sm2: fix error raise to not fail make update 2021-08-25 10:12:17 +10:00
sm3
sm4
srp add zero strenght arguments to BN and RAND RNG calls 2021-05-29 17:17:12 +10:00
stack
store CORE: Encure that cached fetches can be done per provider 2021-10-27 12:41:15 +02:00
ts ts: fix memleaks caused by TS_VERIFY_CTX_set_imprint 2021-08-26 11:06:06 +02:00
txt_db
ui Update copyright year 2021-07-29 15:41:35 +01:00
whrlpool
x509 X509_PUBKEY_dup: Do not just up-ref the EVP_PKEY 2021-10-25 14:32:43 +02:00
alphacpuid.pl
arm64cpuid.pl aarch64: support BTI and pointer authentication in assembly 2021-10-01 09:35:38 +02:00
arm_arch.h aarch64: support BTI and pointer authentication in assembly 2021-10-01 09:35:38 +02:00
armcap.c enable getauxval on android 10 2021-06-25 18:31:05 +10:00
armv4cpuid.pl
asn1_dsa.c
bsearch.c
build.info FIPS: don't include crypto/passphrase.c in libfips.a 2021-06-05 10:32:13 +02:00
c64xpluscpuid.pl
context.c
core_algorithm.c CORE: add a provider argument to ossl_method_construct() 2021-10-27 12:41:10 +02:00
core_fetch.c CORE: Encure that cached fetches can be done per provider 2021-10-27 12:41:15 +02:00
core_namemap.c Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
cpt_err.c
cpuid.c
cryptlib.c crypto: remove TODOs 2021-06-02 16:30:15 +10:00
ctype.c Use <> for #include openssl/xxx 2021-05-27 09:56:41 +10:00
cversion.c
der_writer.c
dllmain.c
ebcdic.c
ex_data.c
getenv.c
ia64cpuid.S
info.c
init.c Prevent recursive call of OPENSSL_INIT_LOAD_CONFIG 2021-08-05 09:21:00 +10:00
initthread.c
LPdir_nyi.c
LPdir_unix.c
LPdir_vms.c
LPdir_win32.c
LPdir_win.c
LPdir_wince.c
mem_clr.c
mem_sec.c
mem.c
mips_arch.h
o_dir.c
o_fopen.c
o_init.c
o_str.c
o_time.c
packet.c Update copyright year 2021-06-17 13:24:59 +01:00
param_build_set.c
param_build.c
params_dup.c
params_from_text.c
params.c params: fix range check when converting double to uint64_t. 2021-06-19 15:47:57 +10:00
pariscid.pl
passphrase.c Update copyright year 2021-07-29 15:41:35 +01:00
ppccap.c enable getauxval on android 10 2021-06-25 18:31:05 +10:00
ppccpuid.pl
provider_child.c Fix a race in ossl_provider_add_to_store() 2021-06-24 14:48:15 +01:00
provider_conf.c Add locking for the provider_conf.c 2021-08-27 09:51:00 +10:00
provider_core.c Permit no/empty digest in core_obj_add_sigid 2021-10-22 16:26:46 +02:00
provider_local.h make struct provider_info_st a full type 2021-06-24 14:48:15 +01:00
provider_predefined.c make struct provider_info_st a full type 2021-06-24 14:48:15 +01:00
provider.c Fix a race in ossl_provider_add_to_store() 2021-06-24 14:48:15 +01:00
punycode.c
README-sparse_array.md
s390x_arch.h Add default provider support for Keccak 224, 256, 384 and 512 2021-09-23 12:07:57 +10:00
s390xcap.c
s390xcpuid.pl
self_test_core.c
sparccpuid.S
sparcv9cap.c Split bignum code out of the sparcv9cap.c 2021-07-15 09:33:04 +02:00
sparse_array.c
threads_lib.c
threads_none.c
threads_pthread.c Defined out MUTEX attributes not available on NonStop SPT Threads. 2021-07-02 12:33:45 +10:00
threads_win.c Explicitly #include <synchapi.h> is unnecessary 2021-09-23 14:07:18 +02:00
trace.c Rework and make DEBUG macros consistent. 2021-05-28 10:04:31 +02:00
uid.c Openssl fails to compile on Debian with kfreebsd kernels 2021-09-02 10:02:32 +10:00
vms_rms.h
x86_64cpuid.pl
x86cpuid.pl