incoming TCP/IP. The defaults use stdin. We never need these for any
stand-alone tests. */
-#ifndef STAND_ALONE
+#if !defined(STAND_ALONE) && !defined(MACRO_PREDEF)
int (*lwr_receive_getc)(unsigned) = stdin_getc;
+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;
int (*receive_ungetc)(int) = stdin_ungetc;
int (*receive_feof)(void) = stdin_feof;
{ 0 }, /* localpart_cache - ditto */
-1, /* mode */
0, /* more_errno */
+ 0, /* delivery_usec */
ERRNO_UNKNOWNERROR, /* basic_errno */
0, /* child_count */
-1, /* return_file */
int bmi_run = 0;
uschar *bmi_verdicts = NULL;
#endif
+int bsmtp_transaction_linecount = 0;
int body_8bitmime = 0;
int body_linecount = 0;
int body_zerocount = 0;
BOOL bounce_return_message = TRUE;
int bounce_return_size_limit = 100*1024;
uschar *bounce_sender_authentication = NULL;
-int bsmtp_transaction_linecount = 0;
+uschar *builtin_macros_create_trigger = NULL;
uschar *callout_address = NULL;
int callout_cache_domain_positive_expire = 7*24*60*60;
uschar *client_authenticated_sender = NULL;
int clmacro_count = 0;
uschar *clmacros[MAX_CLMACROS];
+BOOL commandline_checks_require_admin = FALSE;
BOOL config_changed = FALSE;
FILE *config_file = NULL;
const uschar *config_filename = NULL;
#endif
int connection_max_messages= -1;
+uschar *continue_proxy_cipher = NULL;
uschar *continue_hostname = NULL;
uschar *continue_host_address = NULL;
BOOL continue_more = FALSE;
int continue_sequence = 1;
-BOOL continue_proxy = FALSE;
uschar *continue_transport = NULL;
uschar *csa_status = NULL;
cut_t cutthrough = {
+ FALSE, /* verify-only: normal delivery */
FALSE, /* delivery: when to attempt */
FALSE, /* on defer: spool locally */
+ FALSE, /* not a TLS conn yet */
-1, /* fd: open connection */
0, /* nrcpt: number of addresses */
};
BIT_TABLE(L, incoming_interface),
BIT_TABLE(L, incoming_port),
BIT_TABLE(L, lost_incoming_connection),
+ BIT_TABLE(L, millisec),
BIT_TABLE(L, outgoing_interface),
BIT_TABLE(L, outgoing_port),
BIT_TABLE(L, pid),
int lookup_open_max = 25;
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 */
int received_headers_max = 30;
uschar *received_protocol = NULL;
-int received_time = 0;
+struct timeval received_time = { 0, 0 };
uschar *recipient_data = NULL;
uschar *recipient_unqualified_hosts = NULL;
uschar *recipient_verify_failure = NULL;
int smtp_ch_index = 0;
uschar *smtp_cmd_argument = NULL;
uschar *smtp_cmd_buffer = NULL;
-time_t smtp_connection_start = 0;
+struct timeval smtp_connection_start = {0,0};
uschar smtp_connection_had[SMTP_HBUFF_SIZE];
int smtp_connect_backlog = 20;
double smtp_delay_mail = 0.0;
BOOL split_spool_directory = FALSE;
uschar *spool_directory = US SPOOL_DIRECTORY
"\0<--------------Space to patch spool_directory->";
+BOOL spool_file_wireformat = FALSE;
+BOOL spool_wireformat = FALSE;
#ifdef EXPERIMENTAL_SRS
uschar *srs_config = NULL;
uschar *srs_db_address = NULL;