From 396d5fd091f68729f0a038a283fe3cca3eb670dd Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Mon, 23 Nov 2015 16:07:46 +0000 Subject: [PATCH 1/1] Add EVP_MD_CTX_ctrl function. Reviewed-by: Tim Hudson --- crypto/evp/digest.c | 11 +++++++++++ include/openssl/evp.h | 1 + 2 files changed, 12 insertions(+) diff --git a/crypto/evp/digest.c b/crypto/evp/digest.c index 607f0a1a0d..32a87f627d 100644 --- a/crypto/evp/digest.c +++ b/crypto/evp/digest.c @@ -364,3 +364,14 @@ int EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx) return 1; } + +int EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void *p2) +{ + if (ctx->digest && ctx->digest->md_ctrl) { + int ret = ctx->digest->md_ctrl(ctx, cmd, p1, p2); + if (ret <= 0) + return 0; + return 1; + } + return 0; +} diff --git a/include/openssl/evp.h b/include/openssl/evp.h index 77cd26f12f..c9659b3434 100644 --- a/include/openssl/evp.h +++ b/include/openssl/evp.h @@ -626,6 +626,7 @@ void BIO_set_md(BIO *, const EVP_MD *md); void EVP_MD_CTX_init(EVP_MD_CTX *ctx); int EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx); +int EVP_MD_CTX_ctrl(EVP_MD_CTX *ctx, int cmd, int p1, void *p2); EVP_MD_CTX *EVP_MD_CTX_create(void); void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx); /*__owur*/ int EVP_MD_CTX_copy_ex(EVP_MD_CTX *out, const EVP_MD_CTX *in); -- 2.34.1