Use EVP_MD_CTX_legacy_clear() internally
authortb <tb@openbsd.org>
Sun, 18 Feb 2024 15:45:42 +0000 (15:45 +0000)
committertb <tb@openbsd.org>
Sun, 18 Feb 2024 15:45:42 +0000 (15:45 +0000)
ok jsing

12 files changed:
lib/libcrypto/evp/evp_digest.c
lib/libcrypto/evp/evp_key.c
lib/libcrypto/evp/evp_pbe.c
lib/libcrypto/evp/m_sigver.c
lib/libcrypto/evp/p_sign.c
lib/libcrypto/evp/p_verify.c
lib/libcrypto/hmac/hmac.c
lib/libcrypto/pem/pvkfmt.c
lib/libcrypto/pkcs7/pk7_doit.c
lib/libcrypto/rsa/rsa_oaep.c
lib/libcrypto/rsa/rsa_pss.c
lib/libcrypto/x509/x509_cmp.c

index 33ba923..3a349ad 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: evp_digest.c,v 1.9 2024/02/18 15:43:21 tb Exp $ */
+/* $OpenBSD: evp_digest.c,v 1.10 2024/02/18 15:45:42 tb Exp $ */
 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
 int
 EVP_DigestInit(EVP_MD_CTX *ctx, const EVP_MD *type)
 {
-       EVP_MD_CTX_init(ctx);
+       EVP_MD_CTX_legacy_clear(ctx);
        return EVP_DigestInit_ex(ctx, type, NULL);
 }
 
@@ -207,7 +207,7 @@ EVP_Digest(const void *data, size_t count,
        EVP_MD_CTX ctx;
        int ret;
 
-       EVP_MD_CTX_init(&ctx);
+       EVP_MD_CTX_legacy_clear(&ctx);
        EVP_MD_CTX_set_flags(&ctx, EVP_MD_CTX_FLAG_ONESHOT);
        ret = EVP_DigestInit_ex(&ctx, type, NULL) &&
            EVP_DigestUpdate(&ctx, data, count) &&
@@ -294,7 +294,7 @@ EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx)
 int
 EVP_MD_CTX_copy(EVP_MD_CTX *out, const EVP_MD_CTX *in)
 {
-       EVP_MD_CTX_init(out);
+       EVP_MD_CTX_legacy_clear(out);
        return EVP_MD_CTX_copy_ex(out, in);
 }
 
index 1f3d758..f51584b 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: evp_key.c,v 1.33 2024/01/05 10:18:52 tb Exp $ */
+/* $OpenBSD: evp_key.c,v 1.34 2024/02/18 15:45:42 tb Exp $ */
 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
