Update copyright year in (most) files (those that my script finds).
[users/jgh/exim.git] / src / src / globals.c
index 5a7838be38a68ee8d75e932b917f8369b3cbcdf7..10acc8fc4531fcd8a2c576ee13a5faa4e08faa88 100644 (file)
@@ -1,10 +1,10 @@
-/* $Cambridge: exim/src/src/globals.c,v 1.22 2005/04/07 10:54:54 ph10 Exp $ */
+/* $Cambridge: exim/src/src/globals.c,v 1.45 2006/02/07 11:19:00 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
 *************************************************/
 
-/* Copyright (c) University of Cambridge 1995 - 2005 */
+/* Copyright (c) University of Cambridge 1995 - 2006 */
 /* See the file NOTICE for conditions of use and distribution. */
 
 /* All the global variables are defined together in this one module, so
@@ -87,6 +87,10 @@ uschar *oracle_servers         = NULL;
 uschar *pgsql_servers          = NULL;
 #endif
 
+#ifdef LOOKUP_SQLITE
+int     sqlite_lock_timeout    = 5;
+#endif
+
 #ifdef SUPPORT_MOVE_FROZEN_MESSAGES
 BOOL    move_frozen_messages   = FALSE;
 #endif
@@ -180,7 +184,7 @@ uschar *acl_smtp_rcpt          = NULL;
 uschar *acl_smtp_starttls      = NULL;
 uschar *acl_smtp_vrfy          = NULL;
 BOOL    acl_temp_details       = FALSE;
-uschar *acl_var[ACL_C_MAX+ACL_M_MAX];
+uschar *acl_var[ACL_CVARS + ACL_MVARS];
 uschar *acl_verify_message     = NULL;
 header_line *acl_warn_headers  = NULL;
 string_item *acl_warn_logged   = NULL;
@@ -282,6 +286,9 @@ address_item address_defaults = {
     NULL,               /* errors_address */
     NULL,               /* extra_headers */
     NULL,               /* remove_headers */
+#ifdef EXPERIMENTAL_SRS
+    NULL,               /* srs_sender */
+#endif
   }
 };
 
@@ -326,8 +333,14 @@ uschar *av_scanner             = US"sophie:/var/run/sophie";  /* AV scanner */
 #endif
 
 BOOL    background_daemon      = TRUE;
+
+#if BASE_62 == 62
 uschar *base62_chars=
     US"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
+#else
+uschar *base62_chars= US"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+#endif
+
 uschar *bi_command             = NULL;
 uschar *big_buffer             = NULL;
 int     big_buffer_size        = BIG_BUFFER_SIZE;
@@ -359,6 +372,7 @@ 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;
+BOOL    check_rfc2047_length   = TRUE;
 int     check_spool_inodes     = 0;
 int     check_spool_space      = 0;
 int     clmacro_count          = 0;
@@ -385,8 +399,12 @@ BOOL    continue_more          = FALSE;
 int     continue_sequence      = 1;
 uschar *continue_transport     = NULL;
 
+uschar *csa_status             = NULL;
+
 BOOL    daemon_listen          = FALSE;
 uschar *daemon_smtp_port       = US"smtp";
+int     daemon_startup_retries = 9;
+int     daemon_startup_sleep   = 30;
 BOOL    debug_daemon           = FALSE;
 int     debug_fd               = -1;
 FILE   *debug_file             = NULL;
@@ -464,6 +482,7 @@ int     demime_errorlevel      = 0;
 int     demime_ok              = 0;
 uschar *demime_reason          = NULL;
 #endif
+BOOL    disable_ipv6           = FALSE;
 BOOL    disable_logging        = FALSE;
 
 #ifdef EXPERIMENTAL_DOMAINKEYS
@@ -473,6 +492,8 @@ int     dk_do_verify           = 0;
 #endif
 
 uschar *dns_again_means_nonexist = NULL;
+int     dns_csa_search_limit   = 5;
+BOOL    dns_csa_use_reverse    = TRUE;
 uschar *dns_ipv4_lookup        = NULL;
 int     dns_retrans            = 0;
 int     dns_retry              = 0;
@@ -508,8 +529,8 @@ uschar *expand_string_message;
 BOOL    extract_addresses_remove_arguments = TRUE;
 uschar *extra_local_interfaces = NULL;
 
-BOOL    fake_reject            = FALSE;
-uschar *fake_reject_text       = US"Your message has been rejected but is being kept for evaluation.\nIf it was a legitimate message, it may still be delivered to the target recipient(s).";
+int     fake_response          = OK;
+uschar *fake_response_text     = US"Your message has been rejected but is being kept for evaluation.\nIf it was a legitimate message, it may still be delivered to the target recipient(s).";
 int     filter_n[FILTER_VARIABLE_COUNT];
 BOOL    filter_running         = FALSE;
 int     filter_sn[FILTER_VARIABLE_COUNT];
@@ -560,6 +581,7 @@ uschar *helo_allow_chars       = US"";
 uschar *helo_lookup_domains    = US"@ : @[]";
 uschar *helo_try_verify_hosts  = NULL;
 BOOL    helo_verified          = FALSE;
+BOOL    helo_verify_failed     = FALSE;
 uschar *helo_verify_hosts      = NULL;
 uschar *hex_digits             = US"0123456789abcdef";
 uschar *hold_domains           = NULL;
