summaryrefslogtreecommitdiffstats
path: root/providers/implementations/digests
diff options
context:
space:
mode:
authorPauli <ppzgs1@gmail.com>2021-03-03 09:20:21 +1000
committerPauli <ppzgs1@gmail.com>2021-03-12 08:27:21 +1000
commit5506cd0bbd874b164f59e3e6a6a530426a2b38bf (patch)
treec4bc9dae24676165bad332bfb3e87ea583c975dd /providers/implementations/digests
parent5a7e999114562e5d9b696effac550d9d141ff087 (diff)
prov: update digests to support modified ctx params
Reviewed-by: Shane Lontis <shane.lontis@oracle.com> (Merged from https://github.com/openssl/openssl/pull/14383)
Diffstat (limited to 'providers/implementations/digests')
-rw-r--r--providers/implementations/digests/md5_sha1_prov.c17
-rw-r--r--providers/implementations/digests/mdc2_prov.c16
-rw-r--r--providers/implementations/digests/sha2_prov.c17
-rw-r--r--providers/implementations/digests/sha3_prov.c16
4 files changed, 38 insertions, 28 deletions
diff --git a/providers/implementations/digests/md5_sha1_prov.c b/providers/implementations/digests/md5_sha1_prov.c
index e41ac815c5..e7b8389b2b 100644
--- a/providers/implementations/digests/md5_sha1_prov.c
+++ b/providers/implementations/digests/md5_sha1_prov.c
@@ -42,13 +42,16 @@ static int md5_sha1_set_ctx_params(void *vctx, const OSSL_PARAM params[])
const OSSL_PARAM *p;
MD5_SHA1_CTX *ctx = (MD5_SHA1_CTX *)vctx;
- if (ctx != NULL && params != NULL) {
- p = OSSL_PARAM_locate_const(params, OSSL_DIGEST_PARAM_SSL3_MS);
- if (p != NULL && p->data_type == OSSL_PARAM_OCTET_STRING)
- return ossl_md5_sha1_ctrl(ctx, EVP_CTRL_SSL3_MASTER_SECRET,
- p->data_size, p->data);
- }
- return 0;
+ if (ctx == NULL)
+ return 0;
+ if (params == NULL)
+ return 1;
+
+ p = OSSL_PARAM_locate_const(params, OSSL_DIGEST_PARAM_SSL3_MS);
+ if (p != NULL && p->data_type == OSSL_PARAM_OCTET_STRING)
+ return ossl_md5_sha1_ctrl(ctx, EVP_CTRL_SSL3_MASTER_SECRET,
+ p->data_size, p->data);
+ return 1;
}
/* ossl_md5_sha1_functions */
diff --git a/providers/implementations/digests/mdc2_prov.c b/providers/implementations/digests/mdc2_prov.c
index edd73ed89e..de39f8a104 100644
--- a/providers/implementations/digests/mdc2_prov.c
+++ b/providers/implementations/digests/mdc2_prov.c
@@ -41,15 +41,17 @@ static int mdc2_set_ctx_params(void *vctx, const OSSL_PARAM params[])
const OSSL_PARAM *p;
MDC2_CTX *ctx = (MDC2_CTX *)vctx;
- if (ctx != NULL && params != NULL) {
- p = OSSL_PARAM_locate_const(params, OSSL_DIGEST_PARAM_PAD_TYPE);
- if (p != NULL && !OSSL_PARAM_get_uint(p, &ctx->pad_type)) {
- ERR_raise(ERR_LIB_PROV, PROV_R_FAILED_TO_GET_PARAMETER);
- return 0;
- }
+ if (ctx == NULL)
+ return 0;
+ if (params == NULL)
return 1;
+
+ p = OSSL_PARAM_locate_const(params, OSSL_DIGEST_PARAM_PAD_TYPE);
+ if (p != NULL && !OSSL_PARAM_get_uint(p, &ctx->pad_type)) {
+ ERR_raise(ERR_LIB_PROV, PROV_R_FAILED_TO_GET_PARAMETER);
+ return 0;
}
- return 0; /* Null Parameter */
+ return 1;
}
/* ossl_mdc2_functions */
diff --git a/providers/implementations/digests/sha2_prov.c b/providers/implementations/digests/sha2_prov.c
index 96f4cc7004..3b731796bd 100644
--- a/providers/implementations/digests/sha2_prov.c
+++ b/providers/implementations/digests/sha2_prov.c
@@ -45,13 +45,16 @@ static int sha1_set_ctx_params(void *vctx, const OSSL_PARAM params[])
const OSSL_PARAM *p;
SHA_CTX *ctx = (SHA_CTX *)vctx;
- if (ctx != NULL && params != NULL) {
- p = OSSL_PARAM_locate_const(params, OSSL_DIGEST_PARAM_SSL3_MS);
- if (p != NULL && p->data_type == OSSL_PARAM_OCTET_STRING)
- return ossl_sha1_ctrl(ctx, EVP_CTRL_SSL3_MASTER_SECRET,
- p->data_size, p->data);
- }
- return 0;
+ if (ctx == NULL)
+ return 0;
+ if (params == NULL)
+ return 1;
+
+ p = OSSL_PARAM_locate_const(params, OSSL_DIGEST_PARAM_SSL3_MS);
+ if (p != NULL && p->data_type == OSSL_PARAM_OCTET_STRING)
+ return ossl_sha1_ctrl(ctx, EVP_CTRL_SSL3_MASTER_SECRET,
+ p->data_size, p->data);
+ return 1;
}
/* ossl_sha1_functions */
diff --git a/providers/implementations/digests/sha3_prov.c b/providers/implementations/digests/sha3_prov.c
index 0db6f86be8..168825d475 100644
--- a/providers/implementations/digests/sha3_prov.c
+++ b/providers/implementations/digests/sha3_prov.c
@@ -284,15 +284,17 @@ static int shake_set_ctx_params(void *vctx, const OSSL_PARAM params[])
const OSSL_PARAM *p;
KECCAK1600_CTX *ctx = (KECCAK1600_CTX *)vctx;
- if (ctx != NULL && params != NULL) {
- p = OSSL_PARAM_locate_const(params, OSSL_DIGEST_PARAM_XOFLEN);
- if (p != NULL && !OSSL_PARAM_get_size_t(p, &ctx->md_size)) {
- ERR_raise(ERR_LIB_PROV, PROV_R_FAILED_TO_GET_PARAMETER);
- return 0;
- }
+ if (ctx == NULL)
+ return 0;
+ if (params == NULL)
return 1;
+
+ p = OSSL_PARAM_locate_const(params, OSSL_DIGEST_PARAM_XOFLEN);
+ if (p != NULL && !OSSL_PARAM_get_size_t(p, &ctx->md_size)) {
+ ERR_raise(ERR_LIB_PROV, PROV_R_FAILED_TO_GET_PARAMETER);
+ return 0;
}
- return 0; /* Null Parameter */
+ return 1;
}
#define IMPLEMENT_SHA3_functions(bitlen) \