@@ -156,7 +156,7 @@ EVP_BytesToKey(const EVP_CIPHER *type, const EVP_MD *md,
        if (data == NULL)
                return nkey;
 
-       EVP_MD_CTX_init(&c);
+       EVP_MD_CTX_legacy_clear(&c);
        for (;;) {
                if (!EVP_DigestInit_ex(&c, md, NULL))
                        goto err;
index bb0c227..eb8d5c4 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: evp_pbe.c,v 1.41 2024/02/01 17:11:58 tb Exp $ */
+/* $OpenBSD: evp_pbe.c,v 1.42 2024/02/18 15:45:42 tb Exp $ */
 /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
  * project 1999.
  */
@@ -266,7 +266,7 @@ PKCS5_PBE_keyivgen(EVP_CIPHER_CTX *cctx, const char *pass, int passlen,
        else if (passlen == -1)
                passlen = strlen(pass);
 
-       EVP_MD_CTX_init(&ctx);
+       EVP_MD_CTX_legacy_clear(&ctx);
 
        if (!EVP_DigestInit_ex(&ctx, md, NULL))
                goto err;
index 3ce7f7e..a72671e 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: m_sigver.c,v 1.14 2023/11/29 21:35:57 tb Exp $ */
+/* $OpenBSD: m_sigver.c,v 1.15 2024/02/18 15:45:42 tb Exp $ */
 /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
  * project 2006.
  */
@@ -171,7 +171,7 @@ EVP_DigestSignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, size_t *siglen)
                EVP_MD_CTX tmp_ctx;
                unsigned char md[EVP_MAX_MD_SIZE];
                unsigned int mdlen = 0;
-               EVP_MD_CTX_init(&tmp_ctx);
+               EVP_MD_CTX_legacy_clear(&tmp_ctx);
                if (!EVP_MD_CTX_copy_ex(&tmp_ctx, ctx))
                        return 0;
                if (sctx)
@@ -228,7 +228,7 @@ EVP_DigestVerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sig, size_t siglen)
                vctx = 1;
        else
                vctx = 0;
-       EVP_MD_CTX_init(&tmp_ctx);
+       EVP_MD_CTX_legacy_clear(&tmp_ctx);
        if (!EVP_MD_CTX_copy_ex(&tmp_ctx, ctx))
                return -1;
        if (vctx) {
index f7c2117..f6d6e12 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: p_sign.c,v 1.19 2023/07/07 19:37:54 beck Exp $ */
+/* $OpenBSD: p_sign.c,v 1.20 2024/02/18 15:45:42 tb Exp $ */
 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
@@ -77,7 +77,7 @@ EVP_SignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, unsigned int *siglen,
        int ret = 0;
 
        *siglen = 0;
-       EVP_MD_CTX_init(&tmp_ctx);
+       EVP_MD_CTX_legacy_clear(&tmp_ctx);
        if (!EVP_MD_CTX_copy_ex(&tmp_ctx, ctx))
                goto err;
        if (!EVP_DigestFinal_ex(&tmp_ctx, &(m[0]), &m_len))
index da7ab54..ed9b370 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: p_verify.c,v 1.18 2023/07/07 19:37:54 beck Exp $ */
+/* $OpenBSD: p_verify.c,v 1.19 2024/02/18 15:45:42 tb Exp $ */
 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
@@ -75,7 +75,7 @@ EVP_VerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sigbuf,
        EVP_PKEY_CTX *pkctx = NULL;
        int ret = 0;
 
-       EVP_MD_CTX_init(&tmp_ctx);
+       EVP_MD_CTX_legacy_clear(&tmp_ctx);
        if (!EVP_MD_CTX_copy_ex(&tmp_ctx, ctx))
                goto err;
        if (!EVP_DigestFinal_ex(&tmp_ctx, &(m[0]), &m_len))
index ea3a1b4..32d7515 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: hmac.c,v 1.31 2023/02/16 08:38:17 tb Exp $ */
+/* $OpenBSD: hmac.c,v 1.32 2024/02/18 15:45:42 tb Exp $ */
 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
@@ -214,9 +214,9 @@ HMAC_CTX_reset(HMAC_CTX *ctx)
 void
 HMAC_CTX_init(HMAC_CTX *ctx)
 {
-       EVP_MD_CTX_init(&ctx->i_ctx);
-       EVP_MD_CTX_init(&ctx->o_ctx);
-       EVP_MD_CTX_init(&ctx->md_ctx);
+       EVP_MD_CTX_legacy_clear(&ctx->i_ctx);
+       EVP_MD_CTX_legacy_clear(&ctx->o_ctx);
+       EVP_MD_CTX_legacy_clear(&ctx->md_ctx);
        ctx->md = NULL;
 }
 
index 816d8b7..40c9fee 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: pvkfmt.c,v 1.27 2023/07/07 13:40:44 beck Exp $ */
+/* $OpenBSD: pvkfmt.c,v 1.28 2024/02/18 15:45:42 tb Exp $ */
 /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
  * project 2005.
  */
@@ -713,7 +713,7 @@ derive_pvk_key(unsigned char *key, const unsigned char *salt,
        EVP_MD_CTX mctx;
        int rv = 1;
 
-       EVP_MD_CTX_init(&mctx);
+       EVP_MD_CTX_legacy_clear(&mctx);
        if (!EVP_DigestInit_ex(&mctx, EVP_sha1(), NULL) ||
            !EVP_DigestUpdate(&mctx, salt, saltlen) ||
            !EVP_DigestUpdate(&mctx, pass, passlen) ||
index ce0e99e..3cc7add 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: pk7_doit.c,v 1.55 2024/01/25 13:44:08 tb Exp $ */
+/* $OpenBSD: pk7_doit.c,v 1.56 2024/02/18 15:45:42 tb Exp $ */
 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
@@ -711,7 +711,7 @@ PKCS7_dataFinal(PKCS7 *p7, BIO *bio)
                return 0;
        }
 
-       EVP_MD_CTX_init(&ctx_tmp);
+       EVP_MD_CTX_legacy_clear(&ctx_tmp);
        i = OBJ_obj2nid(p7->type);
        p7->state = PKCS7_S_HEADER;
 
@@ -879,7 +879,7 @@ PKCS7_SIGNER_INFO_sign(PKCS7_SIGNER_INFO *si)
        if (md == NULL)
                return 0;
 
-       EVP_MD_CTX_init(&mctx);
+       EVP_MD_CTX_legacy_clear(&mctx);
        if (EVP_DigestSignInit(&mctx, &pctx, md, NULL, si->pkey) <= 0)
                goto err;
 
@@ -997,7 +997,7 @@ PKCS7_signatureVerify(BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si, X509 *x509)
        BIO *btmp;
        EVP_PKEY *pkey;
 
-       EVP_MD_CTX_init(&mdc_tmp);
+       EVP_MD_CTX_legacy_clear(&mdc_tmp);
 
        if (!PKCS7_type_is_signed(p7) &&
            !PKCS7_type_is_signedAndEnveloped(p7)) {
index c2c3a61..4927673 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: rsa_oaep.c,v 1.37 2023/07/08 12:26:45 beck Exp $ */
+/* $OpenBSD: rsa_oaep.c,v 1.38 2024/02/18 15:45:42 tb Exp $ */
 /*
  * Copyright 1999-2018 The OpenSSL Project Authors. All Rights Reserved.
  *
@@ -331,7 +331,7 @@ PKCS1_MGF1(unsigned char *mask, long len, const unsigned char *seed,
        int mdlen;
        int rv = -1;
 
-       EVP_MD_CTX_init(&c);
+       EVP_MD_CTX_legacy_clear(&c);
        mdlen = EVP_MD_size(dgst);
        if (mdlen < 0)
                goto err;
index 0860409..6670866 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: rsa_pss.c,v 1.17 2023/07/08 12:26:45 beck Exp $ */
+/* $OpenBSD: rsa_pss.c,v 1.18 2024/02/18 15:45:42 tb Exp $ */
 /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
  * project 2005.
  */
@@ -92,7 +92,7 @@ RSA_verify_PKCS1_PSS_mgf1(RSA *rsa, const unsigned char *mHash,
        EVP_MD_CTX ctx;
        unsigned char H_[EVP_MAX_MD_SIZE];
 
-       EVP_MD_CTX_init(&ctx);
+       EVP_MD_CTX_legacy_clear(&ctx);
 
        if (mgf1Hash == NULL)
                mgf1Hash = Hash;
@@ -200,7 +200,7 @@ RSA_padding_add_PKCS1_PSS_mgf1(RSA *rsa, unsigned char *EM,
        unsigned char *H, *salt = NULL, *p;
        EVP_MD_CTX ctx;
 
-       EVP_MD_CTX_init(&ctx);
+       EVP_MD_CTX_legacy_clear(&ctx);
 
        if (mgf1Hash == NULL)
                mgf1Hash = Hash;
index 3ee4fd4..6098b6e 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: x509_cmp.c,v 1.42 2023/02/16 08:38:17 tb Exp $ */
+/* $OpenBSD: x509_cmp.c,v 1.43 2024/02/18 15:45:42 tb Exp $ */
 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
@@ -95,7 +95,7 @@ X509_issuer_and_serial_hash(X509 *a)
        unsigned char md[16];
        char *f;
 
-       EVP_MD_CTX_init(&ctx);
+       EVP_MD_CTX_legacy_clear(&ctx);
        f = X509_NAME_oneline(a->cert_info->issuer, NULL, 0);
        if (f == NULL)
                goto err;
@@ -291,7 +291,7 @@ X509_NAME_hash_old(X509_NAME *x)
 
        /* Make sure X509_NAME structure contains valid cached encoding */
        i2d_X509_NAME(x, NULL);
-       EVP_MD_CTX_init(&md_ctx);
+       EVP_MD_CTX_legacy_clear(&md_ctx);
        if (EVP_DigestInit_ex(&md_ctx, EVP_md5(), NULL) &&
            EVP_DigestUpdate(&md_ctx, x->bytes->data, x->bytes->length) &&
            EVP_DigestFinal_ex(&md_ctx, md, NULL))