/*
* Exim - an Internet mail transport agent
- *
- * Copyright (C) 2017 Exim maintainers
+ * Copyright (c) The Exim Maintainers 1995 - 2022
*
* Hash interface functions
*/
typedef enum hashmethod {
HASH_BADTYPE,
+ HASH_NULL,
HASH_SHA1,
HASH_SHA2_256,
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)
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