Docs: Mention issues with TLS client cert and Exim <= 4.85
[users/heiko/exim.git] / src / src / sha_ver.h
index fd1a4d083f9dff176fdd323662c1801113ffbb94..bc2b2f89e6294e0820b7ea2f143c2a46f42c4cec 100644 (file)
@@ -2,14 +2,21 @@
 *     Exim - an Internet mail transport agent    *
 *************************************************/
 
-/* Copyright (c) Jeremy Harris 2016 */
+/* Copyright (c) Jeremy Harris 2018 */
 /* See the file NOTICE for conditions of use and distribution. */
 
 /* SHA routine selection */
 
 #include "exim.h"
 
-#ifdef SUPPORT_TLS
+/* 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.
+ */
+
+#ifndef DISABLE_TLS
 
 # define EXIM_HAVE_SHA2
 
 #  if GNUTLS_VERSION_NUMBER >= 0x020a00
 #   define SHA_GNUTLS
 #   if GNUTLS_VERSION_NUMBER >= 0x030500
-#    define EXIM_HAVE_SHA3
+#    define EXIM_HAVE_SHA3             /*MMMM*/
 #   endif
 #  else
 #   define SHA_GCRYPT
 #  endif
+# endif
 
-# else
+# ifdef USE_OPENSSL
 #  define SHA_OPENSSL
+#  include <openssl/ssl.h>
+#  if (OPENSSL_VERSION_NUMBER >= 0x10101000L) && !defined(LIBRESSL_VERSION_NUMBER)
+#   define EXIM_HAVE_SHA3
+#  endif
 # endif
 
 #else