X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/2333e06f406b5d66068cef3e20ab223fc6650307..32b8ce41b3fe2ea10f3343a6c9e0acfccea40dd6:/src/src/globals.h diff --git a/src/src/globals.h b/src/src/globals.h index b3747a84a..1c58a936b 100644 --- a/src/src/globals.h +++ b/src/src/globals.h @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2016 */ +/* Copyright (c) University of Cambridge 1995 - 2017 */ /* See the file NOTICE for conditions of use and distribution. */ /* Almost all the global variables are defined together in this one header, so @@ -136,9 +136,9 @@ extern uschar *dsn_advertise_hosts; /* host for which TLS is advertised */ /* Input-reading functions for messages, so we can use special ones for incoming TCP/IP. */ -extern int (*lwr_receive_getc)(void); +extern int (*lwr_receive_getc)(unsigned); extern int (*lwr_receive_ungetc)(int); -extern int (*receive_getc)(void); +extern int (*receive_getc)(unsigned); extern void (*receive_get_cache)(void); extern int (*receive_ungetc)(int); extern int (*receive_feof)(void); @@ -160,6 +160,7 @@ extern header_line *acl_added_headers; /* Headers added by an ACL */ extern tree_node *acl_anchor; /* Tree of named ACLs */ extern uschar *acl_arg[9]; /* Argument to ACL call */ extern int acl_narg; /* Number of arguments to ACL call */ +extern int acl_level; /* Nesting depth and debug indent */ extern uschar *acl_not_smtp; /* ACL run for non-SMTP messages */ #ifdef WITH_CONTENT_SCAN extern uschar *acl_not_smtp_mime; /* For MIME parts of ditto */ @@ -245,6 +246,7 @@ extern int bmi_deliver; /* Flag that determines if the message sh extern int bmi_run; /* Flag that determines if message should be run through Brightmail server */ extern uschar *bmi_verdicts; /* BASE64-encoded verdicts with recipient lists */ #endif +extern int bsmtp_transaction_linecount; /* Start of last transaction */ extern int body_8bitmime; /* sender declared BODY= ; 7=7BIT, 8=8BITMIME */ extern uschar *bounce_message_file; /* Template file */ extern uschar *bounce_message_text; /* One-liner */ @@ -254,7 +256,7 @@ extern int bounce_return_linesize_limit; /* Max line length in return */ extern BOOL bounce_return_message; /* Include message in bounce */ extern int bounce_return_size_limit; /* Max amount to return */ extern uschar *bounce_sender_authentication; /* AUTH address for bounces */ -extern int bsmtp_transaction_linecount; /* Start of last transaction */ +extern uschar *builtin_macros_create_trigger; /* config file line causing lazy-create */ extern uschar *callout_address; /* Address used for a malware/spamd/verify etc. callout */ extern int callout_cache_domain_positive_expire; /* Time for positive domain callout cache records to expire */ @@ -281,13 +283,14 @@ extern uschar *clmacros[]; /* Copy of them, for re-exec */ extern int connection_max_messages;/* Max down one SMTP connection */ extern BOOL config_changed; /* True if -C used */ extern FILE *config_file; /* Configuration file */ -extern uschar *config_filename; /* Configuration file name */ +extern const uschar *config_filename; /* Configuration file name */ extern gid_t config_gid; /* Additional group owner */ extern int config_lineno; /* Line number */ extern uschar *config_main_filelist; /* List of possible config files */ extern uschar *config_main_filename; /* File name actually used */ extern uschar *config_main_directory; /* Directory where the main config file was found */ extern uid_t config_uid; /* Additional owner */ +extern uschar *continue_proxy_cipher; /* TLS cipher for proxied continued delivery */ extern uschar *continue_hostname; /* Host for continued delivery */ extern uschar *continue_host_address; /* IP address for ditto */ extern BOOL continue_more; /* Flag more addresses waiting */ @@ -297,11 +300,17 @@ extern uschar *continue_transport; /* Transport for continued delivery */ extern uschar *csa_status; /* Client SMTP Authorization result */ typedef struct { + unsigned callout_hold_only:1; /* Conn is only for verify callout */ unsigned delivery:1; /* When to attempt */ - unsigned defer_pass:1; /* Pass 4xx to caller rather than spoolling */ + unsigned defer_pass:1; /* Pass 4xx to caller rather than spooling */ + unsigned is_tls:1; /* Conn has TLS active */ int fd; /* Open connection */ int nrcpt; /* Count of addresses */ + uschar * transport; /* Name of transport */ uschar * interface; /* (address of) */ + uschar * snd_ip; /* sending_ip_address */ + int snd_port; /* sending_port */ + unsigned peer_options; /* smtp_peer_options */ host_item host; /* Host used */ address_item addr; /* (Chain of) addresses */ } cut_t; @@ -326,6 +335,7 @@ extern FILE *debug_file; /* Where to write debugging info */ extern int debug_notall[]; /* Debug options excluded from +all */ extern bit_table debug_options[]; /* Table of debug options */ extern int debug_options_count; /* Size of table */ +extern BOOL debug_store; /* Do extra checks on store_reset */ extern int delay_warning[]; /* Times between warnings */ extern uschar *delay_warning_condition; /* Condition string for warnings */ extern BOOL delivery_date_remove; /* Remove delivery-date headers */ @@ -442,6 +452,7 @@ extern uschar *exim_path; /* Path to exec exim */ extern const uschar *exim_sieve_extension_list[]; /* list of sieve extensions */ extern uid_t exim_uid; /* Non-root uid for exim */ extern BOOL exim_uid_set; /* TRUE if exim_uid set */ +extern int expand_level; /* Nesting depth; indent for debug */ extern int expand_forbid; /* RDO flags for forbidding things */ extern int expand_nlength[]; /* Lengths of numbered strings */ extern int expand_nmax; /* Max numerical value */ @@ -683,7 +694,7 @@ extern BOOL queue_only_override; /* Allow override from command line */ extern BOOL queue_only_policy; /* ACL or local_scan wants queue_only */ extern BOOL queue_run_in_order; /* As opposed to random */ extern uschar *queue_run_max; /* Max queue runners */ -extern BOOL queue_smtp; /* Disable all immediate STMP (-odqs)*/ +extern BOOL queue_smtp; /* Disable all immediate SMTP (-odqs)*/ extern uschar *queue_smtp_domains; /* Ditto, for these domains */ extern unsigned int random_seed; /* Seed for random numbers */ @@ -789,7 +800,7 @@ extern uschar *sending_ip_address; /* Address of outgoing (SMTP) interface * extern int sending_port; /* Port of outgoing interface */ extern SIGNAL_BOOL sigalrm_seen; /* Flag for sigalrm_handler */ extern uschar **sighup_argv; /* Args for re-execing after SIGHUP */ -extern int slow_lookup_log; /* Log DNS lookups taking loger than N millisecs */ +extern int slow_lookup_log; /* Log DNS lookups taking longer than N millisecs */ extern int smtp_accept_count; /* Count of connections */ extern BOOL smtp_accept_keepalive; /* Set keepalive on incoming */ extern int smtp_accept_max; /* Max SMTP connections */ @@ -906,6 +917,7 @@ extern uid_t system_filter_uid; /* Uid for running system filter */ extern BOOL system_filter_uid_set; /* TRUE if uid set */ extern BOOL system_filtering; /* TRUE when running system filter */ +extern BOOL tcp_fastopen_ok; /* appears to be supported by kernel */ extern BOOL tcp_nodelay; /* Controls TCP_NODELAY on daemon */ #ifdef USE_TCP_WRAPPERS extern uschar *tcp_wrappers_daemon_name; /* tcpwrappers daemon lookup name */