X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/f6c332bd03c89f108c7fe531156cb18d7888ba35..d9784128d573baed950d9b0c6aef1c864c33b4b4:/src/src/structs.h diff --git a/src/src/structs.h b/src/src/structs.h index d64ef51fb..b89d2cad3 100644 --- a/src/src/structs.h +++ b/src/src/structs.h @@ -1,10 +1,8 @@ -/* $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 - 2006 */ +/* Copyright (c) University of Cambridge 1995 - 2013 */ /* See the file NOTICE for conditions of use and distribution. */ @@ -186,6 +184,9 @@ typedef struct transport_instance { BOOL log_fail_output; BOOL log_defer_output; BOOL retry_use_local_part; /* Defaults true for local, false for remote */ +#ifdef EXPERIMENTAL_TPDA + uschar *tpda_delivery_action; /* String to expand on success */ +#endif } transport_instance; @@ -322,34 +323,7 @@ typedef struct router_info { /* Structure for holding information about a lookup type. */ -typedef struct lookup_info { - uschar *name; /* e.g. "lsearch" */ - int type; /* query/singlekey/abs-file */ - void *(*open)( /* open function */ - uschar *, /* file name for those that have one */ - uschar **); /* for error message */ - BOOL (*check)( /* file checking function */ - void *, /* handle */ - uschar *, /* file name */ - int, /* modemask for file checking */ - uid_t *, /* owners for file checking */ - gid_t *, /* owngroups for file checking */ - uschar **); /* for error messages */ - int (*find)( /* find function */ - void *, /* handle */ - uschar *, /* file name or NULL */ - uschar *, /* key or query */ - int, /* length of key or query */ - uschar **, /* for returning answer */ - uschar **, /* for error message */ - BOOL *); /* to request cache cleanup */ - void (*close)( /* close function */ - void *); /* handle */ - void (*tidy)(void); /* tidy function */ - uschar *(*quote)( /* quoting function */ - uschar *, /* string to quote */ - uschar *); /* additional data from quote name */ -} lookup_info; +#include "lookupapi.h" /* Structure for holding information about the configured authentication @@ -362,8 +336,10 @@ typedef struct auth_instance { void *options_block; /* Pointer to private options */ uschar *driver_name; /* Must be first */ uschar *advertise_condition; /* Are we going to advertise this?*/ + uschar *client_condition; /* Should the client try this? */ uschar *public_name; /* Advertised name */ - uschar *set_id; /* String to set as authenticated id */ + uschar *set_id; /* String to set when server as authenticated id */ + uschar *set_client_id; /* String to set when client as client_authenticated id */ uschar *mail_auth_condition; /* Condition for AUTH on MAIL command */ uschar *server_debug_string; /* Debugging output */ uschar *server_condition; /* Authorization condition */ @@ -395,6 +371,8 @@ typedef struct auth_info { int, /* command timeout */ uschar *, /* buffer for reading response */ int); /* sizeof buffer */ + void (*version_report)( /* diagnostic version reporting */ + FILE *); /* I/O stream to print to */ } auth_info; @@ -507,6 +485,10 @@ typedef struct address_item_propagated { #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 */ +#ifdef EXPERIMENTAL_PRDR +# define af_prdr_used 0x08000000 /* delivery used SMTP PRDR */ +#endif +#define af_force_command 0x10000000 /* force_command in pipe transport */ /* These flags must be propagated when a child is created */ @@ -561,6 +543,10 @@ typedef struct address_item { uschar *peerdn; /* DN of server's certificate */ #endif + uschar *authenticator; /* auth driver name used by transport */ + uschar *auth_id; /* auth "login" name used by transport */ + uschar *auth_sndr; /* AUTH arg to SMTP MAIL, used by transport */ + uid_t uid; /* uid for transporting */ gid_t gid; /* gid for transporting */