SPDX: Mass-update to GPL-2.0-or-later
[exim.git] / src / src / macros.h
index 5e26a7bcea0f8a24f84e9ee67018763eb969fe45..243c1e5a0dd4f5a863d21d4e3547a65d95346bc5 100644 (file)
@@ -2,9 +2,10 @@
 *     Exim - an Internet mail transport agent    *
 *************************************************/
 
+/* Copyright (c) The Exim Maintainers 2020 - 2022 */
 /* Copyright (c) University of Cambridge 1995 - 2018 */
-/* Copyright (c) The Exim Maintainers 2020 - 2021 */
 /* See the file NOTICE for conditions of use and distribution. */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 
 
 /* These two macros make it possible to obtain the result of macro-expanding
@@ -105,6 +106,7 @@ don't make the file descriptors two-way. */
 
 /* Debugging control */
 
+#define LOG_NAME_SIZE 256
 #define DEBUG(x)      if (debug_selector & (x))
 #define HDEBUG(x)     if (host_checking || debug_selector & (x))
 
@@ -492,9 +494,6 @@ enum logbit {
   Li_smtp_mailauth,
   Li_smtp_no_mail,
   Li_subject,
-#ifdef ALLOW_INSECURE_TAINTED_DATA
-  Li_tainted,
-#endif
   Li_tls_certificate_verified,
   Li_tls_cipher,
   Li_tls_peerdn,
@@ -1054,9 +1053,10 @@ enum { FILTER_UNSET, FILTER_FORWARD, FILTER_EXIM, FILTER_SIEVE };
 
 
 /* Options on tls_close */
-#define TLS_NO_SHUTDOWN                0
-#define TLS_SHUTDOWN_NOWAIT    1
-#define TLS_SHUTDOWN_WAIT      2
+#define TLS_NO_SHUTDOWN                0       /* Just forget the context */
+#define TLS_SHUTDOWN_NOWAIT    1       /* Send alert; do not wait */
+#define TLS_SHUTDOWN_WAIT      2       /* Send alert & wait for peer's alert */
+#define TLS_SHUTDOWN_WONLY     3       /* only wait for peer's alert */
 
 
 #ifdef COMPILE_UTILITY
@@ -1112,7 +1112,17 @@ should not be one active. */
 
 
 #define NOTIFIER_SOCKET_NAME   "exim_daemon_notify"
-#define NOTIFY_MSG_QRUN                1       /* Notify message types */
+/* Notify message types */
+#define NOTIFY_MSG_QRUN                1
 #define NOTIFY_QUEUE_SIZE_REQ  2
+#define NOTIFY_REGEX           3
+
+/* Flags for match_check_string() */
+typedef unsigned mcs_flags;
+#define MCS_NOFLAGS            0
+#define MCS_PARTIAL            BIT(0)  /* permit partial- search types */
+#define MCS_CASELESS           BIT(1)  /* caseless matching where possible */
+#define MCS_AT_SPECIAL         BIT(2)  /* recognize @, @[], etc. */
+#define MCS_CACHEABLE          BIT(3)  /* no dynamic expansions used for pattern */
 
 /* End of macros.h */