git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix DKIM verify when used with CHUNKING. Bug 2016
[exim.git]
/
src
/
src
/
globals.c
diff --git
a/src/src/globals.c
b/src/src/globals.c
index 5ff0f844b8251f828b130b1e7645b5c7f39ff8b2..bb5acb6fcca562b3d1b21605250fef4924aa4e93 100644
(file)
--- a/
src/src/globals.c
+++ b/
src/src/globals.c
@@
-35,7
+35,7
@@
optionlist optionlist_auths[] = {
(void *)(offsetof(auth_instance, set_id)) }
};
(void *)(offsetof(auth_instance, set_id)) }
};
-int optionlist_auths_size =
sizeof(optionlist_auths)/sizeof(optionlist
);
+int optionlist_auths_size =
nelem(optionlist_auths
);
/* An empty host aliases list. */
/* An empty host aliases list. */
@@
-138,7
+138,6
@@
tls_support tls_out = {
uschar *dsn_envid = NULL;
int dsn_ret = 0;
const pcre *regex_DSN = NULL;
uschar *dsn_envid = NULL;
int dsn_ret = 0;
const pcre *regex_DSN = NULL;
-BOOL smtp_use_dsn = FALSE;
uschar *dsn_advertise_hosts = NULL;
#ifdef SUPPORT_TLS
uschar *dsn_advertise_hosts = NULL;
#ifdef SUPPORT_TLS
@@
-154,11
+153,10
@@
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;
bit-count as "NORMAL" (2432) and Thunderbird dropping connection. */
int tls_dh_max_bits = 2236;
uschar *tls_dhparam = NULL;
-uschar *tls_eccurve = US"
prime256v1
";
+uschar *tls_eccurve = US"
auto
";
# ifndef DISABLE_OCSP
uschar *tls_ocsp_file = NULL;
# endif
# ifndef DISABLE_OCSP
uschar *tls_ocsp_file = NULL;
# endif
-BOOL tls_offered = FALSE;
uschar *tls_privatekey = NULL;
BOOL tls_remember_esmtp = FALSE;
uschar *tls_require_ciphers = NULL;
uschar *tls_privatekey = NULL;
BOOL tls_remember_esmtp = FALSE;
uschar *tls_require_ciphers = NULL;
@@
-185,7
+183,10
@@
incoming TCP/IP. The defaults use stdin. We never need these for any
stand-alone tests. */
#ifndef STAND_ALONE
stand-alone tests. */
#ifndef STAND_ALONE
-int (*receive_getc)(void) = stdin_getc;
+int (*lwr_receive_getc)(unsigned) = stdin_getc;
+int (*lwr_receive_ungetc)(int) = stdin_ungetc;
+int (*receive_getc)(unsigned) = stdin_getc;
+void (*receive_get_cache)(void)= NULL;
int (*receive_ungetc)(int) = stdin_ungetc;
int (*receive_feof)(void) = stdin_feof;
int (*receive_ferror)(void) = stdin_ferror;
int (*receive_ungetc)(int) = stdin_ungetc;
int (*receive_feof)(void) = stdin_feof;
int (*receive_ferror)(void) = stdin_ferror;
@@
-487,12
+488,19
@@
int callout_cache_positive_expire = 24*60*60;
int callout_cache_negative_expire = 2*60*60;
uschar *callout_random_local_part = US"$primary_hostname-$tod_epoch-testing";
uschar *check_dns_names_pattern= US"(?i)^(?>(?(1)\\.|())[^\\W](?>[a-z0-9/_-]*[^\\W])?)+(\\.?)$";
int callout_cache_negative_expire = 2*60*60;
uschar *callout_random_local_part = US"$primary_hostname-$tod_epoch-testing";
uschar *check_dns_names_pattern= US"(?i)^(?>(?(1)\\.|())[^\\W](?>[a-z0-9/_-]*[^\\W])?)+(\\.?)$";
-int check_log_inodes = 0;
-int check_log_space =
0;
+int check_log_inodes =
10
0;
+int check_log_space =
10*1024; /* 10K Kbyte == 10MB */
BOOL check_rfc2047_length = TRUE;
BOOL check_rfc2047_length = TRUE;
-int check_spool_inodes = 0;
-int check_spool_space = 0;
+int check_spool_inodes = 100;
+int check_spool_space = 10*1024; /* 10K Kbyte == 10MB */
+
uschar *chunking_advertise_hosts = US"*";
uschar *chunking_advertise_hosts = US"*";
+unsigned chunking_datasize = 0;
+unsigned chunking_data_left = 0;
+BOOL chunking_offered = FALSE;
+chunking_state_t chunking_state= CHUNKING_NOT_OFFERED;
+const pcre *regex_CHUNKING = NULL;
+
uschar *client_authenticator = NULL;
uschar *client_authenticated_id = NULL;
uschar *client_authenticated_sender = NULL;
uschar *client_authenticator = NULL;
uschar *client_authenticated_id = NULL;
uschar *client_authenticated_sender = NULL;
@@
-500,10
+508,12
@@
int clmacro_count = 0;
uschar *clmacros[MAX_CLMACROS];
BOOL config_changed = FALSE;
FILE *config_file = NULL;
uschar *clmacros[MAX_CLMACROS];
BOOL config_changed = FALSE;
FILE *config_file = NULL;
-
uschar *config_filename
= NULL;
+
const uschar *config_filename
= NULL;
int config_lineno = 0;
#ifdef CONFIGURE_GROUP
gid_t config_gid = CONFIGURE_GROUP;
int config_lineno = 0;
#ifdef CONFIGURE_GROUP
gid_t config_gid = CONFIGURE_GROUP;
+#else
+gid_t config_gid = 0;
#endif
uschar *config_main_filelist = US CONFIGURE_FILE
"\0<-----------Space to patch configure_filename->";
#endif
uschar *config_main_filelist = US CONFIGURE_FILE
"\0<-----------Space to patch configure_filename->";
@@
-512,6
+522,8
@@
uschar *config_main_directory = NULL;
#ifdef CONFIGURE_OWNER
uid_t config_uid = CONFIGURE_OWNER;
#ifdef CONFIGURE_OWNER
uid_t config_uid = CONFIGURE_OWNER;
+#else
+uid_t config_uid = 0;
#endif
int connection_max_messages= -1;
#endif
int connection_max_messages= -1;
@@
-524,6
+536,7
@@
uschar *continue_transport = NULL;
uschar *csa_status = NULL;
cut_t cutthrough = {
FALSE, /* delivery: when to attempt */
uschar *csa_status = NULL;
cut_t cutthrough = {
FALSE, /* delivery: when to attempt */
+ FALSE, /* on defer: spool locally */
-1, /* fd: open connection */
0, /* nrcpt: number of addresses */
};
-1, /* fd: open connection */
0, /* nrcpt: number of addresses */
};
@@
-688,7
+701,7
@@
uschar *errors_reply_to = NULL;
int errors_sender_rc = EXIT_FAILURE;
#ifndef DISABLE_EVENT
uschar *event_action = NULL; /* expansion for delivery events */
int errors_sender_rc = EXIT_FAILURE;
#ifndef DISABLE_EVENT
uschar *event_action = NULL; /* expansion for delivery events */
-uschar *event_data = NULL; /* auxilary data variable for event */
+uschar *event_data = NULL; /* auxil
i
ary data variable for event */
int event_defer_errno = 0;
const uschar *event_name = NULL; /* event name variable */
#endif
int event_defer_errno = 0;
const uschar *event_name = NULL; /* event name variable */
#endif
@@
-916,6
+929,8
@@
int lookup_open_max = 25;
uschar *lookup_value = NULL;
macro_item *macros = NULL;
uschar *lookup_value = NULL;
macro_item *macros = NULL;
+macro_item *mlast = NULL;
+BOOL macros_builtin_created = FALSE;
uschar *mailstore_basename = NULL;
#ifdef WITH_CONTENT_SCAN
uschar *malware_name = NULL; /* Virus Name */
uschar *mailstore_basename = NULL;
#ifdef WITH_CONTENT_SCAN
uschar *malware_name = NULL; /* Virus Name */
@@
-975,6
+990,9
@@
BOOL no_mbox_unspool = FALSE;
#endif
BOOL no_multiline_responses = FALSE;
#endif
BOOL no_multiline_responses = FALSE;
+const int on = 1; /* for setsockopt */
+const int off = 0;
+
uid_t original_euid;
gid_t originator_gid;
uschar *originator_login = NULL;
uid_t original_euid;
gid_t originator_gid;
uschar *originator_login = NULL;
@@
-1312,8
+1330,8
@@
int smtp_rlr_base = 0;
double smtp_rlr_factor = 0.0;
int smtp_rlr_limit = 0;
int smtp_rlr_threshold = INT_MAX;
double smtp_rlr_factor = 0.0;
int smtp_rlr_limit = 0;
int smtp_rlr_threshold = INT_MAX;
-
BOOL smtp_use_pipelining = FALSE
;
-
BOOL smtp_use_size = FALSE
;
+
unsigned smtp_peer_options = 0
;
+
unsigned smtp_peer_options_wrap= 0
;
#ifdef SUPPORT_I18N
uschar *smtputf8_advertise_hosts = US"*"; /* overridden under test-harness */
#endif
#ifdef SUPPORT_I18N
uschar *smtputf8_advertise_hosts = US"*"; /* overridden under test-harness */
#endif
@@
-1366,6
+1384,7
@@
BOOL suppress_local_fixups_default = FALSE;
BOOL synchronous_delivery = FALSE;
BOOL syslog_duplication = TRUE;
int syslog_facility = LOG_MAIL;
BOOL synchronous_delivery = FALSE;
BOOL syslog_duplication = TRUE;
int syslog_facility = LOG_MAIL;
+BOOL syslog_pid = TRUE;
uschar *syslog_processname = US"exim";
BOOL syslog_timestamp = TRUE;
uschar *system_filter = NULL;
uschar *syslog_processname = US"exim";
BOOL syslog_timestamp = TRUE;
uschar *system_filter = NULL;