X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/9e160d8100cd15517a3444c1ad8ab81e51399582..81344b40e3de597f60758926e5e1ae7a81dd5457:/src/src/structs.h diff --git a/src/src/structs.h b/src/src/structs.h index ac3efa587..6662e6458 100644 --- a/src/src/structs.h +++ b/src/src/structs.h @@ -333,6 +333,7 @@ typedef struct router_instance { BOOL retry_use_local_part; /* Just what it says */ BOOL same_domain_copy_routing; /* TRUE => copy routing for same domain */ BOOL self_rewrite; /* TRUE to rewrite headers if making local */ + uschar *set; /* Variable = value to set; list */ BOOL suffix_optional; /* As it says */ BOOL verify_only; /* Skip this router if not verifying */ BOOL verify_recipient; /* Use this router when verifying a recipient*/ @@ -444,6 +445,7 @@ typedef struct ip_address_item { int port; BOOL v6_include_v4; /* Used in the daemon */ uschar address[46]; + uschar * log; /* portion of "listening on" log line */ } ip_address_item; /* Structure for chaining together arbitrary strings. */ @@ -509,16 +511,17 @@ 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 */ + void *variables; /* router-vasriables */ - #ifdef EXPERIMENTAL_SRS +#ifdef EXPERIMENTAL_SRS uschar *srs_sender; /* Change return path when delivering */ - #endif +#endif BOOL ignore_error:1; /* ignore delivery error */ - #ifdef SUPPORT_I18N +#ifdef SUPPORT_I18N BOOL utf8_msg:1; /* requires SMTPUTF8 processing */ BOOL utf8_downcvt:1; /* mandatory downconvert on delivery */ BOOL utf8_downcvt_maybe:1; /* optional downconvert on delivery */ - #endif +#endif } address_item_propagated; @@ -566,7 +569,7 @@ typedef struct address_item { uschar *self_hostname; /* after self=pass */ uschar *shadow_message; /* info about shadow transporting */ -#ifdef SUPPORT_TLS +#ifndef DISABLE_TLS uschar *cipher; /* Cipher used for transport */ void *ourcert; /* Certificate offered to peer, binary */ void *peercert; /* Certificate from peer, binary */ @@ -622,7 +625,7 @@ typedef struct address_item { BOOL af_tcp_fastopen:1; /* delivery usefully used TCP Fast Open */ BOOL af_tcp_fastopen_data:1; /* delivery sent SMTP commands on TCP Fast Open */ BOOL af_pipelining:1; /* delivery used (traditional) pipelining */ -#ifdef EXPERIMENTAL_PIPE_CONNECT +#ifndef DISABLE_PIPE_CONNECT BOOL af_early_pipe:1; /* delivery used connect-time pipelining */ #endif #ifndef DISABLE_PRDR @@ -635,6 +638,9 @@ typedef struct address_item { #endif #ifdef SUPPORT_I18N BOOL af_utf8_downcvt:1; /* downconvert was done for delivery */ +#endif +#ifdef EXPERIMENTAL_TLS_RESUME + BOOL af_tls_resume:1; /* TLS used a resumed session */ #endif } flags; @@ -722,7 +728,11 @@ for the lookups cache */ typedef struct expiring_data { time_t expiry; /* if nonzero, data invalid after this time */ - void *ptr; /* pointer to data */ + union + { + void *ptr; /* pointer to data */ + int val; /* or integer data */ + } data; } expiring_data; /* Structure for holding the handle and the cached last lookup for searches. @@ -800,6 +810,11 @@ typedef struct { host_item * host; int host_af; uschar * interface; + +#ifdef SUPPORT_DANE + BOOL dane:1; /* connection must do dane */ + dns_answer tlsa_dnsa; /* strictly, this should use tainted mem */ +#endif } smtp_connect_args; /* A client-initiated connection. If TLS, the second element is non-NULL */