Make success expansion a per-transport option
[users/jgh/exim.git] / src / src / globals.c
index 9645504f5611f22dc2486280b14fa49a77ebfa23..2345ac4e18642e086fa975492cb6ff34a0062082 100644 (file)
@@ -145,6 +145,12 @@ uschar *tls_verify_certificates= NULL;
 uschar *tls_verify_hosts       = NULL;
 #endif
 
+#ifdef EXPERIMENTAL_PRDR
+/* Per Recipient Data Response variables */
+BOOL    prdr_enable            = FALSE;
+BOOL    prdr_requested         = FALSE;
+const pcre *regex_PRDR         = NULL;
+#endif
 
 /* Input-reading functions for messages, so we can use special ones for
 incoming TCP/IP. The defaults use stdin. We never need these for any
@@ -202,6 +208,9 @@ uschar *acl_removed_headers    = NULL;
 uschar *acl_smtp_auth          = NULL;
 uschar *acl_smtp_connect       = NULL;
 uschar *acl_smtp_data          = NULL;
+#ifdef EXPERIMENTAL_PRDR
+uschar *acl_smtp_data_prdr     = NULL;
+#endif
 #ifndef DISABLE_DKIM
 uschar *acl_smtp_dkim          = NULL;
 #endif
@@ -235,6 +244,9 @@ uschar *acl_wherenames[]       = { US"RCPT",
                                    US"MIME",
                                    US"DKIM",
                                    US"DATA",
+#ifdef EXPERIMENTAL_PRDR
+                                   US"PRDR",
+#endif
                                    US"non-SMTP",
                                    US"AUTH",
                                    US"connection",
@@ -257,6 +269,9 @@ uschar *acl_wherecodes[]       = { US"550",     /* RCPT */
                                    US"550",     /* MIME */
                                    US"550",     /* DKIM */
                                    US"550",     /* DATA */
+#ifdef EXPERIMENTAL_PRDR
+                                   US"550",    /* RCPT PRDR */
+#endif
                                    US"0",       /* not SMTP; not relevant */
                                    US"503",     /* AUTH */
                                    US"550",     /* connect */
@@ -315,6 +330,9 @@ address_item address_defaults = {
   NULL,                 /* cipher */
   NULL,                 /* peerdn */
   #endif
+  NULL,                        /* authenticator */
+  NULL,                        /* auth_id */
+  NULL,                        /* auth_sndr */
   (uid_t)(-1),          /* uid */
   (gid_t)(-1),          /* gid */
   0,                    /* flags */
@@ -465,6 +483,17 @@ uschar *daemon_smtp_port       = US"smtp";
 int     daemon_startup_retries = 9;
 int     daemon_startup_sleep   = 30;
 
+#ifdef EXPERIMENTAL_DBL
+int     dbl_defer_errno        = 0;
+uschar *dbl_defer_errstr       = NULL;
+uschar *dbl_delivery_ip        = NULL;
+int     dbl_delivery_port      = 0;
+uschar *dbl_delivery_fqdn      = NULL;
+uschar *dbl_delivery_local_part= NULL;
+uschar *dbl_delivery_domain    = NULL;
+uschar *dbl_delivery_confirmation = NULL;
+#endif
+
 #ifdef EXPERIMENTAL_DCC
 BOOL    dcc_direct_add_header  = FALSE;
 uschar *dcc_header             = NULL;
@@ -572,6 +601,18 @@ uschar *dkim_verify_signers      = US"$dkim_signers";
 BOOL    dkim_collect_input       = FALSE;
 BOOL    dkim_disable_verify      = FALSE;
 #endif
+#ifdef EXPERIMENTAL_DMARC
+BOOL    dmarc_has_been_checked  = FALSE;
+uschar *dmarc_ar_header         = NULL;
+uschar *dmarc_forensic_sender   = NULL;
+uschar *dmarc_history_file      = NULL;
+uschar *dmarc_status            = NULL;
+uschar *dmarc_status_text       = NULL;
+uschar *dmarc_tld_file          = NULL;
+uschar *dmarc_used_domain       = NULL;
+BOOL    dmarc_disable_verify    = FALSE;
+BOOL    dmarc_enable_forensic   = FALSE;
+#endif
 
 uschar *dns_again_means_nonexist = NULL;
 int     dns_csa_search_limit   = 5;
@@ -579,7 +620,7 @@ BOOL    dns_csa_use_reverse    = TRUE;
 uschar *dns_ipv4_lookup        = NULL;
 int     dns_retrans            = 0;
 int     dns_retry              = 0;
-int     dns_use_dnssec         = -1; /* <0 = not coerced */
+int     dns_dnssec_ok          = -1; /* <0 = not coerced */
 int     dns_use_edns0          = -1; /* <0 = not coerced */
 uschar *dnslist_domain         = NULL;
 uschar *dnslist_matched        = NULL;
@@ -1068,6 +1109,8 @@ router_instance  router_defaults = {
     NULL                       /* redirect_router */
 };
 
+uschar *router_name            = NULL;
+
 ip_address_item *running_interfaces = NULL;
 BOOL    running_in_test_harness = FALSE;
 
@@ -1302,6 +1345,7 @@ transport_instance  transport_defaults = {
 };
 
 int     transport_count;
+uschar *transport_name          = NULL;
 int     transport_newlines;
 uschar **transport_filter_argv  = NULL;
 int     transport_filter_timeout;