git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
consistent fork-time debug
[exim.git]
/
src
/
src
/
hash.h
diff --git
a/src/src/hash.h
b/src/src/hash.h
index 9e91f1aad776ad28b80448a0c1a294bf6f6c8c92..5bd47acd1f14081ec64ecea688994ea869f42d8e 100644
(file)
--- a/
src/src/hash.h
+++ b/
src/src/hash.h
@@
-1,7
+1,7
@@
/*
* Exim - an Internet mail transport agent
*
/*
* Exim - an Internet mail transport agent
*
- * Copyright (C)
2016
Exim maintainers
+ * Copyright (C)
1995 - 2018
Exim maintainers
*
* Hash interface functions
*/
*
* Hash interface functions
*/
@@
-12,7
+12,6
@@
#define HASH_H
#include "sha_ver.h"
#define HASH_H
#include "sha_ver.h"
-#include "blob.h"
#ifdef SHA_OPENSSL
# include <openssl/sha.h>
#ifdef SHA_OPENSSL
# include <openssl/sha.h>
@@
-31,8
+30,13
@@
typedef enum hashmethod {
HASH_BADTYPE,
typedef enum hashmethod {
HASH_BADTYPE,
+ HASH_NULL,
HASH_SHA1,
HASH_SHA1,
- HASH_SHA256,
+
+ HASH_SHA2_256,
+ HASH_SHA2_384,
+ HASH_SHA2_512,
+
HASH_SHA3_224,
HASH_SHA3_256,
HASH_SHA3_384,
HASH_SHA3_224,
HASH_SHA3_256,
HASH_SHA3_384,
@@
-46,7
+50,11
@@
typedef struct {
#ifdef SHA_OPENSSL
union {
SHA_CTX sha1; /* SHA1 block */
#ifdef SHA_OPENSSL
union {
SHA_CTX sha1; /* SHA1 block */
- SHA256_CTX sha2; /* SHA256 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)
} u;
#elif defined(SHA_GNUTLS)
@@
-67,10
+75,9
@@
typedef struct {
} hctx;
} hctx;
-extern
void
exim_sha_init(hctx *, hashmethod);
+extern
BOOL
exim_sha_init(hctx *, hashmethod);
extern void exim_sha_update(hctx *, const uschar *a, int);
extern void exim_sha_finish(hctx *, blob *);
extern void exim_sha_update(hctx *, const uschar *a, int);
extern void exim_sha_finish(hctx *, blob *);
-extern int exim_sha_hashlen(hctx *);
#endif
/* End of File */
#endif
/* End of File */