EVP_PKEY & EC_KEY: Make EC EVP_PKEY_CTX parameter ctrls / setters more available
authorRichard Levitte <levitte@openssl.org>
Tue, 1 Dec 2020 18:21:04 +0000 (19:21 +0100)
committerRichard Levitte <levitte@openssl.org>
Wed, 16 Dec 2020 10:56:38 +0000 (11:56 +0100)
commit565b33990cc03d757f493616c040addbedfc80f8
tree09090928a2875229b60d02f4dd6b43bb745e9cba
parentc829c23b67308ad8e8ab677c78db1d5151106c3c
EVP_PKEY & EC_KEY: Make EC EVP_PKEY_CTX parameter ctrls / setters more available

EVP_PKEY_CTX_set_ec_ functions were only available when EC was enabled
('no-ec' not configured).  However, that makes it impossible to use
these functions with an engine or a provider that happens to implement
EC_KEY.  This change solves that problem by shuffling these functions
to more appropriate places.

Partially fixes #13550

squash! EVP_PKEY & EC_KEY: Make EC EVP_PKEY_CTX parameter ctrls / setters more available

By consequence, there are a number of places where we can remove the
check of OPENSSL_NO_EC.  This requires some re-arrangements of
internal tables to translate between numeric identities and names.

Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13589)
crypto/ec/build.info
crypto/ec/ec_curve.c
crypto/evp/build.info
crypto/evp/ec_ctrl.c [moved from crypto/ec/ec_ctrl.c with 99% similarity]
crypto/evp/ec_support.c [new file with mode: 0644]
crypto/evp/p_lib.c
crypto/evp/pmeth_lib.c
include/crypto/ec.h
include/openssl/ec.h