X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/8523533c08c018ac4b750b0e0fab6cfe611e8a49..935ff400bc242e824ad2e1d2b5571fb9e611f923:/src/src/structs.h diff --git a/src/src/structs.h b/src/src/structs.h index 3ffe0cecf..d64ef51fb 100644 --- a/src/src/structs.h +++ b/src/src/structs.h @@ -1,10 +1,10 @@ -/* $Cambridge: exim/src/src/structs.h,v 1.2 2004/12/16 15:11:47 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 - 2004 */ +/* 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; /* ) */ @@ -223,7 +225,7 @@ typedef struct router_instance { uschar *address_data; /* Arbitrary data */ #ifdef EXPERIMENTAL_BRIGHTMAIL uschar *bmi_rule; /* Brightmail AntiSpam rule checking */ -#endif +#endif uschar *cannot_route_message; /* Used when routing fails */ uschar *condition; /* General condition */ uschar *current_directory; /* For use during delivery */ @@ -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 */ @@ -469,6 +472,10 @@ typedef struct address_item_propagated { uschar *errors_address; /* where to send errors (NULL => sender) */ header_line *extra_headers; /* additional headers */ uschar *remove_headers; /* list of those to remove */ + + #ifdef EXPERIMENTAL_SRS + uschar *srs_sender; /* Change return path when delivering */ + #endif } address_item_propagated; /* Bits for the flags field below */ @@ -498,6 +505,8 @@ typedef struct address_item_propagated { #define af_verify_callout 0x00400000 /* for cached sender verify: callout was specified */ #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 */ @@ -771,7 +780,7 @@ typedef struct acl_condition_block { int type; union { BOOL negated; - int varnumber; + uschar *varname; } u; } acl_condition_block;