Apply Jakob Hirsch's patch for arbitrary ACL variable names, tidied up
[exim.git] / src / src / globals.c
index 2a6aba59273e0d4f35c8a9e6e15d6c70f27c0a03..a694053c56d5f9de238cea11cd5f5a510a92dbad 100644 (file)
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/globals.c,v 1.55 2006/07/13 13:53:33 ph10 Exp $ */
+/* $Cambridge: exim/src/src/globals.c,v 1.58 2006/09/19 11:28:45 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
@@ -186,7 +186,8 @@ uschar *acl_smtp_rcpt          = NULL;
 uschar *acl_smtp_starttls      = NULL;
 uschar *acl_smtp_vrfy          = NULL;
 BOOL    acl_temp_details       = FALSE;
-uschar *acl_var[ACL_CVARS + ACL_MVARS];
+tree_node *acl_var_c           = NULL;
+tree_node *acl_var_m           = NULL;
 uschar *acl_verify_message     = NULL;
 string_item *acl_warn_logged   = NULL;
 
@@ -449,7 +450,12 @@ bit_table debug_options[]      = {
 int     debug_options_count    = sizeof(debug_options)/sizeof(bit_table);
 unsigned int debug_selector    = 0;
 int     delay_warning[DELAY_WARNING_SIZE] = { DELAY_WARNING_SIZE, 1, 24*60*60 };
-uschar *delay_warning_condition= US"${if match{$h_precedence:}{(?i)bulk|list|junk}{no}{yes}}";
+uschar *delay_warning_condition=
+  US"${if or {"
+            "{ !eq{$h_list-id:$h_list-post:$h_list-subscribe:}{} }"
+            "{ match{$h_precedence:}{(?i)bulk|list|junk} }"
+            "{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }"
+            "} {no}{yes}}";
 BOOL    delivery_date_remove   = TRUE;
 uschar *deliver_address_data   = NULL;
 int     deliver_datafile       = -1;
@@ -1097,6 +1103,7 @@ uschar *srs_status             = NULL;
 BOOL    srs_usehash            = TRUE;
 BOOL    srs_usetimestamp       = TRUE;
 #endif
+BOOL    strict_acl_vars        = FALSE;
 int     string_datestamp_offset= -1;
 BOOL    strip_excess_angle_brackets = FALSE;
 BOOL    strip_trailing_dot     = FALSE;