X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/d5b80e59458182b2d557a929a18cb8c70cd56b68..HEAD:/src/src/hash.h diff --git a/src/src/hash.h b/src/src/hash.h index 337dc9910..9ad837b62 100644 --- a/src/src/hash.h +++ b/src/src/hash.h @@ -1,7 +1,7 @@ /* * Exim - an Internet mail transport agent - * - * Copyright (C) 2016 Exim maintainers + * Copyright (c) The Exim Maintainers 1995 - 2022 + * SPDX-License-Identifier: GPL-2.0-or-later * * Hash interface functions */ @@ -19,10 +19,6 @@ # include #elif defined(SHA_GCRYPT) # include -#elif defined(SHA_POLARSSL) -# include "pdkim/pdkim.h" /*XXX ugly */ -# include "pdkim/polarssl/sha1.h" -# include "pdkim/polarssl/sha2.h" #endif @@ -30,6 +26,7 @@ typedef enum hashmethod { HASH_BADTYPE, + HASH_NULL, HASH_SHA1, HASH_SHA2_256, @@ -51,6 +48,9 @@ typedef struct { SHA_CTX sha1; /* SHA1 block */ SHA256_CTX sha2_256; /* SHA256 or 224 block */ SHA512_CTX sha2_512; /* SHA512 or 384 block */ +#ifdef EXIM_HAVE_SHA3 + EVP_MD_CTX * mctx; /* SHA3 block */ +#endif } u; #elif defined(SHA_GNUTLS) @@ -59,12 +59,6 @@ typedef struct { #elif defined(SHA_GCRYPT) gcry_md_hd_t sha; /* Either SHA1 or SHA256 block */ -#elif defined(SHA_POLARSSL) - union { - sha1_context sha1; /* SHA1 block */ - sha2_context sha2; /* SHA256 block */ - } u; - #elif defined(SHA_NATIVE) sha1 sha1; #endif @@ -73,6 +67,7 @@ typedef struct { extern BOOL exim_sha_init(hctx *, hashmethod); extern void exim_sha_update(hctx *, const uschar *a, int); +extern void exim_sha_update_string(hctx *, const uschar *a); extern void exim_sha_finish(hctx *, blob *); #endif