summaryrefslogtreecommitdiffstats
path: root/src/sha_ver.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/sha_ver.h')
-rw-r--r--src/sha_ver.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/sha_ver.h b/src/sha_ver.h
new file mode 100644
index 0000000..6140878
--- /dev/null
+++ b/src/sha_ver.h
@@ -0,0 +1,46 @@
+/*************************************************
+* Exim - an Internet mail transport agent *
+*************************************************/
+
+/* Copyright (c) Jeremy Harris 2018 */
+/* See the file NOTICE for conditions of use and distribution. */
+
+/* SHA routine selection */
+
+#include "exim.h"
+
+/* Please be aware that pulling in extra headers which are not in the system
+ * includes may require careful juggling of CFLAGS in
+ * scripts/Configure-Makefile -- that logic should be kept in sync with this.
+ * In particular, building with just something like USE_OPENSSL_PC=openssl
+ * and not massaging CFLAGS in Local/Makefile is fully supported.
+ */
+
+#ifdef SUPPORT_TLS
+
+# define EXIM_HAVE_SHA2
+
+# ifdef USE_GNUTLS
+# include <gnutls/gnutls.h>
+
+# if GNUTLS_VERSION_NUMBER >= 0x020a00
+# define SHA_GNUTLS
+# if GNUTLS_VERSION_NUMBER >= 0x030500
+# define EXIM_HAVE_SHA3 /*MMMM*/
+# endif
+# else
+# define SHA_GCRYPT
+# endif
+
+# else
+# define SHA_OPENSSL
+# include <openssl/ssl.h>
+# if (OPENSSL_VERSION_NUMBER >= 0x10101000L) && !defined(LIBRESSL_VERSION_NUMBER)
+# define EXIM_HAVE_SHA3
+# endif
+# endif
+
+#else
+# define SHA_NATIVE
+#endif
+