X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fsrc%2Fstructs.h;h=d9d37f1c028c41871d43293d130b38658df82865;hb=d953610fa77ec9a08fad9c1a183181079a79674e;hp=2a6ca68abf20030e8a79a548ef93d04680353dea;hpb=6d5c916cc5720591335fea53242dd6b97ea56fe3;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/structs.h b/src/src/structs.h index 2a6ca68ab..d9d37f1c0 100644 --- a/src/src/structs.h +++ b/src/src/structs.h @@ -28,10 +28,11 @@ struct router_info; /* Structure for remembering macros for the configuration file */ typedef struct macro_item { - struct macro_item *next; - BOOL command_line; - uschar *replacement; - uschar name[1]; + struct macro_item *next; + BOOL command_line; + unsigned namelen; + uschar * replacement; + uschar name[1]; } macro_item; /* Structure for bit tables for debugging and logging */ @@ -225,9 +226,12 @@ typedef struct transport_info { /* smtp transport datachunk callback */ +#define tc_reap_prev BIT(0) /* Flags: reap previous SMTP cmd responses */ +#define tc_chunk_last BIT(1) /* annotate chunk SMTP cmd as LAST */ + struct transport_context; typedef int (*tpt_chunk_cmd_cb)(int fd, struct transport_context * tctx, - unsigned len, BOOL last); + unsigned len, unsigned flags); /* Structure for information about a delivery-in-progress */ @@ -240,14 +244,7 @@ typedef struct transport_context { /* items below only used with option topt_use_bdat */ tpt_chunk_cmd_cb chunk_cb; /* per-datachunk callback */ - struct smtp_inblock * inblock; - struct smtp_outblock * outblock; - host_item * host; - struct address_item * first_addr; - struct address_item **sync_addr; - BOOL pending_MAIL; - BOOL * completed_address; - int cmd_count; + void * smtp_context; } transport_ctx; @@ -539,12 +536,13 @@ typedef struct address_item_propagated { #ifndef DISABLE_PRDR # define af_prdr_used 0x08000000 /* delivery used SMTP PRDR */ #endif -#define af_force_command 0x10000000 /* force_command in pipe transport */ +#define af_chunking_used 0x10000000 /* delivery used SMTP CHUNKING */ +#define af_force_command 0x20000000 /* force_command in pipe transport */ #ifdef EXPERIMENTAL_DANE -# define af_dane_verified 0x20000000 /* TLS cert verify done with DANE */ +# define af_dane_verified 0x40000000 /* TLS cert verify done with DANE */ #endif #ifdef SUPPORT_I18N -# define af_utf8_downcvt 0x40000000 /* downconvert was done for delivery */ +# define af_utf8_downcvt 0x80000000 /* downconvert was done for delivery */ #endif /* These flags must be propagated when a child is created */ @@ -723,11 +721,11 @@ typedef struct search_cache { uncompressed, but the data pointer is into the raw data. */ typedef struct { - uschar name[DNS_MAXNAME]; /* domain name */ - int type; /* record type */ - unsigned short ttl; /* time-to-live, seconds */ - int size; /* size of data */ - uschar *data; /* pointer to data */ + uschar name[DNS_MAXNAME]; /* domain name */ + int type; /* record type */ + unsigned short ttl; /* time-to-live, seconds */ + int size; /* size of data */ + const uschar *data; /* pointer to data */ } dns_record; /* Structure for holding the result of a DNS query. */ @@ -741,9 +739,9 @@ typedef struct { block. */ typedef struct { - int rrcount; /* count of RRs in the answer */ - uschar *aptr; /* pointer in the answer while scanning */ - dns_record srr; /* data from current record in scan */ + int rrcount; /* count of RRs in the answer */ + const uschar *aptr; /* pointer in the answer while scanning */ + dns_record srr; /* data from current record in scan */ } dns_scan; /* Structure for holding a chain of IP addresses that are extracted from @@ -867,6 +865,7 @@ struct ob_dkim { uschar *dkim_canon; uschar *dkim_sign_headers; uschar *dkim_strict; -} dkim; + BOOL dot_stuffed; +}; /* End of structs.h */