X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/f9a3fcddba223133019368e7cd6d51449fc54e7b..ecb371298ce4ab016d055de06cff252098e6e603:/src/src/globals.c diff --git a/src/src/globals.c b/src/src/globals.c index 9e68aaca8..19269138c 100644 --- a/src/src/globals.c +++ b/src/src/globals.c @@ -118,15 +118,17 @@ tls_support tls_out = { uschar *dsn_envid = NULL; int dsn_ret = 0; -const pcre *regex_DSN = NULL; +const pcre2_code *regex_DSN = NULL; 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; +const pcre2_code *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 @@ -145,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; @@ -161,11 +159,11 @@ uschar *tls_advertise_hosts = NULL; /* Per Recipient Data Response variables */ BOOL prdr_enable = FALSE; BOOL prdr_requested = FALSE; -const pcre *regex_PRDR = NULL; +const pcre2_code *regex_PRDR = NULL; #endif #ifdef SUPPORT_I18N -const pcre *regex_UTF8 = NULL; +const pcre2_code *regex_UTF8 = NULL; #endif /* Input-reading functions for messages, so we can use special ones for @@ -660,7 +658,7 @@ auth_instance auth_defaults = { uschar *auth_defer_msg = US"reason not recorded"; uschar *auth_defer_user_msg = US""; -uschar *auth_vars[AUTH_VARS]; +const uschar *auth_vars[AUTH_VARS]; int auto_thaw = 0; #ifdef WITH_CONTENT_SCAN int av_failed = FALSE; /* boolean but accessed as vtype_int*/ @@ -713,10 +711,10 @@ uschar *chunking_advertise_hosts = US"*"; unsigned chunking_datasize = 0; unsigned chunking_data_left = 0; chunking_state_t chunking_state= CHUNKING_NOT_OFFERED; -const pcre *regex_CHUNKING = NULL; +const pcre2_code *regex_CHUNKING = NULL; #ifdef EXPERIMENTAL_ESMTP_LIMITS -const pcre *regex_LIMITS = NULL; +const pcre2_code *regex_LIMITS = NULL; #endif uschar *client_authenticator = NULL; @@ -926,7 +924,7 @@ int expand_level = 0; /* Nesting depth, indent for debug */ int expand_forbid = 0; int expand_nlength[EXPAND_MAXN+1]; int expand_nmax = -1; -uschar *expand_nstring[EXPAND_MAXN+1]; +const uschar *expand_nstring[EXPAND_MAXN+1]; uschar *expand_string_message; uschar *extra_local_interfaces = NULL; @@ -955,7 +953,7 @@ volatile sig_atomic_t had_command_timeout = 0; volatile sig_atomic_t had_command_sigterm = 0; volatile sig_atomic_t had_data_timeout = 0; volatile sig_atomic_t had_data_sigint = 0; -uschar *headers_charset = US HEADERS_CHARSET; +const uschar *headers_charset = US HEADERS_CHARSET; int header_insert_maxlen = 64 * 1024; header_line *header_last = NULL; header_line *header_list = NULL; @@ -1169,7 +1167,6 @@ uschar *message_headers = NULL; uschar *message_id; uschar *message_id_domain = NULL; uschar *message_id_text = NULL; -struct timeval message_id_tv = { 0, 0 }; uschar message_id_option[MESSAGE_ID_LENGTH + 3]; uschar *message_id_external; int message_linecount = 0; @@ -1215,6 +1212,10 @@ uid_t originator_uid; uschar *override_local_interfaces = NULL; uschar *override_pid_file_path = NULL; +pcre2_general_context * pcre_gen_ctx = NULL; +pcre2_compile_context * pcre_cmp_ctx = NULL; +pcre2_match_context * pcre_mtc_ctx = NULL; + uschar *percent_hack_domains = NULL; uschar *pid_file_path = US PID_FILE_PATH "\0<--------------Space to patch pid_file_path->"; @@ -1308,20 +1309,20 @@ int recipients_count = 0; recipient_item *recipients_list = NULL; int recipients_list_max = 0; int recipients_max = 50000; -const pcre *regex_AUTH = NULL; -const pcre *regex_check_dns_names = NULL; -const pcre *regex_From = NULL; -const pcre *regex_IGNOREQUOTA = NULL; -const pcre *regex_PIPELINING = NULL; -const pcre *regex_SIZE = NULL; +const pcre2_code *regex_AUTH = NULL; +const pcre2_code *regex_check_dns_names = NULL; +const pcre2_code *regex_From = NULL; +const pcre2_code *regex_IGNOREQUOTA = NULL; +const pcre2_code *regex_PIPELINING = NULL; +const pcre2_code *regex_SIZE = NULL; #ifndef DISABLE_PIPE_CONNECT -const pcre *regex_EARLY_PIPE = NULL; +const pcre2_code *regex_EARLY_PIPE = NULL; #endif -const pcre *regex_ismsgid = NULL; -const pcre *regex_smtp_code = NULL; -uschar *regex_vars[REGEX_VARS]; +const pcre2_code *regex_ismsgid = NULL; +const pcre2_code *regex_smtp_code = NULL; +const uschar *regex_vars[REGEX_VARS]; #ifdef WHITELIST_D_MACROS -const pcre *regex_whitelisted_macro = NULL; +const pcre2_code *regex_whitelisted_macro = NULL; #endif #ifdef WITH_CONTENT_SCAN uschar *regex_match_string = NULL;