aboutsummaryrefslogtreecommitdiff
path: root/crypto/evp/digest.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/evp/digest.c')
-rw-r--r--crypto/evp/digest.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/crypto/evp/digest.c b/crypto/evp/digest.c
index 494e0f5..2e517d2 100644
--- a/crypto/evp/digest.c
+++ b/crypto/evp/digest.c
@@ -883,10 +883,11 @@ static int evp_md_cache_constants(EVP_MD *md)
return ok;
}
-static void *evp_md_from_dispatch(int name_id,
- const OSSL_DISPATCH *fns,
- OSSL_PROVIDER *prov)
+static void *evp_md_from_algorithm(int name_id,
+ const OSSL_ALGORITHM *algodef,
+ OSSL_PROVIDER *prov)
{
+ const OSSL_DISPATCH *fns = algodef->implementation;
EVP_MD *md = NULL;
int fncnt = 0;
@@ -907,6 +908,7 @@ static void *evp_md_from_dispatch(int name_id,
#endif
md->name_id = name_id;
+ md->description = algodef->algorithm_description;
for (; fns->function_id != 0; fns++) {
switch (fns->function_id) {
@@ -1017,7 +1019,7 @@ EVP_MD *EVP_MD_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
{
EVP_MD *md =
evp_generic_fetch(ctx, OSSL_OP_DIGEST, algorithm, properties,
- evp_md_from_dispatch, evp_md_up_ref, evp_md_free);
+ evp_md_from_algorithm, evp_md_up_ref, evp_md_free);
return md;
}
@@ -1051,5 +1053,5 @@ void EVP_MD_do_all_provided(OSSL_LIB_CTX *libctx,
{
evp_generic_do_all(libctx, OSSL_OP_DIGEST,
(void (*)(void *, void *))fn, arg,
- evp_md_from_dispatch, evp_md_free);
+ evp_md_from_algorithm, evp_md_free);
}