Fix too-often retry bug after 4xx with more hosts than hosts_max_retry.
[exim.git] / src / src / structs.h
index 8243788718e7fc72e6e1c3cdf467fd77073283d4..d64ef51fb0a6fae5ca563b78fde2062cca2cea06 100644 (file)
@@ -1,10 +1,10 @@
-/* $Cambridge: exim/src/src/structs.h,v 1.6 2005/05/24 08:15:02 tom Exp $ */
+/* $Cambridge: exim/src/src/structs.h,v 1.14 2006/10/30 16:41:04 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
 *************************************************/
 
-/* Copyright (c) University of Cambridge 1995 - 2005 */
+/* Copyright (c) University of Cambridge 1995 - 2006 */
 /* See the file NOTICE for conditions of use and distribution. */
 
 
@@ -67,7 +67,6 @@ typedef struct host_item {
   int     status;                 /* Usable, unusable, or unknown */
   int     why;                    /* Why host is unusable */
   int     last_try;               /* Time of last try if known */
-  BOOL    update_waiting;         /* Turned off if wait db not to be updated */
 } host_item;
 
 /* Chain of rewrite rules, read from the rewrite config, or parsed from the
@@ -89,6 +88,7 @@ typedef struct transport_feedback {
   uschar *port;
   uschar *protocol;
   uschar *hosts;
+  uschar *helo_data;
   BOOL   hosts_override;
   BOOL   hosts_randomize;
   BOOL   gethostbyname;
@@ -138,6 +138,8 @@ typedef struct transport_instance {
     struct transport_instance *,
     struct address_item *,
     struct transport_feedback *,  /* For passing back config data */
+    uid_t,                        /* The uid that will be used */
+    gid_t,                        /* The gid that will be used */
     uschar **);                   /* For an error message */
                                   /**************************************/
   int     batch_max;              /* )                                  */
@@ -307,7 +309,7 @@ typedef struct router_info {
     router_instance *,
     struct address_item *,
     struct passwd *,
-    BOOL,
+    int,
     struct address_item **,
     struct address_item **,
     struct address_item **,
@@ -364,6 +366,7 @@ typedef struct auth_instance {
   uschar *set_id;                 /* String to set as authenticated id */
   uschar *mail_auth_condition;    /* Condition for AUTH on MAIL command */
   uschar *server_debug_string;    /* Debugging output */
+  uschar *server_condition;       /* Authorization condition */
   BOOL    client;                 /* TRUE if client option(s) set */
   BOOL    server;                 /* TRUE if server options(s) set */
   BOOL    advertised;             /* Set TRUE when advertised */
@@ -503,6 +506,7 @@ typedef struct address_item_propagated {
 #define af_include_affixes     0x00800000 /* delivered with affixes in RCPT */
 #define af_cert_verified       0x01000000 /* delivered with verified TLS cert */
 #define af_pass_message        0x02000000 /* pass message in bounces */
+#define af_bad_reply           0x04000000 /* filter could not generate autoreply */
 
 /* These flags must be propagated when a child is created */
 
@@ -776,7 +780,7 @@ typedef struct acl_condition_block {
   int type;
   union {
     BOOL negated;
-    int varnumber;
+    uschar *varname;
   } u;
 } acl_condition_block;