Add OSSL_PARAM_dup() and OSSL_PARAM_merge().
authorShane Lontis <shane.lontis@oracle.com>
Wed, 7 Apr 2021 01:27:18 +0000 (11:27 +1000)
committerShane Lontis <shane.lontis@oracle.com>
Mon, 12 Apr 2021 06:55:29 +0000 (16:55 +1000)
commit884314cab786a980189206b2cab5f62878a97669
treed9b618c36ea0ab2a5401cbf592f1c1282f6d6de5
parentd36114d7cd363d505940326f5a2512d9661a67ea
Add OSSL_PARAM_dup() and OSSL_PARAM_merge().

These functions are prerequisites for implementing EVP_PKEY_todata().

OSSL_PARAM_dup() is required to make a deep copy of the exported
params (since the provider export() uses a OSSL_PARAM_BLD which throws away the
data after the call), and then use OSSL_PARAM_merge() to add some additional params
that can be passed to the EVP_PKEY_todata().

Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14785)
12 files changed:
crypto/build.info
crypto/param_build.c
crypto/params.c
crypto/params_dup.c [new file with mode: 0644]
doc/build.info
doc/man3/OSSL_PARAM.pod
doc/man3/OSSL_PARAM_dup.pod [new file with mode: 0644]
include/internal/param_build_set.h
include/openssl/params.h
test/param_build_test.c
test/params_api_test.c
util/libcrypto.num