Cutthrough: fix race resulting in duplicate-delivery. Bug 2273
[exim.git] / src / exim_monitor / em_globals.c
index f6dcef384d4350a8dc7b389005057b5a850f6e17..e0ed0244e5afee5fbfc4333a34ba0910a60a1a30 100644 (file)
@@ -1,10 +1,8 @@
-/* $Cambridge: exim/src/exim_monitor/em_globals.c,v 1.13 2008/01/16 09:32:25 tom Exp $ */
-
 /*************************************************
 *                Exim Monitor                    *
 *************************************************/
 
-/* Copyright (c) University of Cambridge 1995 - 2007 */
+/* Copyright (c) University of Cambridge 1995 - 2018 */
 /* See the file NOTICE for conditions of use and distribution. */
 
 
@@ -132,23 +130,24 @@ int     body_zerocount         = 0;
 
 BOOL    deliver_firsttime      = FALSE;
 BOOL    deliver_freeze         = FALSE;
-int     deliver_frozen_at      = 0;
+time_t  deliver_frozen_at      = 0;
 BOOL    deliver_manual_thaw    = FALSE;
 
-#ifdef EXPERIMENTAL_DOMAINKEYS
-uschar *dk_signing_domain      = NULL;
-uschar *dk_signing_selector    = NULL;
-int     dk_do_verify           = 0;
-#endif
-
-#ifdef EXPERIMENTAL_DKIM
-uschar *dkim_signing_domain    = NULL;
-uschar *dkim_signing_selector  = NULL;
-int dkim_do_verify             = 0;
+#ifndef DISABLE_DKIM
+uschar *dkim_cur_signer          = NULL;
+uschar *dkim_signers             = NULL;
+uschar *dkim_signing_domain      = NULL;
+uschar *dkim_signing_selector    = NULL;
+uschar *dkim_verify_signers      = US"$dkim_signers";
+unsigned dkim_collect_input      = 0;
+BOOL    dkim_disable_verify      = FALSE;
 #endif
 
 BOOL    dont_deliver           = FALSE;
 
+int     dsn_ret                = 0;
+uschar *dsn_envid              = NULL;
+
 #ifdef WITH_CONTENT_SCAN
 int     fake_response          = OK;
 #endif
@@ -166,6 +165,9 @@ uschar *local_scan_data        = NULL;
 BOOL    log_timezone           = FALSE;
 
 #ifdef WITH_CONTENT_SCAN
+uschar *spam_bar               = NULL;
+uschar *spam_report            = NULL;
+uschar *spam_score             = NULL;
 uschar *spam_score_int         = NULL;
 #endif
 
@@ -185,13 +187,15 @@ uid_t   originator_uid;
 
 uschar *primary_hostname       = NULL;
 
+uschar *queue_name             = US"";
+
 int     received_count         = 0;
 uschar *received_protocol      = NULL;
-int     received_time          = 0;
+struct timeval received_time   = { 0, 0 };
 int     recipients_count       = 0;
 recipient_item *recipients_list = NULL;
 int     recipients_list_max    = 0;
-int     running_in_test_harness=FALSE;
+BOOL    running_in_test_harness=FALSE;
 
 uschar *sender_address         = NULL;
 uschar *sender_fullhost        = NULL;
@@ -208,11 +212,24 @@ uschar *smtp_active_hostname   = NULL;
 BOOL    split_spool_directory  = FALSE;
 uschar *spool_directory        = US SPOOL_DIRECTORY;
 int     string_datestamp_offset=-1;
+int     string_datestamp_length= 0;
+int     string_datestamp_type  = -1;
 
 BOOL    timestamps_utc         = FALSE;
-BOOL    tls_certificate_verified = FALSE;
-uschar *tls_cipher             = NULL;
-uschar *tls_peerdn             = NULL;
+tls_support tls_in = {
+ -1,   /* tls_active */
+ 0,    /* bits */
+ FALSE,        /* tls_certificate_verified */
+#ifdef SUPPORT_DANE
+ FALSE, /* dane_verified */
+ 0,     /* tlsa_usage */
+#endif
+ NULL, /* tls_cipher */
+ FALSE,        /* tls_on_connect */
+ NULL, /* tls_on_connect_ports */
+ NULL, /* tls_peerdn */
+ NULL  /* tls_sni */
+};
 
 tree_node *tree_duplicates     = NULL;
 tree_node *tree_nonrecipients  = NULL;