openssl/util
Richard Levitte c3e4c1f325 DESERIALIZER: Add foundation for deserializers
This adds a method OSSL_DESERIALIZER, a deserializer context and basic
support to use a set of serializers to get a desired type of data, as
well as deserializer chains.

The idea is that the caller can call OSSL_DESERIALIZER_CTX_add_serializer()
to set up the set of desired results, and to add possible chains, call
OSSL_DESERIALIZER_CTX_add_extra().  All these deserializers are pushed
on an internal stack.

The actual deserialization is then performed using functions like
OSSL_DESERIALIZER_from_bio().  When performing deserialization, the
inernal stack is walked backwards, keeping track of the deserialized
data and its type along the way, until the data kan be processed into
the desired type of data.

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/12410)
2020-07-24 16:32:00 +02:00
..
perl util/perl/OpenSSL/config.pm: Fix /armv[7-9].*-.*-linux2/ 2020-07-04 10:34:58 +02:00
add-depends.pl Following the license change, modify the boilerplates in util/, tools/ 2018-12-06 14:17:23 +01:00
build.info Build: Change all _NO_INST to use attributes instead. 2019-01-22 12:35:39 +01:00
cavs-to-evptest.pl Add the NIST CAVS test vectors for CCM 2019-05-23 10:49:54 +01:00
check-format-test-negatives.c check-format.pl: Add check for multiples essentially empty lines in a row 2020-07-20 11:17:34 +02:00
check-format-test-positives.c check-format.pl: Report empty lines only if -s (--sloppy-spc) is not used 2020-07-20 11:17:34 +02:00
check-format.pl check-format.pl: Report empty lines only if -s (--sloppy-spc) is not used 2020-07-20 11:17:34 +02:00
check-malloc-errs Following the license change, modify the boilerplates in util/, tools/ 2018-12-06 14:17:23 +01:00
ck_errf.pl Create provider errors and use them 2019-04-19 09:31:54 +01:00
copy.pl Following the license change, modify the boilerplates in util/, tools/ 2018-12-06 14:17:23 +01:00
dofile.pl Update copyright year 2020-04-23 13:55:52 +01:00
echo.pl Windows: fix echo for nmake 2018-07-11 14:49:02 +02:00
engines.num Change the build of engines to use ordinal files for symbol export 2018-10-05 08:22:42 +02:00
err-to-raise Update copyright year 2020-04-23 13:55:52 +01:00
find-doc-nits Align documentation with recommendations of Linux Documentation Project 2020-07-22 09:15:00 +02:00
find-unused-errs Following the license change, modify the boilerplates in util/, tools/ 2018-12-06 14:17:23 +01:00
fix-includes Update copyright year 2020-04-23 13:55:52 +01:00
fix-includes.sed CRYPTO: split cipher_platform.h into algorithm specific headers 2019-12-19 13:31:29 +01:00
indent.pro Memory allocator code cleanup 2020-02-10 16:49:10 +10:00
libcrypto.num DESERIALIZER: Add foundation for deserializers 2020-07-24 16:32:00 +02:00
libssl.num Add X509 related libctx changes. 2020-07-24 22:53:27 +10:00
local_shlib.com.in VMS: fix util/[un]local.com.in to handle attributes 2019-03-05 08:56:20 +01:00
markdownlint.rb util/markdownlint.rb: Add two rule exceptions: MD023 and MD026 2020-07-05 11:29:43 +02:00
merge-err-lines Add merge-err-lines script 2019-09-19 09:27:38 -04:00
missingcrypto111.txt Don't ignore ASN1 when checking for undocumented symbols 2020-02-07 08:35:31 +00:00
missingcrypto-internal.txt Initialize files that declare internal symbols 2020-04-11 15:51:43 +02:00
missingcrypto.txt DESERIALIZER: Add foundation for deserializers 2020-07-24 16:32:00 +02:00
missingmacro111.txt Adjust all util/missing*.txt to include the section number 2019-12-21 22:53:54 +01:00
missingmacro.txt In OpenSSL builds, declare STACK for datatypes ... 2020-04-24 16:42:46 +02:00
missingssl111.txt Adjust all util/missing*.txt to include the section number 2019-12-21 22:53:54 +01:00
missingssl-internal.txt Initialize files that declare internal symbols 2020-04-11 15:51:43 +02:00
missingssl.txt Adjust all util/missing*.txt to include the section number 2019-12-21 22:53:54 +01:00
mkbuildinf.pl Following the license change, modify the boilerplates in util/, tools/ 2018-12-06 14:17:23 +01:00
mkdef.pl Configuration and build: Fix solaris tags 2020-07-04 10:38:46 +02:00
mkdir-p.pl Following the license change, modify the boilerplates in util/, tools/ 2018-12-06 14:17:23 +01:00
mkerr.pl Update copyright year 2020-04-23 13:55:52 +01:00
mknum.pl util/mknum.pl: output stats on unassigned symbols 2019-11-05 22:44:21 +01:00
mkpod2html.pl util/mkpod2html.pl: Fix unbalanced quotes 2020-05-28 14:00:49 +02:00
mkrc.pl Update copyright year 2020-05-15 14:09:49 +01:00
mktar.sh util/mktar.pl: Change 'VERSION' to 'VERSION.dat' 2020-07-16 15:08:30 +02:00
opensslwrap.sh util/opensslwrap.sh: adjust to define OPENSSL_MODULES as well 2019-07-15 16:14:35 +02:00
other-internal.syms Initialize files that declare internal symbols 2020-04-11 15:51:43 +02:00
other.syms DESERIALIZER: Add foundation for deserializers 2020-07-24 16:32:00 +02:00
providers.num Add provider module infrastructure 2019-03-11 20:40:13 +01:00
shlib_wrap.sh.in Rework building: adapt some scripts 2019-01-21 19:31:32 +01:00
su-filter.pl Following the license change, modify the boilerplates in util/, tools/ 2018-12-06 14:17:23 +01:00
unlocal_shlib.com.in VMS: fix util/[un]local.com.in to handle attributes 2019-03-05 08:56:20 +01:00
wrap.pl util/wrap.pl: Correct exit code when signalled 2020-03-25 10:51:21 +01:00