From: Pauli Date: Wed, 9 Jun 2021 03:38:30 +0000 (+1000) Subject: sha: convert SHA one shot macros back to being functions X-Git-Tag: openssl-3.0.0-beta1~116 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=807bb4255473986439c00a2fe3c798e7120709ba;p=thirdparty%2Fopenssl.git sha: convert SHA one shot macros back to being functions Fixes #15655 Reviewed-by: Richard Levitte Reviewed-by: David von Oheimb (Merged from https://github.com/openssl/openssl/pull/15668) --- diff --git a/crypto/sha/sha1_one.c b/crypto/sha/sha1_one.c index a21a1aded3f..d6f5d1ecce9 100644 --- a/crypto/sha/sha1_one.c +++ b/crypto/sha/sha1_one.c @@ -17,6 +17,7 @@ #include #include #include +#include #include "crypto/sha.h" unsigned char *ossl_sha1(const unsigned char *d, size_t n, unsigned char *md) @@ -33,3 +34,28 @@ unsigned char *ossl_sha1(const unsigned char *d, size_t n, unsigned char *md) OPENSSL_cleanse(&c, sizeof(c)); return md; } + +unsigned char *SHA1(const unsigned char *d, size_t n, unsigned char *md) +{ + return EVP_Q_digest(NULL, "SHA1", NULL, d, n, md, NULL) ? md : NULL; +} + +unsigned char *SHA224(const unsigned char *d, size_t n, unsigned char *md) +{ + return EVP_Q_digest(NULL, "SHA224", NULL, d, n, md, NULL) ? md : NULL; +} + +unsigned char *SHA256(const unsigned char *d, size_t n, unsigned char *md) +{ + return EVP_Q_digest(NULL, "SHA256", NULL, d, n, md, NULL) ? md : NULL; +} + +unsigned char *SHA384(const unsigned char *d, size_t n, unsigned char *md) +{ + return EVP_Q_digest(NULL, "SHA384", NULL, d, n, md, NULL) ? md : NULL; +} + +unsigned char *SHA512(const unsigned char *d, size_t n, unsigned char *md) +{ + return EVP_Q_digest(NULL, "SHA512", NULL, d, n, md, NULL) ? md : NULL; +} diff --git a/include/openssl/sha.h b/include/openssl/sha.h index eac4b79302f..6e65a040896 100644 --- a/include/openssl/sha.h +++ b/include/openssl/sha.h @@ -17,7 +17,6 @@ # endif # include -# include # include # ifdef __cplusplus @@ -53,8 +52,7 @@ OSSL_DEPRECATEDIN_3_0 int SHA1_Final(unsigned char *md, SHA_CTX *c); OSSL_DEPRECATEDIN_3_0 void SHA1_Transform(SHA_CTX *c, const unsigned char *data); # endif -# define SHA1(d, n, md) \ - (EVP_Q_digest(NULL, "SHA1", NULL, d, n, md, NULL) ? md : NULL) +unsigned char *SHA1(const unsigned char *d, size_t n, unsigned char *md); # ifndef OPENSSL_NO_DEPRECATED_3_0 # define SHA256_CBLOCK (SHA_LBLOCK*4)/* SHA-256 treats input data as a @@ -80,10 +78,8 @@ OSSL_DEPRECATEDIN_3_0 void SHA256_Transform(SHA256_CTX *c, const unsigned char *data); # endif -# define SHA224(d, n, md) \ - (EVP_Q_digest(NULL, "SHA224", NULL, d, n, md, NULL) ? md : NULL) -# define SHA256(d, n, md) \ - (EVP_Q_digest(NULL, "SHA256", NULL, d, n, md, NULL) ? md : NULL) +unsigned char *SHA224(const unsigned char *d, size_t n, unsigned char *md); +unsigned char *SHA256(const unsigned char *d, size_t n, unsigned char *md); # define SHA224_DIGEST_LENGTH 28 # define SHA256_DIGEST_LENGTH 32 @@ -132,10 +128,8 @@ OSSL_DEPRECATEDIN_3_0 void SHA512_Transform(SHA512_CTX *c, const unsigned char *data); # endif -# define SHA384(d, n, md) \ - (EVP_Q_digest(NULL, "SHA384", NULL, d, n, md, NULL) ? md : NULL) -# define SHA512(d, n, md) \ - (EVP_Q_digest(NULL, "SHA512", NULL, d, n, md, NULL) ? md : NULL) +unsigned char *SHA384(const unsigned char *d, size_t n, unsigned char *md); +unsigned char *SHA512(const unsigned char *d, size_t n, unsigned char *md); # ifdef __cplusplus }