@@ -626,6 +648,7 @@ independently. This separation became necessary when the number of log
 selectors was getting close to filling a 32-bit word. */
 
 bit_table log_options[]        = {
+  { US"acl_warn_skipped",             LX_acl_warn_skipped },
   { US"address_rewrite",              L_address_rewrite },
   { US"all",                          L_all },
   { US"all_parents",                  L_all_parents },
@@ -662,7 +685,8 @@ bit_table log_options[]        = {
   { US"subject",                      LX_subject },
   { US"tls_certificate_verified",     LX_tls_certificate_verified },
   { US"tls_cipher",                   LX_tls_cipher },
-  { US"tls_peerdn",                   LX_tls_peerdn }
+  { US"tls_peerdn",                   LX_tls_peerdn },
+  { US"unknown_in_list",              LX_unknown_in_list }
 };
 
 int     log_options_count      = sizeof(log_options)/sizeof(bit_table);
@@ -749,6 +773,10 @@ BOOL    print_topbitchars      = FALSE;
 uschar  process_info[PROCESS_INFO_SIZE];
 uschar *process_log_path       = NULL;
 BOOL    prod_requires_admin    = TRUE;
+uschar *prvscheck_address      = NULL;
+uschar *prvscheck_keynum       = NULL;
+uschar *prvscheck_result       = NULL;
+
 
 uschar *qualify_domain_recipient = NULL;
 uschar *qualify_domain_sender  = NULL;
@@ -773,6 +801,9 @@ BOOL    queue_smtp             = FALSE;
 uschar *queue_smtp_domains     = NULL;
 
 unsigned int random_seed       = 0;
+tree_node *ratelimiters_cmd    = NULL;
+tree_node *ratelimiters_conn   = NULL;
+tree_node *ratelimiters_mail   = NULL;
 uschar *raw_active_hostname    = NULL;
 uschar *raw_sender             = NULL;
 uschar **raw_recipients        = NULL;
@@ -805,7 +836,8 @@ uschar *received_header_text   = US
      "${if def:tls_cipher {($tls_cipher)\n\t}}"
      #endif
      "(Exim $version_number)\n\t"
-     "id $message_id"
+     "${if def:sender_address {(envelope-from <$sender_address>)\n\t}}"
+     "id $message_exim_id"
      "${if def:received_for {\n\tfor $received_for}}"
      "\0<---------------Space to patch received_header_text->";
 
@@ -824,6 +856,7 @@ BOOL    recipients_max_reject  = FALSE;
 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 pcre *regex_ismsgid      = NULL;
@@ -960,6 +993,10 @@ BOOL    sender_host_notsocket  = FALSE;
 BOOL    sender_host_unknown    = FALSE;
 uschar *sender_ident           = NULL;
 BOOL    sender_local           = FALSE;
+BOOL    sender_name_forced     = FALSE;
+uschar *sender_rate            = NULL;
+uschar *sender_rate_limit      = NULL;
+uschar *sender_rate_period     = NULL;
 uschar *sender_rcvhost         = NULL;
 BOOL    sender_set_untrusted   = FALSE;
 uschar *sender_unqualified_hosts = NULL;
@@ -987,7 +1024,8 @@ uschar *smtp_banner            = US"$smtp_active_hostname ESMTP "
                              "\0<---------------Space to patch smtp_banner->";
 BOOL    smtp_batched_input     = FALSE;
 BOOL    smtp_check_spool_space = TRUE;
-uschar *smtp_command_argument  = NULL;
+uschar *smtp_cmd_argument      = NULL;
+uschar *smtp_cmd_buffer        = NULL;
 int     smtp_connect_backlog   = 20;
 double  smtp_delay_mail        = 0.0;
 double  smtp_delay_rcpt        = 0.0;
@@ -1040,16 +1078,24 @@ uschar *spool_directory        = US SPOOL_DIRECTORY
 uschar *srs_config             = NULL;
 uschar *srs_db_address         = NULL;
 uschar *srs_db_key             = NULL;
+int     srs_hashlength         = 6;
+int     srs_hashmin            = -1;
+int     srs_maxage             = 31;
 uschar *srs_orig_recipient     = NULL;
 uschar *srs_orig_sender        = NULL;
 uschar *srs_recipient          = NULL;
+uschar *srs_secrets            = NULL;
 uschar *srs_status             = NULL;
+BOOL    srs_usehash            = TRUE;
+BOOL    srs_usetimestamp       = TRUE;
 #endif
 int     string_datestamp_offset= -1;
 BOOL    strip_excess_angle_brackets = FALSE;
 BOOL    strip_trailing_dot     = FALSE;
 uschar *submission_domain      = NULL;
 BOOL    submission_mode        = FALSE;
+uschar *submission_name        = NULL;
+BOOL    suppress_local_fixups  = FALSE;
 BOOL    synchronous_delivery   = FALSE;
 BOOL    syslog_duplication     = TRUE;
 int     syslog_facility        = LOG_MAIL;
@@ -1130,6 +1176,7 @@ transport_instance  transport_defaults = {
 int     transport_count;
 uschar **transport_filter_argv  = NULL;
 int     transport_filter_timeout;
+BOOL    transport_filter_timed_out = FALSE;
 int     transport_write_timeout= 0;
 
 tree_node  *tree_dns_fails     = NULL;