X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fsrc%2Fglobals.c;h=5d9f7f8c6e0193e849ad1500beba7af26af3bc09;hb=b367453a08bff7123dfe0b841de290e17372ad7c;hp=04e47050ec190b556490fb287cd1c335f9b94af7;hpb=1cf47989a0376c3f7156c214c1d509d372e4262b;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/globals.c b/src/src/globals.c index 04e47050e..5d9f7f8c6 100644 --- a/src/src/globals.c +++ b/src/src/globals.c @@ -98,6 +98,10 @@ int sqlite_lock_timeout = 5; BOOL move_frozen_messages = FALSE; #endif +#ifdef ALLOW_INSECURE_TAINTED_DATA +BOOL allow_insecure_tainted_data = FALSE; +#endif + /* These variables are outside the #ifdef because it keeps the code less cluttered in several places (e.g. during logging) if we can always refer to them. Also, the tls_ variables are now always visible. Note that these are @@ -120,9 +124,11 @@ uschar *dsn_advertise_hosts = NULL; #ifndef DISABLE_TLS BOOL gnutls_compat_mode = FALSE; BOOL gnutls_allow_auto_pkcs11 = FALSE; +uschar *hosts_require_alpn = NULL; uschar *openssl_options = NULL; const pcre *regex_STARTTLS = NULL; uschar *tls_advertise_hosts = US"*"; +uschar *tls_alpn = US"smtp:esmtp"; uschar *tls_certificate = NULL; uschar *tls_crl = NULL; /* This default matches NSS DH_MAX_P_BITS value at current time (2012), because @@ -141,11 +147,7 @@ uschar *tls_require_ciphers = NULL; uschar *tls_resumption_hosts = NULL; # endif uschar *tls_try_verify_hosts = NULL; -#if defined(SUPPORT_SYSDEFAULT_CABUNDLE) || !defined(USE_GNUTLS) uschar *tls_verify_certificates= US"system"; -#else -uschar *tls_verify_certificates= NULL; -#endif uschar *tls_verify_hosts = NULL; int tls_watch_fd = -1; time_t tls_watch_trigger_time = (time_t)0; @@ -174,7 +176,7 @@ uschar * (*lwr_receive_getbuf)(unsigned *) = NULL; int (*lwr_receive_ungetc)(int) = stdin_ungetc; int (*receive_getc)(unsigned) = stdin_getc; uschar * (*receive_getbuf)(unsigned *) = NULL; -void (*receive_get_cache)(void)= NULL; +void (*receive_get_cache)(unsigned) = NULL; int (*receive_ungetc)(int) = stdin_ungetc; int (*receive_feof)(void) = stdin_feof; int (*receive_ferror)(void) = stdin_ferror; @@ -227,6 +229,7 @@ struct global_flags f = .authentication_local = FALSE, .background_daemon = TRUE, + .bdat_readers_wanted = FALSE, .chunking_offered = FALSE, .config_changed = FALSE, @@ -710,6 +713,10 @@ unsigned chunking_data_left = 0; chunking_state_t chunking_state= CHUNKING_NOT_OFFERED; const pcre *regex_CHUNKING = NULL; +#ifdef EXPERIMENTAL_ESMTP_LIMITS +const pcre *regex_LIMITS = NULL; +#endif + uschar *client_authenticator = NULL; uschar *client_authenticated_id = NULL; uschar *client_authenticated_sender = NULL; @@ -742,6 +749,11 @@ uschar *continue_hostname = NULL; uschar *continue_host_address = NULL; int continue_sequence = 1; uschar *continue_transport = NULL; +#ifdef EXPERIMENTAL_ESMTP_LIMITS +unsigned continue_limit_mail = 0; +unsigned continue_limit_rcpt = 0; +unsigned continue_limit_rcptdom= 0; +#endif uschar *csa_status = NULL; cut_t cutthrough = { @@ -984,6 +996,7 @@ uschar *host_reject_connection = NULL; tree_node *hostlist_anchor = NULL; int hostlist_count = 0; uschar *hosts_treat_as_local = NULL; +uschar *hosts_require_helo = US"*"; uschar *hosts_connection_nolog = NULL; int ignore_bounce_errors_after = 10*7*24*60*60; /* 10 weeks */ @@ -1001,6 +1014,9 @@ uschar *keep_environment = NULL; int keep_malformed = 4*24*60*60; /* 4 days */ uschar *eldap_dn = NULL; +#ifdef EXPERIMENTAL_ESMTP_LIMITS +uschar *limits_advertise_hosts = US"*"; +#endif int load_average = -2; uschar *local_from_prefix = NULL; uschar *local_from_suffix = NULL; @@ -1034,12 +1050,16 @@ int log_default[] = { /* for initializing log_selector */ Li_outgoing_interface, /* see d_log_interface in deliver.c */ Li_msg_id, Li_queue_run, + Li_queue_time_exclusive, Li_rejected_header, Li_retry_defer, Li_sender_verify_fail, Li_size_reject, Li_skip_delivery, Li_smtp_confirmation, +#ifdef ALLOW_INSECURE_TAINTED_DATA + Li_tainted, +#endif Li_tls_certificate_verified, Li_tls_cipher, -1 @@ -1088,6 +1108,7 @@ bit_table log_options[] = { /* must be in alphabetical order, #endif BIT_TABLE(L, queue_run), BIT_TABLE(L, queue_time), + BIT_TABLE(L, queue_time_exclusive), BIT_TABLE(L, queue_time_overall), BIT_TABLE(L, receive_time), BIT_TABLE(L, received_recipients), @@ -1108,6 +1129,9 @@ bit_table log_options[] = { /* must be in alphabetical order, BIT_TABLE(L, smtp_protocol_error), BIT_TABLE(L, smtp_syntax_error), BIT_TABLE(L, subject), +#ifdef ALLOW_INSECURE_TAINTED_DATA + BIT_TABLE(L, tainted), +#endif BIT_TABLE(L, tls_certificate_verified), BIT_TABLE(L, tls_cipher), BIT_TABLE(L, tls_peerdn), @@ -1274,14 +1298,14 @@ uschar *received_header_text = US int received_headers_max = 30; uschar *received_protocol = NULL; struct timeval received_time = { 0, 0 }; -struct timeval received_time_taken = { 0, 0 }; +struct timeval received_time_complete = { 0, 0 }; uschar *recipient_data = NULL; uschar *recipient_unqualified_hosts = NULL; uschar *recipient_verify_failure = NULL; int recipients_count = 0; recipient_item *recipients_list = NULL; int recipients_list_max = 0; -int recipients_max = 0; +int recipients_max = 50000; const pcre *regex_AUTH = NULL; const pcre *regex_check_dns_names = NULL; const pcre *regex_From = NULL; @@ -1456,6 +1480,7 @@ int smtp_accept_queue = 0; int smtp_accept_queue_per_connection = 10; int smtp_accept_reserve = 0; uschar *smtp_active_hostname = NULL; +int smtp_backlog_monitor = 0; uschar *smtp_banner = US"$smtp_active_hostname ESMTP " "Exim $version_number $tod_full" "\0<---------------Space to patch smtp_banner->"; @@ -1468,8 +1493,10 @@ int smtp_connect_backlog = 20; double smtp_delay_mail = 0.0; double smtp_delay_rcpt = 0.0; FILE *smtp_in = NULL; +int smtp_listen_backlog = 0; int smtp_load_reserve = -1; int smtp_mailcmd_count = 0; +int smtp_mailcmd_max = -1; FILE *smtp_out = NULL; uschar *smtp_etrn_command = NULL; int smtp_max_synprot_errors= 3;