SPDX: Mass-update to GPL-2.0-or-later
[exim.git] / src / src / exim.h
index 8bbeecb4de4748b6fed1174ecdc1e5951c06ed57..ccf14f0fd064af946305cfa9f8ad77768e5760a8 100644 (file)
@@ -2,8 +2,10 @@
 *     Exim - an Internet mail transport agent    *
 *************************************************/
 
+/* Copyright (c) The Exim Maintainers 2021 - 2022 */
 /* Copyright (c) University of Cambridge 1995 - 2018 */
 /* See the file NOTICE for conditions of use and distribution. */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 
 
 /* Source files for exim all #include this header, which drags in everything
@@ -522,7 +524,8 @@ extern int ferror(FILE *);
 
 /* The header from the PCRE regex package */
 
-#include <pcre.h>
+#define PCRE2_CODE_UNIT_WIDTH 8
+#include <pcre2.h>
 
 /* Exim includes are in several files. Note that local_scan.h #includes
 config.h, mytypes.h, and store.h, so we don't need to mention them explicitly.
@@ -530,11 +533,12 @@ config.h, mytypes.h, and store.h, so we don't need to mention them explicitly.
 
 #include "local_scan.h"
 #include "macros.h"
-#include "dbstuff.h"
+#include "hintsdb.h"
+#include "hintsdb_structs.h"
 #include "structs.h"
 #include "blob.h"
-#include "globals.h"
 #include "hash.h"
+#include "globals.h"
 #include "functions.h"
 #include "dbfunctions.h"
 #include "osfunctions.h"
@@ -545,9 +549,6 @@ config.h, mytypes.h, and store.h, so we don't need to mention them explicitly.
 #ifdef SUPPORT_SPF
 # include "spf.h"
 #endif
-#ifdef EXPERIMENTAL_SRS_ALT
-# include "srs.h"
-#endif
 #ifndef DISABLE_DKIM
 # include "dkim.h"
 #endif
@@ -659,5 +660,13 @@ default to EDQUOT if it exists, otherwise ENOSPC. */
 # define EXIM_TCP_CORK TCP_NOPUSH
 #endif
 
+/* LibreSSL seems to not push out the SMTP response to QUIT with our usual
+handling which is trying to get the client to FIN first so that the server does
+not get the TIME_WAIT */
+
+#if !defined(DISABLE_TLS) && defined(USE_OPENSSL) && defined(LIBRESSL_VERSION_NUMBER)
+# define SERVERSIDE_CLOSE_NOWAIT
+#endif
+
 #endif
 /* End of exim.h */