* Exim Monitor *
*************************************************/
-/* Copyright (c) University of Cambridge 1995 - 2009 */
+/* Copyright (c) University of Cambridge 1995 - 2018 */
+/* Copyright (c) The Exim Maintainers 2021 */
/* See the file NOTICE for conditions of use and distribution. */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
#include "em_hdr.h"
int queue_update = 60;
int queue_width = 600;
-pcre *yyyymmdd_regex;
+pcre2_code *yyyymmdd_regex;
uschar *size_stripchart = NULL;
uschar *size_stripchart_name = NULL;
int start_small = FALSE;
int stripchart_height = 90;
int stripchart_number = 1;
-pcre **stripchart_regex;
+pcre2_code **stripchart_regex;
uschar **stripchart_title;
int *stripchart_total;
int stripchart_update = 60;
BOOL deliver_firsttime = FALSE;
BOOL deliver_freeze = FALSE;
-int deliver_frozen_at = 0;
+time_t deliver_frozen_at = 0;
BOOL deliver_manual_thaw = FALSE;
#ifndef DISABLE_DKIM
uschar *dkim_signing_domain = NULL;
uschar *dkim_signing_selector = NULL;
uschar *dkim_verify_signers = US"$dkim_signers";
-BOOL dkim_collect_input = FALSE;
+unsigned dkim_collect_input = 0;
BOOL dkim_disable_verify = FALSE;
#endif
BOOL dont_deliver = FALSE;
+int dsn_ret = 0;
+uschar *dsn_envid = NULL;
+
+struct global_flags f = {
+ .sender_local = FALSE,
+};
+
#ifdef WITH_CONTENT_SCAN
int fake_response = OK;
#endif
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 };
+struct timeval received_time_complete = { 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;
uschar *sender_helo_name = NULL;
uschar *sender_host_address = NULL;
+uschar *sender_host_auth_pubname = NULL;
uschar *sender_host_authenticated = NULL;
uschar *sender_host_name = NULL;
int sender_host_port = 0;
uschar *sender_ident = NULL;
-BOOL sender_local = FALSE;
BOOL sender_set_untrusted = FALSE;
uschar *smtp_active_hostname = NULL;
int string_datestamp_type = -1;
BOOL timestamps_utc = FALSE;
-BOOL tls_certificate_verified = FALSE;
-uschar *tls_cipher = NULL;
-uschar *tls_peerdn = NULL;
-#ifdef SUPPORT_TLS
-uschar *tls_sni = NULL;
-#endif
+tls_support tls_in = {
+ .active = { .sock = -1 }
+ /* remainder zero/null/false */
+};
tree_node *tree_duplicates = NULL;
tree_node *tree_nonrecipients = NULL;