X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fsrc%2Fglobals.c;h=b8bf7ced2a842f58bbb8cca1372e5ded9b1fe313;hb=298849d8ea217fd104d167f5233bd11240b3ddae;hp=07665bf756b0ba9455284e7be61ce8a6f3051f4c;hpb=fc7bae7f2fa3668ada9bd173e9f24c7166e1dd13;p=exim.git diff --git a/src/src/globals.c b/src/src/globals.c index 07665bf75..b8bf7ced2 100644 --- a/src/src/globals.c +++ b/src/src/globals.c @@ -16,23 +16,23 @@ data blocks and hence have the opt_public flag set. */ optionlist optionlist_auths[] = { { "client_condition", opt_stringptr | opt_public, - (void *)(offsetof(auth_instance, client_condition)) }, + OPT_OFF(auth_instance, client_condition) }, { "client_set_id", opt_stringptr | opt_public, - (void *)(offsetof(auth_instance, set_client_id)) }, + OPT_OFF(auth_instance, set_client_id) }, { "driver", opt_stringptr | opt_public, - (void *)(offsetof(auth_instance, driver_name)) }, + OPT_OFF(auth_instance, driver_name) }, { "public_name", opt_stringptr | opt_public, - (void *)(offsetof(auth_instance, public_name)) }, + OPT_OFF(auth_instance, public_name) }, { "server_advertise_condition", opt_stringptr | opt_public, - (void *)(offsetof(auth_instance, advertise_condition))}, + OPT_OFF(auth_instance, advertise_condition)}, { "server_condition", opt_stringptr | opt_public, - (void *)(offsetof(auth_instance, server_condition)) }, + OPT_OFF(auth_instance, server_condition) }, { "server_debug_print", opt_stringptr | opt_public, - (void *)(offsetof(auth_instance, server_debug_string)) }, + OPT_OFF(auth_instance, server_debug_string) }, { "server_mail_auth_condition", opt_stringptr | opt_public, - (void *)(offsetof(auth_instance, mail_auth_condition)) }, + OPT_OFF(auth_instance, mail_auth_condition) }, { "server_set_id", opt_stringptr | opt_public, - (void *)(offsetof(auth_instance, set_id)) } + OPT_OFF(auth_instance, set_id) } }; int optionlist_auths_size = nelem(optionlist_auths); @@ -89,6 +89,7 @@ uschar *redis_servers = NULL; #endif #ifdef LOOKUP_SQLITE +uschar *sqlite_dbfile = NULL; int sqlite_lock_timeout = 5; #endif @@ -238,6 +239,7 @@ struct global_flags f = .disable_logging = FALSE, #ifndef DISABLE_DKIM .dkim_disable_verify = FALSE, + .dkim_init_done = FALSE, #endif #ifdef SUPPORT_DMARC .dmarc_has_been_checked = FALSE, @@ -297,7 +299,7 @@ struct global_flags f = .sender_name_forced = FALSE, .sender_set_untrusted = FALSE, .smtp_authenticated = FALSE, -#ifdef SUPPORT_PIPE_CONNECT +#ifndef DISABLE_PIPE_CONNECT .smtp_in_early_pipe_advertised = FALSE, .smtp_in_early_pipe_no_auth = FALSE, .smtp_in_early_pipe_used = FALSE, @@ -311,6 +313,8 @@ struct global_flags f = .synchronous_delivery = FALSE, .system_filtering = FALSE, + .taint_check_slow = FALSE, + .testsuite_delays = TRUE, .tcp_fastopen_ok = FALSE, .tcp_in_fastopen = FALSE, .tcp_in_fastopen_data = FALSE, @@ -377,6 +381,9 @@ BOOL prod_requires_admin = TRUE; BOOL proxy_session = FALSE; #endif +#ifdef EXPERIMENTAL_QUEUE_RAMP +BOOL queue_fast_ramp = FALSE; +#endif BOOL queue_list_requires_admin = TRUE; BOOL queue_only = FALSE; BOOL queue_only_load_latch = TRUE; @@ -535,7 +542,9 @@ address_item address_defaults = { .lc_local_part = NULL, .local_part = NULL, .prefix = NULL, + .prefix_v = NULL, .suffix = NULL, + .suffix_v = NULL, .domain = NULL, .address_retry_key = NULL, .domain_retry_key = NULL, @@ -572,7 +581,7 @@ address_item address_defaults = { .localpart_cache = { 0 }, /* localpart_cache - ditto */ .mode = -1, .more_errno = 0, - .delivery_usec = 0, + .delivery_time = {.tv_sec = 0, .tv_usec = 0}, .basic_errno = ERRNO_UNKNOWNERROR, .child_count = 0, .return_file = -1, @@ -734,6 +743,7 @@ cut_t cutthrough = { .nrcpt = 0, /* number of addresses */ }; +int daemon_notifier_fd = -1; uschar *daemon_smtp_port = US"smtp"; int daemon_startup_retries = 9; int daemon_startup_sleep = 30; @@ -815,7 +825,10 @@ uschar *deliver_localpart_data = NULL; uschar *deliver_localpart_orig = NULL; uschar *deliver_localpart_parent = NULL; uschar *deliver_localpart_prefix = NULL; +uschar *deliver_localpart_prefix_v = NULL; uschar *deliver_localpart_suffix = NULL; +uschar *deliver_localpart_suffix_v = NULL; +uschar *deliver_localpart_verified = NULL; uschar *deliver_out_buffer = NULL; int deliver_queue_load_max = -1; address_item *deliver_recipients = NULL; @@ -830,7 +843,7 @@ void *dkim_signatures = NULL; uschar *dkim_signers = NULL; uschar *dkim_signing_domain = NULL; uschar *dkim_signing_selector = NULL; -uschar *dkim_verify_hashes = US"sha256:sha512:sha1"; +uschar *dkim_verify_hashes = US"sha256:sha512"; uschar *dkim_verify_keytypes = US"ed25519:rsa"; BOOL dkim_verify_minimal = FALSE; uschar *dkim_verify_overall = NULL; @@ -844,7 +857,7 @@ uschar *dmarc_forensic_sender = NULL; uschar *dmarc_history_file = NULL; uschar *dmarc_status = NULL; uschar *dmarc_status_text = NULL; -uschar *dmarc_tld_file = US DMARC_TLD_FILE; +uschar *dmarc_tld_file = NULL; uschar *dmarc_used_domain = NULL; #endif @@ -1152,6 +1165,7 @@ int mime_part_count = -1; #endif uid_t *never_users = NULL; +uschar *notifier_socket = US"$spool_directory/" NOTIFIER_SOCKET_NAME ; const int on = 1; /* for setsockopt */ const int off = 0; @@ -1167,7 +1181,7 @@ uschar *override_pid_file_path = NULL; uschar *percent_hack_domains = NULL; uschar *pid_file_path = US PID_FILE_PATH "\0<--------------Space to patch pid_file_path->"; -#ifdef SUPPORT_PIPE_CONNECT +#ifndef DISABLE_PIPE_CONNECT uschar *pipe_connect_advertise_hosts = US"*"; #endif uschar *pipelining_advertise_hosts = US"*"; @@ -1175,6 +1189,7 @@ uschar *primary_hostname = NULL; uschar *process_info; int process_info_len = 0; uschar *process_log_path = NULL; +const uschar *process_purpose = US"fresh-exec"; #if defined(SUPPORT_PROXY) || defined(SUPPORT_SOCKS) uschar *hosts_proxy = NULL; @@ -1200,6 +1215,8 @@ int queue_only_load = -1; uschar *queue_run_max = US"5"; pid_t queue_run_pid = (pid_t)0; int queue_run_pipe = -1; +unsigned queue_size = 0; +time_t queue_size_next = 0; uschar *queue_smtp_domains = NULL; uint32_t random_seed = 0; @@ -1233,6 +1250,7 @@ uschar *received_header_text = US "by $primary_hostname " "${if def:received_protocol {with $received_protocol }}" #ifndef DISABLE_TLS + "${if def:tls_in_ver { ($tls_in_ver)}}" "${if def:tls_in_cipher_std { tls $tls_in_cipher_std\n\t}}" #endif "(Exim $version_number)\n\t" @@ -1258,7 +1276,7 @@ const pcre *regex_From = NULL; const pcre *regex_IGNOREQUOTA = NULL; const pcre *regex_PIPELINING = NULL; const pcre *regex_SIZE = NULL; -#ifdef SUPPORT_PIPE_CONNECT +#ifndef DISABLE_PIPE_CONNECT const pcre *regex_EARLY_PIPE = NULL; #endif const pcre *regex_ismsgid = NULL; @@ -1498,6 +1516,9 @@ uschar *srs_recipient = NULL; uschar *srs_secrets = NULL; uschar *srs_status = NULL; #endif +#ifdef EXPERIMENTAL_SRS_NATIVE +uschar *srs_recipient = NULL; +#endif int string_datestamp_offset= -1; int string_datestamp_length= 0; int string_datestamp_type = -1;