diff options
author | Richard Levitte <levitte@openssl.org> | 2019-09-23 10:56:13 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2019-10-17 09:16:45 +0200 |
commit | f651c727f85813085355bb207cf913288108ed79 (patch) | |
tree | 0eceb269b851cf095712b5332d4b222beb1c6fb3 /crypto/evp/kdf_lib.c | |
parent | 251e610ce4479913e593f9f7a9a711115e6cf1a3 (diff) |
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)
Diffstat (limited to 'crypto/evp/kdf_lib.c')
-rw-r--r-- | crypto/evp/kdf_lib.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/crypto/evp/kdf_lib.c b/crypto/evp/kdf_lib.c index b85f0e0eb8..90c43e984a 100644 --- a/crypto/evp/kdf_lib.c +++ b/crypto/evp/kdf_lib.c @@ -83,11 +83,6 @@ EVP_KDF_CTX *EVP_KDF_CTX_dup(const EVP_KDF_CTX *src) return dst; } -const char *EVP_KDF_name(const EVP_KDF *kdf) -{ - return evp_first_name(kdf->prov, kdf->name_id); -} - int EVP_KDF_is_a(const EVP_KDF *kdf, const char *name) { return evp_is_a(kdf->prov, kdf->name_id, name); @@ -164,3 +159,11 @@ int EVP_KDF_CTX_set_params(EVP_KDF_CTX *ctx, const OSSL_PARAM params[]) return ctx->meth->set_ctx_params(ctx->data, params); return 1; } + +void EVP_KDF_names_do_all(const EVP_KDF *kdf, + void (*fn)(const char *name, void *data), + void *data) +{ + if (kdf->prov != NULL) + evp_names_do_all(kdf->prov, kdf->name_id, fn, data); +} |