openssl/crypto
Richard Levitte 8ea5a6b523 DECODER: Adapt addition of extra decoder implementations
The new PKCS#8 decoder implementation decodes from DER to DER.
OSSL_DECODER_CTX_add_extra() wasn't suited for this case; we had to
modify it to walk through all existing decoder implementations, and
filter out those that aren't suitable.
This also turns out to fix the possibility to have more than one extra
decoder implementation that produces the same type of encoding, for
example several different wrapper formats that all decoder into DER.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15498)
2021-06-09 17:00:19 +02:00
..
aes aes: rename new bsaes_ symbols -> ossl_bsaes_ ones 2021-05-27 09:35:50 +10:00
aria Update copyright year 2021-04-08 13:04:41 +01:00
asn1 Decoding PKCS#8: separate decoding of encrypted and unencrypted PKCS#8 2021-06-09 17:00:10 +02:00
async err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
bf
bio BIO_write-ex(): Improve behavior in corner cases and documentation 2021-06-08 15:17:11 +10:00
bn bn: remove TODOs 2021-06-02 16:30:15 +10:00
buffer err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
camellia
cast
chacha Properly restore XMM registers in ChaCha20's AVX-512(VL) assembly 2021-05-21 13:05:18 +02:00
cmac Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
cmp Give ASN.1 objects the ability to report their libctx/propq 2021-06-05 17:39:27 +10:00
cms Use the new ASN.1 libctx aware functions in CMS 2021-06-05 17:39:10 +10:00
comp comp: remove TODOs 2021-06-02 16:30:15 +10:00
conf Add NCONF_get_section_names() 2021-06-02 12:40:02 +10:00
crmf crmf: remove TODOs 2021-06-02 16:30:15 +10:00
ct Fix CTLOG_new_from_base64_ex() 2021-06-08 18:53:28 +01:00
des
dh Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
dsa Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
dso dso: remove TODOs 2021-06-02 16:30:15 +10:00
ec ec: remove TODOs 2021-06-02 16:30:15 +10:00
encode_decode DECODER: Adapt addition of extra decoder implementations 2021-06-09 17:00:19 +02:00
engine Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
err DECODER: use property definitions instead of getting implementation parameters 2021-06-05 20:30:11 +10:00
ess err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
evp Decoding PKCS#8: separate decoding of encrypted and unencrypted PKCS#8 2021-06-09 17:00:10 +02:00
ffc Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
hmac Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
http http: remove TODOs 2021-06-02 16:30:15 +10:00
idea Update copyright year 2021-04-08 13:04:41 +01:00
kdf
lhash Update copyright year 2021-04-08 13:04:41 +01:00
md2
md4
md5 Remove unused code from the fips module 2021-05-08 20:44:41 +10:00
mdc2
modes Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
objects err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
ocsp ocsp: remove TODOs 2021-06-02 16:30:15 +10:00
pem Decoding PKCS#8: separate decoding of encrypted and unencrypted PKCS#8 2021-06-09 17:00:10 +02:00
perlasm Add aix64-gcc-as architecture and p2align callback 2021-06-08 18:52:53 +10:00
pkcs7 Teach more of the ASN.1 code about libctx/propq 2021-06-05 17:39:10 +10:00
pkcs12 pkcs12: fix Coverity 1485667 logically dead code 2021-06-08 19:32:17 +10:00
poly1305 Drop libimplementations.a 2021-05-07 10:17:23 +02:00
property property: move additional query functions to property_query.c 2021-06-05 20:40:30 +10:00
rand Elimination of some sources not needed in the FIPS_MODULE 2021-06-07 08:37:09 +02:00
rc2 Update copyright year 2021-05-06 13:03:23 +01:00
rc4
rc5
ripemd Drop libimplementations.a 2021-05-07 10:17:23 +02:00
rsa Move libssl related defines used by fips provider to prov_ssl.h 2021-06-04 17:06:47 +02:00
seed Use <> for #include openssl/xxx 2021-05-27 09:56:41 +10:00
sha Update copyright year 2021-05-20 14:22:33 +01:00
siphash Fix a TODO(3.0) in the siphash code 2021-03-17 10:16:21 +10:00
sm2 Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
sm3 Add "origin" field to EVP_CIPHER, EVP_MD 2021-04-18 10:03:07 +02:00
sm4 Update copyright year 2021-04-08 13:04:41 +01:00
srp add zero strenght arguments to BN and RAND RNG calls 2021-05-29 17:17:12 +10:00
stack Improve the implementation of X509_STORE_CTX_get1_issuer() 2021-04-28 11:19:34 +02:00
store store: include internal header 2021-06-02 20:45:51 +10:00
ts Check the return value of ASN1_STRING_length 2021-06-03 17:09:02 +02:00
txt_db
ui err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
whrlpool A few cleanups of the provider build.infos 2021-05-12 13:23:33 +02:00
x509 Simplify error reporting in X509_PUBKEY_get0() 2021-06-08 18:53:39 +01:00
alphacpuid.pl
arm64cpuid.pl
arm_arch.h Update copyright year 2021-05-20 14:22:33 +01:00
armcap.c Initialise OPENSSL_armcap_P to 0 before setting it based on capabilities, not after 2021-05-28 10:28:29 +10:00
armv4cpuid.pl
asn1_dsa.c Update copyright year 2021-04-08 13:04:41 +01:00
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 Add the concept of a child OSSL_LIB_CTX 2021-05-11 14:56:55 +01:00
core_algorithm.c Fix pointer passed to provider_unquery_operation 2021-05-17 10:22:27 +10:00
core_fetch.c
core_namemap.c Rename all getters to use get/get0 in name 2021-06-01 12:40:00 +02:00
cpt_err.c err: rename err_load_xxx_strings_int functions 2021-05-26 13:01:47 +10:00
cpuid.c Refactor CPUID code 2021-04-02 16:39:13 +02:00
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 Add the ability for ex_data to have a priority 2021-05-11 14:56:55 +01:00
getenv.c
ia64cpuid.S
info.c
init.c OPENSSL_init_crypto must return 0 when cleanup was done 2021-06-03 17:42:21 +02:00
initthread.c Fix a memleak in the FIPS provider 2021-05-24 09:39:15 +10:00
LPdir_nyi.c
LPdir_unix.c
LPdir_vms.c
LPdir_win32.c
LPdir_win.c
LPdir_wince.c
mem_clr.c
mem_sec.c Update copyright year 2021-04-08 13:04:41 +01:00
mem.c
mips_arch.h
o_dir.c
o_fopen.c
o_init.c
o_str.c Update copyright year 2021-04-08 13:04:41 +01:00
o_time.c Update copyright year 2021-03-11 13:27:36 +00:00
packet.c Move libssl related defines used by fips provider to prov_ssl.h 2021-06-04 17:06:47 +02:00
param_build_set.c Update copyright year 2021-03-11 13:27:36 +00:00
param_build.c Replace OSSL_PARAM_BLD_free_params() with OSSL_PARAM_free(). 2021-04-12 16:55:30 +10:00
params_dup.c params_dup: fix off by one error that allows array overreach. 2021-04-21 08:57:42 +10:00
params_from_text.c params: fix coverity 1473069: unchecked return values 2021-03-26 08:46:02 +10:00
params.c Fix potential NULL dereference in OSSL_PARAM_get_utf8_string() 2021-04-22 16:46:20 +02:00
pariscid.pl
passphrase.c
ppc_arch.h
ppccap.c ppc: fix ambiguous if if else statement 2021-06-01 15:04:05 +10:00
ppccpuid.pl
provider_child.c Ensure mirroring of properties works for subsequent updates 2021-05-20 09:35:41 +01:00
provider_conf.c Add NCONF_get0_libctx() 2021-06-02 12:40:02 +10:00
provider_core.c crypto: remove TODOs 2021-06-02 16:30:15 +10:00
provider_local.h Update copyright year 2021-04-08 13:04:41 +01:00
provider_predefined.c Update copyright year 2021-04-08 13:04:41 +01:00
provider.c Rename also the OSSL_PROVIDER_name() function 2021-06-01 12:43:57 +02:00
punycode.c
README-sparse_array.md
s390x_arch.h
s390xcap.c
s390xcpuid.pl
self_test_core.c Update copyright year 2021-05-20 14:22:33 +01:00
sparc_arch.h
sparccpuid.S
sparcv9cap.c sparc: fix cross compile build 2021-06-01 15:04:05 +10:00
sparse_array.c Update copyright year 2021-04-08 13:04:41 +01:00
threads_lib.c
threads_none.c Update copyright year 2021-04-08 13:04:41 +01:00
threads_pthread.c Always check CRYPTO_LOCK_{read,write}_lock 2021-03-14 15:33:34 +10:00
threads_win.c Always check CRYPTO_LOCK_{read,write}_lock 2021-03-14 15:33:34 +10:00
trace.c Rework and make DEBUG macros consistent. 2021-05-28 10:04:31 +02:00
uid.c
vms_rms.h
x86_64cpuid.pl Update copyright year 2021-04-08 13:04:41 +01:00
x86cpuid.pl