X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/eb57651e8badf0b65af0371732e42f2ee5c7772c..b9c5223b77400cec8c44a8972a238f9cde82f0fc:/src/src/globals.c diff --git a/src/src/globals.c b/src/src/globals.c index 38bd37bce..22bd69e01 100644 --- a/src/src/globals.c +++ b/src/src/globals.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2013 */ +/* Copyright (c) University of Cambridge 1995 - 2014 */ /* See the file NOTICE for conditions of use and distribution. */ /* All the global variables are defined together in this one module, so @@ -103,23 +103,44 @@ tls_support tls_in = { -1, /* tls_active */ 0, /* tls_bits */ FALSE,/* tls_certificate_verified */ +#ifdef EXPERIMENTAL_DANE + FALSE,/* dane_verified */ + 0, /* tlsa_usage */ +#endif NULL, /* tls_cipher */ FALSE,/* tls_on_connect */ NULL, /* tls_on_connect_ports */ + NULL, /* tls_ourcert */ + NULL, /* tls_peercert */ NULL, /* tls_peerdn */ - NULL /* tls_sni */ + NULL, /* tls_sni */ + 0 /* tls_ocsp */ }; tls_support tls_out = { -1, /* tls_active */ 0, /* tls_bits */ FALSE,/* tls_certificate_verified */ +#ifdef EXPERIMENTAL_DANE + FALSE,/* dane_verified */ + 0, /* tlsa_usage */ +#endif NULL, /* tls_cipher */ FALSE,/* tls_on_connect */ NULL, /* tls_on_connect_ports */ + NULL, /* tls_ourcert */ + NULL, /* tls_peercert */ NULL, /* tls_peerdn */ - NULL /* tls_sni */ + NULL, /* tls_sni */ + 0 /* tls_ocsp */ }; +#ifdef EXPERIMENTAL_DSN +uschar *dsn_envid = NULL; +int dsn_ret = 0; +const pcre *regex_DSN = NULL; +BOOL smtp_use_dsn = FALSE; +uschar *dsn_advertise_hosts = NULL; +#endif #ifdef SUPPORT_TLS BOOL gnutls_compat_mode = FALSE; @@ -137,7 +158,7 @@ that's the interop problem which has been observed: GnuTLS suggesting a higher bit-count as "NORMAL" (2432) and Thunderbird dropping connection. */ int tls_dh_max_bits = 2236; uschar *tls_dhparam = NULL; -#if defined(EXPERIMENTAL_OCSP) && !defined(USE_GNUTLS) +#ifndef DISABLE_OCSP uschar *tls_ocsp_file = NULL; #endif BOOL tls_offered = FALSE; @@ -149,7 +170,7 @@ uschar *tls_verify_certificates= NULL; uschar *tls_verify_hosts = NULL; #endif -#ifdef EXPERIMENTAL_PRDR +#ifndef DISABLE_PRDR /* Per Recipient Data Response variables */ BOOL prdr_enable = FALSE; BOOL prdr_requested = FALSE; @@ -212,7 +233,7 @@ uschar *acl_removed_headers = NULL; uschar *acl_smtp_auth = NULL; uschar *acl_smtp_connect = NULL; uschar *acl_smtp_data = NULL; -#ifdef EXPERIMENTAL_PRDR +#ifndef DISABLE_PRDR uschar *acl_smtp_data_prdr = NULL; #endif #ifndef DISABLE_DKIM @@ -248,7 +269,7 @@ uschar *acl_wherenames[] = { US"RCPT", US"MIME", US"DKIM", US"DATA", -#ifdef EXPERIMENTAL_PRDR +#ifndef DISABLE_PRDR US"PRDR", #endif US"non-SMTP", @@ -273,7 +294,7 @@ uschar *acl_wherecodes[] = { US"550", /* RCPT */ US"550", /* MIME */ US"550", /* DKIM */ US"550", /* DATA */ -#ifdef EXPERIMENTAL_PRDR +#ifndef DISABLE_PRDR US"550", /* RCPT PRDR */ #endif US"0", /* not SMTP; not relevant */ @@ -332,11 +353,19 @@ address_item address_defaults = { NULL, /* shadow_message */ #ifdef SUPPORT_TLS NULL, /* cipher */ + NULL, /* ourcert */ + NULL, /* peercert */ NULL, /* peerdn */ + OCSP_NOT_REQ, /* ocsp */ #endif NULL, /* authenticator */ NULL, /* auth_id */ NULL, /* auth_sndr */ + #ifdef EXPERIMENTAL_DSN + NULL, /* dsn_orcpt */ + 0, /* dsn_flags */ + 0, /* dsn_aware */ + #endif (uid_t)(-1), /* uid */ (gid_t)(-1), /* gid */ 0, /* flags */ @@ -552,10 +581,11 @@ BOOL deliver_drop_privilege = FALSE; BOOL deliver_firsttime = FALSE; BOOL deliver_force = FALSE; BOOL deliver_freeze = FALSE; -int deliver_frozen_at = 0; +time_t deliver_frozen_at = 0; uschar *deliver_home = NULL; uschar *deliver_host = NULL; uschar *deliver_host_address = NULL; +int deliver_host_port = 0; uschar *deliver_in_buffer = NULL; ino_t deliver_inode = 0; uschar *deliver_localpart = NULL; @@ -612,6 +642,9 @@ BOOL dmarc_enable_forensic = FALSE; uschar *dns_again_means_nonexist = NULL; int dns_csa_search_limit = 5; BOOL dns_csa_use_reverse = TRUE; +#ifdef EXPERIMENTAL_DANE +int dns_dane_ok = -1; +#endif uschar *dns_ipv4_lookup = NULL; int dns_retrans = 0; int dns_retry = 0; @@ -837,6 +870,7 @@ BOOL log_testing_mode = FALSE; BOOL log_timezone = FALSE; unsigned int log_write_selector= L_default; uschar *login_sender_address = NULL; +uschar *lookup_dnssec_authenticated = NULL; int lookup_open_max = 25; uschar *lookup_value = NULL; @@ -1107,6 +1141,9 @@ router_instance router_defaults = { TRUE, /* verify_sender */ FALSE, /* uid_set */ FALSE, /* unseen */ +#ifdef EXPERIMENTAL_DSN + FALSE, /* dsn_lasthop */ +#endif self_freeze, /* self_code */ (uid_t)(-1), /* uid */ @@ -1301,13 +1338,9 @@ BOOL timestamps_utc = FALSE; #ifdef EXPERIMENTAL_TPDA int tpda_defer_errno = 0; -uschar *tpda_defer_errstr = NULL; -uschar *tpda_delivery_ip = NULL; -int tpda_delivery_port = 0; -uschar *tpda_delivery_fqdn = NULL; -uschar *tpda_delivery_local_part= NULL; -uschar *tpda_delivery_domain = NULL; -uschar *tpda_delivery_confirmation = NULL; +uschar *tpda_event = NULL; /* event name */ +uschar *tpda_data = NULL; /* auxilary data for event */ +uschar *delivery_event_action = NULL; /* expansion for delivery events */ #endif transport_instance *transports = NULL; @@ -1362,6 +1395,9 @@ transport_instance transport_defaults = { FALSE, /* log_defer_output */ TRUE_UNSET /* retry_use_local_part: BOOL, but set neither 1 nor 0 so can detect unset */ +#ifdef EXPERIMENTAL_TPDA + ,NULL /* tpda_event_action */ +#endif }; int transport_count;