EVP: add name traversal functions to all fetchable types
authorRichard Levitte <levitte@openssl.org>
Mon, 23 Sep 2019 08:56:13 +0000 (10:56 +0200)
committerRichard Levitte <levitte@openssl.org>
Thu, 17 Oct 2019 07:16:45 +0000 (09:16 +0200)
commitf651c727f85813085355bb207cf913288108ed79
tree0eceb269b851cf095712b5332d4b222beb1c6fb3
parent251e610ce4479913e593f9f7a9a711115e6cf1a3
EVP: add name traversal functions to all fetchable types

The following new functions all do the same thing; they traverse
the set of names assigned to implementations of each algorithm type:

EVP_MD_names_do_all(), EVP_CIPHER_names_do_all(),
EVP_MAC_names_do_all(), EVP_KEYMGMT_names_do_all(),
EVP_KEYEXCH_names_do_all(), EVP_KDF_names_do_all(),
EVP_SIGNATURE_names_do_all()

We add a warning to the documentation of EVP_CIPHER_name() and
EVP_MD_name(), as they aren't suitable to use with multiple-name
implementation.

We also remove EVP_MAC_name() and evp_KDF_name(), as they serve no
useful purpose.

Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/9979)
22 files changed:
crypto/evp/digest.c
crypto/evp/evp_enc.c
crypto/evp/evp_fetch.c
crypto/evp/evp_lib.c
crypto/evp/evp_local.h
crypto/evp/exchange.c
crypto/evp/kdf_lib.c
crypto/evp/keymgmt_meth.c
crypto/evp/mac_lib.c
crypto/evp/mac_meth.c
crypto/evp/pmeth_fn.c
doc/man3/EVP_DigestInit.pod
doc/man3/EVP_EncryptInit.pod
doc/man3/EVP_KDF.pod
doc/man3/EVP_KEYEXCH_free.pod
doc/man3/EVP_KEYMGMT.pod
doc/man3/EVP_MAC.pod
doc/man3/EVP_SIGNATURE_free.pod
include/openssl/evp.h
include/openssl/kdf.h
test/evp_test.c
util/libcrypto.num