"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/structs.h" between
exim-4.91.tar.xz and exim-4.92.tar.xz

About: Exim is a message transfer agent (MTA).

structs.h  (exim-4.91.tar.xz):structs.h  (exim-4.92.tar.xz)
skipping to change at line 67 skipping to change at line 67
BOOL uid_set; BOOL uid_set;
BOOL gid_set; BOOL gid_set;
BOOL initgroups; BOOL initgroups;
} ugid_block; } ugid_block;
typedef enum { CHUNKING_NOT_OFFERED = -1, typedef enum { CHUNKING_NOT_OFFERED = -1,
CHUNKING_OFFERED, CHUNKING_OFFERED,
CHUNKING_ACTIVE, CHUNKING_ACTIVE,
CHUNKING_LAST} chunking_state_t; CHUNKING_LAST} chunking_state_t;
typedef enum { TFO_NOT_USED = 0,
TFO_ATTEMPTED_NODATA,
TFO_ATTEMPTED_DATA,
TFO_USED_NODATA,
TFO_USED_DATA } tfo_state_t;
/* Structure for holding information about a host for use mainly by routers, /* Structure for holding information about a host for use mainly by routers,
but also used when checking lists of hosts and when transporting. Looking up but also used when checking lists of hosts and when transporting. Looking up
host addresses is done using this structure. */ host addresses is done using this structure. */
typedef enum {DS_UNK=-1, DS_NO, DS_YES} dnssec_status_t; typedef enum {DS_UNK=-1, DS_NO, DS_YES} dnssec_status_t;
typedef struct host_item { typedef struct host_item {
struct host_item *next; struct host_item *next;
const uschar *name; /* Host name */ const uschar *name; /* Host name */
const uschar *address; /* IP address in text form */ const uschar *address; /* IP address in text form */
skipping to change at line 413 skipping to change at line 419
void *options_block; /* Points to default private block */ void *options_block; /* Points to default private block */
int options_len; /* Length of same in bytes */ int options_len; /* Length of same in bytes */
void (*init)( /* initialization function */ void (*init)( /* initialization function */
struct auth_instance *); struct auth_instance *);
/****/ /****/
int (*servercode)( /* server function */ int (*servercode)( /* server function */
auth_instance *, /* the instance data */ auth_instance *, /* the instance data */
uschar *); /* rest of AUTH command */ uschar *); /* rest of AUTH command */
int (*clientcode)( /* client function */ int (*clientcode)( /* client function */
struct auth_instance *, struct auth_instance *,
struct smtp_inblock *, /* socket and input buffer */ void *, /* smtp conn, with socket, output and input buf
struct smtp_outblock *, /* socket and output buffer */ fers */
int, /* command timeout */ int, /* command timeout */
uschar *, /* buffer for reading response */ uschar *, /* buffer for reading response */
int); /* sizeof buffer */ int); /* sizeof buffer */
void (*version_report)( /* diagnostic version reporting */ void (*version_report)( /* diagnostic version reporting */
FILE *); /* I/O stream to print to */ FILE *); /* I/O stream to print to */
} auth_info; } auth_info;
/* Structure for holding a single IP address and port; used for the chain of /* Structure for holding a single IP address and port; used for the chain of
addresses and ports for the local host. Make the char string large enough to addresses and ports for the local host. Make the char string large enough to
hold an IPv6 address. */ hold an IPv6 address. */
skipping to change at line 604 skipping to change at line 609
BOOL af_verify_pmfail:1; /* verify failure was postmaster callout */ BOOL af_verify_pmfail:1; /* verify failure was postmaster callout */
BOOL af_verify_nsfail:1; /* verify failure was null sender callout */ BOOL af_verify_nsfail:1; /* verify failure was null sender callout */
BOOL af_homonym:1; /* an ancestor has same address */ BOOL af_homonym:1; /* an ancestor has same address */
BOOL af_verify_routed:1; /* for cached sender verify: routed OK */ BOOL af_verify_routed:1; /* for cached sender verify: routed OK */
BOOL af_verify_callout:1; /* for cached sender verify: callout was specified */ BOOL af_verify_callout:1; /* for cached sender verify: callout was specified */
BOOL af_include_affixes:1; /* delivered with affixes in RCPT */ BOOL af_include_affixes:1; /* delivered with affixes in RCPT */
BOOL af_cert_verified:1; /* delivered with verified TLS cert */ BOOL af_cert_verified:1; /* delivered with verified TLS cert */
BOOL af_pass_message:1; /* pass message in bounces */ BOOL af_pass_message:1; /* pass message in bounces */
BOOL af_bad_reply:1; /* filter could not generate autoreply */ BOOL af_bad_reply:1; /* filter could not generate autoreply */
BOOL af_tcp_fastopen_conn:1; /* delivery connection used TCP Fast Open */ BOOL af_tcp_fastopen_conn:1; /* delivery connection used TCP Fast Open */
BOOL af_tcp_fastopen:1; /* delivery usefuly used TCP Fast Open */ BOOL af_tcp_fastopen:1; /* delivery usefully used TCP Fast Open *
/
BOOL af_tcp_fastopen_data:1; /* delivery sent SMTP commands on TCP Fas
t Open */
BOOL af_pipelining:1; /* delivery used (traditional) pipelining
*/
#ifdef EXPERIMENTAL_PIPE_CONNECT
BOOL af_early_pipe:1; /* delivery used connect-time pipelining
*/
#endif
#ifndef DISABLE_PRDR #ifndef DISABLE_PRDR
BOOL af_prdr_used:1; /* delivery used SMTP PRDR */ BOOL af_prdr_used:1; /* delivery used SMTP PRDR */
#endif #endif
BOOL af_chunking_used:1; /* delivery used SMTP CHUNKING */ BOOL af_chunking_used:1; /* delivery used SMTP CHUNKING */
BOOL af_force_command:1; /* force_command in pipe transport */ BOOL af_force_command:1; /* force_command in pipe transport */
#ifdef SUPPORT_DANE #ifdef SUPPORT_DANE
BOOL af_dane_verified:1; /* TLS cert verify done with DANE */ BOOL af_dane_verified:1; /* TLS cert verify done with DANE */
#endif #endif
#ifdef SUPPORT_I18N #ifdef SUPPORT_I18N
BOOL af_utf8_downcvt:1; /* downconvert was done for delivery */ BOOL af_utf8_downcvt:1; /* downconvert was done for delivery */
skipping to change at line 729 skipping to change at line 739
uncompressed, but the data pointer is into the raw data. */ uncompressed, but the data pointer is into the raw data. */
typedef struct { typedef struct {
uschar name[DNS_MAXNAME]; /* domain name */ uschar name[DNS_MAXNAME]; /* domain name */
int type; /* record type */ int type; /* record type */
unsigned short ttl; /* time-to-live, seconds */ unsigned short ttl; /* time-to-live, seconds */
int size; /* size of data */ int size; /* size of data */
const uschar *data; /* pointer to data */ const uschar *data; /* pointer to data */
} dns_record; } dns_record;
/* Structure for holding the result of a DNS query. */ /* Structure for holding the result of a DNS query. A touch over
64k big, so take care to release as soon as possible. */
typedef struct { typedef struct {
int answerlen; /* length of the answer */ int answerlen; /* length of the answer */
uschar answer[MAXPACKET]; /* the answer itself */ uschar answer[NS_MAXMSG]; /* the answer itself */
} dns_answer; } dns_answer;
/* Structure for holding the intermediate data while scanning a DNS answer /* Structure for holding the intermediate data while scanning a DNS answer
block. */ block. */
typedef struct { typedef struct {
int rrcount; /* count of RRs in the answer */ int rrcount; /* count of RRs in the answer */
const uschar *aptr; /* pointer in the answer while scanning */ const uschar *aptr; /* pointer in the answer while scanning */
dns_record srr; /* data from current record in scan */ dns_record srr; /* data from current record in scan */
} dns_scan; } dns_scan;
skipping to change at line 770 skipping to change at line 781
unsigned int length; unsigned int length;
unsigned int abcd[4]; unsigned int abcd[4];
} }
md5; md5;
/* Structure used for holding intermediate data during SHA-1 computations. */ /* Structure used for holding intermediate data during SHA-1 computations. */
typedef struct sha1 { typedef struct sha1 {
unsigned int H[5]; unsigned int H[5];
unsigned int length; unsigned int length;
} } sha1;
sha1;
/* Information for making an smtp connection */
typedef struct {
transport_instance * tblock;
void * ob; /* smtp_transport_options_block * */
host_item * host;
int host_af;
uschar * interface;
} smtp_connect_args;
/* A client-initiated connection. If TLS, the second element is non-NULL */
typedef struct {
int sock;
void * tls_ctx;
} client_conn_ctx;
/* Structure used to hold incoming packets of SMTP responses for a specific /* Structure used to hold incoming packets of SMTP responses for a specific
socket. The packets which may contain multiple lines (and in some cases, socket. The packets which may contain multiple lines (and in some cases,
multiple responses). */ multiple responses). */
typedef struct smtp_inblock { typedef struct smtp_inblock {
int sock; /* the socket */ client_conn_ctx * cctx; /* the connection */
int buffersize; /* the size of the buffer */ int buffersize; /* the size of the buffer */
uschar *ptr; /* current position in the buffer */ uschar *ptr; /* current position in the buffer */
uschar *ptrend; /* end of data in the buffer */ uschar *ptrend; /* end of data in the buffer */
uschar *buffer; /* the buffer itself */ uschar *buffer; /* the buffer itself */
} smtp_inblock; } smtp_inblock;
/* Structure used to hold buffered outgoing packets of SMTP commands for a /* Structure used to hold buffered outgoing packets of SMTP commands for a
specific socket. The packets which may contain multiple lines when pipelining specific socket. The packets which may contain multiple lines when pipelining
is in use. */ is in use. */
typedef struct smtp_outblock { typedef struct smtp_outblock {
int sock; /* the socket */ client_conn_ctx * cctx; /* the connection */
int cmd_count; /* count of buffered commands */ int cmd_count; /* count of buffered commands */
int buffersize; /* the size of the buffer */ int buffersize; /* the size of the buffer */
BOOL authenticating; /* TRUE when authenticating */ BOOL authenticating; /* TRUE when authenticating */
uschar *ptr; /* current position in the buffer */ uschar *ptr; /* current position in the buffer */
uschar *buffer; /* the buffer itself */ uschar *buffer; /* the buffer itself */
smtp_connect_args * conn_args; /* to make connection, if not yet made */
} smtp_outblock; } smtp_outblock;
/* Structure to hold information about the source of redirection information */ /* Structure to hold information about the source of redirection information */
typedef struct redirect_block { typedef struct redirect_block {
uschar *string; /* file name or string */ uschar *string; /* file name or string */
uid_t *owners; /* allowed file owners */ uid_t *owners; /* allowed file owners */
gid_t *owngroups; /* allowed file groups */ gid_t *owngroups; /* allowed file groups */
struct passwd *pw; /* possible owner if not NULL */ struct passwd *pw; /* possible owner if not NULL */
int modemask; /* forbidden bits */ int modemask; /* forbidden bits */
skipping to change at line 868 skipping to change at line 895
/* DKIM information for transport */ /* DKIM information for transport */
struct ob_dkim { struct ob_dkim {
uschar *dkim_domain; uschar *dkim_domain;
uschar *dkim_identity; uschar *dkim_identity;
uschar *dkim_private_key; uschar *dkim_private_key;
uschar *dkim_selector; uschar *dkim_selector;
uschar *dkim_canon; uschar *dkim_canon;
uschar *dkim_sign_headers; uschar *dkim_sign_headers;
uschar *dkim_strict; uschar *dkim_strict;
uschar *dkim_hash; uschar *dkim_hash;
uschar *dkim_timestamps;
BOOL dot_stuffed; BOOL dot_stuffed;
BOOL force_bodyhash; BOOL force_bodyhash;
#ifdef EXPERIMENTAL_ARC #ifdef EXPERIMENTAL_ARC
uschar *arc_signspec; uschar *arc_signspec;
#endif #endif
}; };
/* End of structs.h */ /* End of structs.h */
 End of changes. 10 change blocks. 
9 lines changed or deleted 42 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)