SPF: fix memory accounting for error case
[exim.git] / src / exim_monitor / em_globals.c
index 3277012f07313eda40536b26f4fd96c02e9937c7..3d452c6ec177436fa30a372ac03315dba82aa9ce 100644 (file)
@@ -2,7 +2,8 @@
 *                Exim Monitor                    *
 *************************************************/
 
 *                Exim Monitor                    *
 *************************************************/
 
-/* Copyright (c) University of Cambridge 1995 - 2012 */
+/* Copyright (c) University of Cambridge 1995 - 2018 */
+/* Copyright (c) The Exim Maintainers 2021 */
 /* See the file NOTICE for conditions of use and distribution. */
 
 
 /* See the file NOTICE for conditions of use and distribution. */
 
 
@@ -81,7 +82,7 @@ uschar *queue_stripchart_name = NULL;
 int     queue_update = 60;
 int     queue_width = 600;
 
 int     queue_update = 60;
 int     queue_width = 600;
 
-pcre   *yyyymmdd_regex;
+pcre2_code   *yyyymmdd_regex;
 
 uschar *size_stripchart = NULL;
 uschar *size_stripchart_name = NULL;
 
 uschar *size_stripchart = NULL;
 uschar *size_stripchart_name = NULL;
@@ -89,7 +90,7 @@ int     spool_is_split = FALSE;
 int     start_small = FALSE;
 int     stripchart_height = 90;
 int     stripchart_number = 1;
 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;
 uschar **stripchart_title;
 int    *stripchart_total;
 int     stripchart_update = 60;
@@ -139,7 +140,7 @@ uschar *dkim_signers             = NULL;
 uschar *dkim_signing_domain      = NULL;
 uschar *dkim_signing_selector    = NULL;
 uschar *dkim_verify_signers      = US"$dkim_signers";
 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    dkim_disable_verify      = FALSE;
 #endif
 
@@ -148,6 +149,10 @@ BOOL    dont_deliver           = FALSE;
 int     dsn_ret                = 0;
 uschar *dsn_envid              = NULL;
 
 int     dsn_ret                = 0;
 uschar *dsn_envid              = NULL;
 
+struct global_flags f = {
+ .sender_local         = FALSE,
+};
+
 #ifdef WITH_CONTENT_SCAN
 int     fake_response          = OK;
 #endif
 #ifdef WITH_CONTENT_SCAN
 int     fake_response          = OK;
 #endif
@@ -187,23 +192,26 @@ uid_t   originator_uid;
 
 uschar *primary_hostname       = NULL;
 
 
 uschar *primary_hostname       = NULL;
 
+uschar *queue_name             = US"";
+
 int     received_count         = 0;
 uschar *received_protocol      = NULL;
 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     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_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;
 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;
 
 BOOL    sender_set_untrusted   = FALSE;
 uschar *smtp_active_hostname   = NULL;
 
@@ -215,18 +223,8 @@ int     string_datestamp_type  = -1;
 
 BOOL    timestamps_utc         = FALSE;
 tls_support tls_in = {
 
 BOOL    timestamps_utc         = FALSE;
 tls_support tls_in = {
- -1,   /* tls_active */
- 0,    /* bits */
- FALSE,        /* tls_certificate_verified */
-#ifdef EXPERIMENTAL_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 */
+ .active = { .sock = -1 }
+ /* remainder zero/null/false */
 };
 
 tree_node *tree_duplicates     = NULL;
 };
 
 tree_node *tree_duplicates     = NULL;