openssl/include/internal
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
..
__DECC_INCLUDE_EPILOGUE.H Following the license change, modify the boilerplates in include/ and crypto/include/ 2018-12-06 15:57:31 +01:00
__DECC_INCLUDE_PROLOGUE.H Following the license change, modify the boilerplates in include/ and crypto/include/ 2018-12-06 15:57:31 +01:00
bio.h Fix header file include guard names 2019-09-28 20:26:36 +02:00
comp.h Following the license change, modify the boilerplates in include/ and crypto/include/ 2018-12-06 15:57:31 +01:00
conf.h Fix header file include guard names 2019-09-28 20:26:36 +02:00
constant_time.h s390x assembly pack: process x25519 and x448 non-canonical values 2019-11-05 13:53:04 +01:00
core.h Update copyright year 2020-06-04 14:33:57 +01:00
cryptlib.h DESERIALIZER: Add foundation for deserializers 2020-07-24 16:32:00 +02:00
dane.h Fix header file include guard names 2019-09-28 20:26:36 +02:00
deprecated.h Update copyright year 2020-04-23 13:55:52 +01:00
der.h PROV: Add the beginning of a DER writing library 2020-04-07 11:16:56 +02:00
dso.h Fix header file include guard names 2019-09-28 20:26:36 +02:00
dsoerr.h Update source files for deprecation at 3.0 2019-11-07 11:37:25 +01:00
endian.h Update copyright year 2020-07-16 14:47:04 +02:00
err.h Fix header file include guard names 2019-09-28 20:26:36 +02:00
evp.h EVP & TLS: Add necessary EC_KEY data extraction functions, and use them 2020-04-08 15:30:25 +02:00
ffc.h Add multiple fixes for ffc key generation using invalid p,q,g parameters. 2020-07-09 13:43:10 +10:00
ktls.h Update copyright year 2020-06-25 14:13:12 +01:00
namemap.h CORE: ossl_namemap_add_names(): new function to add multiple names 2019-11-29 20:42:12 +01:00
nelem.h Fix header file include guard names 2019-09-28 20:26:36 +02:00
numbers.h Fix header file include guard names 2019-09-28 20:26:36 +02:00
o_dir.h Fix header file include guard names 2019-09-28 20:26:36 +02:00
packet.h Update copyright year 2020-04-23 13:55:52 +01:00
param_build_set.h Add EVP_PKEY_gettable_params support for accessing EVP_PKEY key data fields 2020-04-01 15:51:18 +10:00
property.h property: Move global default properties to the library context. 2020-06-23 21:44:47 +10:00
propertyerr.h Fix some typos 2019-12-11 19:04:01 +01:00
provider.h Rename <openssl/core_numbers.h> -> <openssl/core_dispatch.h> 2020-06-24 22:01:22 +02:00
refcount.h Fix one typo in a comment. 2020-06-21 10:09:48 +02:00
sha3.h Fix header file include guard names 2019-09-28 20:26:36 +02:00
sizes.h PROV: Adapt the DSA signature implementation to provide Algorithmidentifiers 2020-01-28 08:08:22 +01:00
sm3.h Fix header file include guard names 2019-09-28 20:26:36 +02:00
sockets.h Clean up macro definitions of openssl_fdset() in apps.h and sockets.h 2020-05-15 20:23:38 +02:00
sslconf.h Fix header file include guard names 2019-09-28 20:26:36 +02:00
symhacks.h Rename provider and core get_param_types functions 2019-08-15 11:58:25 +02:00
thread_once.h Update copyright year 2020-05-15 14:09:49 +01:00
tlsgroups.h Update copyright year 2020-06-25 14:13:12 +01:00
tsan_assist.h Fix Typos 2019-07-02 14:22:29 +02:00