X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/a5bd321b2f16ff323e3e268d59606e89b747a901..f3f065bbe8b7d7fdc4d46dbfa063ae4dfb05bfd7:/src/src/globals.c diff --git a/src/src/globals.c b/src/src/globals.c index 2a6aba592..b030c7f7b 100644 --- a/src/src/globals.c +++ b/src/src/globals.c @@ -1,10 +1,10 @@ -/* $Cambridge: exim/src/src/globals.c,v 1.55 2006/07/13 13:53:33 ph10 Exp $ */ +/* $Cambridge: exim/src/src/globals.c,v 1.67 2007/01/31 16:52:12 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2006 */ +/* Copyright (c) University of Cambridge 1995 - 2007 */ /* See the file NOTICE for conditions of use and distribution. */ /* All the global variables are defined together in this one module, so @@ -38,6 +38,8 @@ optionlist optionlist_auths[] = { (void *)(offsetof(auth_instance, public_name)) }, { "server_advertise_condition", opt_stringptr | opt_public, (void *)(offsetof(auth_instance, advertise_condition))}, + { "server_condition", opt_stringptr | opt_public, + (void *)(offsetof(auth_instance, server_condition)) }, { "server_debug_print", opt_stringptr | opt_public, (void *)(offsetof(auth_instance, server_debug_string)) }, { "server_mail_auth_condition", opt_stringptr | opt_public, @@ -107,6 +109,9 @@ uschar *tls_on_connect_ports = NULL; uschar *tls_peerdn = NULL; #ifdef SUPPORT_TLS +uschar *gnutls_require_mac = NULL; +uschar *gnutls_require_kx = NULL; +uschar *gnutls_require_proto = NULL; const pcre *regex_STARTTLS = NULL; uschar *tls_advertise_hosts = NULL; /* This is deliberate */ uschar *tls_certificate = NULL; @@ -186,7 +191,8 @@ uschar *acl_smtp_rcpt = NULL; uschar *acl_smtp_starttls = NULL; uschar *acl_smtp_vrfy = NULL; BOOL acl_temp_details = FALSE; -uschar *acl_var[ACL_CVARS + ACL_MVARS]; +tree_node *acl_var_c = NULL; +tree_node *acl_var_m = NULL; uschar *acl_verify_message = NULL; string_item *acl_warn_logged = NULL; @@ -324,6 +330,7 @@ auth_instance auth_defaults = { NULL, /* set_id */ NULL, /* server_mail_auth_condition */ NULL, /* server_debug_string */ + NULL, /* server_condition */ FALSE, /* client */ FALSE, /* server */ FALSE /* advertised */ @@ -449,7 +456,12 @@ bit_table debug_options[] = { int debug_options_count = sizeof(debug_options)/sizeof(bit_table); unsigned int debug_selector = 0; int delay_warning[DELAY_WARNING_SIZE] = { DELAY_WARNING_SIZE, 1, 24*60*60 }; -uschar *delay_warning_condition= US"${if match{$h_precedence:}{(?i)bulk|list|junk}{no}{yes}}"; +uschar *delay_warning_condition= + US"${if or {" + "{ !eq{$h_list-id:$h_list-post:$h_list-subscribe:}{} }" + "{ match{$h_precedence:}{(?i)bulk|list|junk} }" + "{ match{$h_auto-submitted:}{(?i)auto-generated|auto-replied} }" + "} {no}{yes}}"; BOOL delivery_date_remove = TRUE; uschar *deliver_address_data = NULL; int deliver_datafile = -1; @@ -487,6 +499,9 @@ int demime_errorlevel = 0; int demime_ok = 0; uschar *demime_reason = NULL; #endif +#ifdef ENABLE_DISABLE_FSYNC +BOOL disable_fsync = FALSE; +#endif BOOL disable_ipv6 = FALSE; BOOL disable_logging = FALSE; @@ -653,6 +668,8 @@ top bit). They are never used in calls to log_write(), but are tested independently. This separation became necessary when the number of log selectors was getting close to filling a 32-bit word. */ +/* Note that this list must be in alphabetical order. */ + bit_table log_options[] = { { US"acl_warn_skipped", LX_acl_warn_skipped }, { US"address_rewrite", L_address_rewrite }, @@ -671,6 +688,7 @@ bit_table log_options[] = { { US"incoming_port", LX_incoming_port }, { US"lost_incoming_connection", L_lost_incoming_connection }, { US"outgoing_port", LX_outgoing_port }, + { US"pid", LX_pid }, { US"queue_run", L_queue_run }, { US"queue_time", LX_queue_time }, { US"queue_time_overall", LX_queue_time_overall }, @@ -687,6 +705,7 @@ bit_table log_options[] = { { US"smtp_confirmation", LX_smtp_confirmation }, { US"smtp_connection", L_smtp_connection }, { US"smtp_incomplete_transaction", L_smtp_incomplete_transaction }, + { US"smtp_no_mail", LX_smtp_no_mail }, { US"smtp_protocol_error", L_smtp_protocol_error }, { US"smtp_syntax_error", L_smtp_syntax_error }, { US"subject", LX_subject }, @@ -697,11 +716,12 @@ bit_table log_options[] = { }; int log_options_count = sizeof(log_options)/sizeof(bit_table); -unsigned int log_write_selector= L_default; +int log_reject_target = 0; uschar *log_selector_string = NULL; FILE *log_stderr = NULL; BOOL log_testing_mode = FALSE; BOOL log_timezone = FALSE; +unsigned int log_write_selector= L_default; uschar *login_sender_address = NULL; int lookup_open_max = 25; uschar *lookup_value = NULL; @@ -773,6 +793,7 @@ BOOL parse_found_group = FALSE; uschar *percent_hack_domains = NULL; uschar *pid_file_path = US PID_FILE_PATH "\0<--------------Space to patch pid_file_path->"; +BOOL pipelining_enable = TRUE; uschar *pipelining_advertise_hosts = US"*"; BOOL preserve_message_logs = FALSE; uschar *primary_hostname = NULL; @@ -1013,6 +1034,8 @@ address_item *sender_verified_list = NULL; address_item *sender_verified_failed = NULL; int sender_verified_rc = -1; BOOL sender_verified_responded = FALSE; +uschar *sending_ip_address = NULL; +int sending_port = -1; volatile BOOL sigalrm_seen = FALSE; uschar **sighup_argv = NULL; int smtp_accept_count = 0; @@ -1032,8 +1055,11 @@ uschar *smtp_banner = US"$smtp_active_hostname ESMTP " "\0<---------------Space to patch smtp_banner->"; BOOL smtp_batched_input = FALSE; BOOL smtp_check_spool_space = TRUE; +int smtp_ch_index = 0; uschar *smtp_cmd_argument = NULL; uschar *smtp_cmd_buffer = NULL; +time_t smtp_connection_start = 0; +uschar smtp_connection_had[SMTP_HBUFF_SIZE]; int smtp_connect_backlog = 20; double smtp_delay_mail = 0.0; double smtp_delay_rcpt = 0.0; @@ -1097,6 +1123,7 @@ uschar *srs_status = NULL; BOOL srs_usehash = TRUE; BOOL srs_usetimestamp = TRUE; #endif +BOOL strict_acl_vars = FALSE; int string_datestamp_offset= -1; BOOL strip_excess_angle_brackets = FALSE; BOOL strip_trailing_dot = FALSE;