X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/9c4e8f608a0cb5dc688e3c8ac3bc13ef3cb42620..47ca6d6cc2fd470063e3f2c36b57ee8960410b7a:/src/src/macros.h diff --git a/src/src/macros.h b/src/src/macros.h index 2eef204a3..911a5ea74 100644 --- a/src/src/macros.h +++ b/src/src/macros.h @@ -1,4 +1,4 @@ -/* $Cambridge: exim/src/src/macros.h,v 1.12 2005/04/07 10:54:54 ph10 Exp $ */ +/* $Cambridge: exim/src/src/macros.h,v 1.21 2005/12/12 15:58:53 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * @@ -160,11 +160,6 @@ record. */ #define WAIT_NAME_MAX 50 -/* The numbers of connection and message variables for ACLs */ - -#define ACL_C_MAX 10 -#define ACL_M_MAX 10 - /* Fixed option values for all PCRE functions */ #define PCRE_COPT 0 /* compile */ @@ -178,7 +173,7 @@ record. */ /* Options for dns_next_rr */ -enum { RESET_NEXT, RESET_ANSWERS, RESET_ADDITIONAL }; +enum { RESET_NEXT, RESET_ANSWERS, RESET_AUTHORITY, RESET_ADDITIONAL }; /* Argument values for the time-of-day function */ @@ -318,6 +313,12 @@ for having to swallow the rest of an SMTP message is whether the value is #define D_uid 0x20000000 #define D_verify 0x40000000 +/* The D_all value must always have all bits set, as it is recognized specially +by the function that decodes debug and log selectors. This is to enable it to +set all the bits in a multi-word selector. Debug doesn't use this yet, but we +are getting close. In fact, we want to omit "memory" for -d+all, but can't +handle this here. It is fudged externally. */ + #define D_all 0xffffffff #define D_any (D_all & \ @@ -325,7 +326,7 @@ for having to swallow the rest of an SMTP message is whether the value is D_pid | \ D_timestamp) ) -#define D_default (D_all & \ +#define D_default (0xffffffff & \ ~(D_expand | \ D_filter | \ D_interface | \ @@ -342,6 +343,10 @@ values > 0x80000000 and are put into log_extra_selector (without the top bit). These are only ever tested independently. "All" is a magic value that is used only in the name table to set all options in both bit maps. */ +/* The L_all value must always have all bits set, as it is recognized specially +by the function that decodes debug and log selectors. This is to enable it to +set all the bits in a multi-word selector. */ + #define L_all 0xffffffff #define L_address_rewrite 0x00000001 @@ -361,25 +366,27 @@ only in the name table to set all options in both bit maps. */ #define L_smtp_protocol_error 0x00004000 #define L_smtp_syntax_error 0x00008000 -#define LX_arguments 0x80000001 -#define LX_deliver_time 0x80000002 -#define LX_delivery_size 0x80000004 -#define LX_ident_timeout 0x80000008 -#define LX_incoming_interface 0x80000010 -#define LX_incoming_port 0x80000020 -#define LX_outgoing_port 0x80000040 -#define LX_queue_time 0x80000080 -#define LX_queue_time_overall 0x80000100 -#define LX_received_sender 0x80000200 -#define LX_received_recipients 0x80000400 -#define LX_rejected_header 0x80000800 -#define LX_return_path_on_delivery 0x80001000 -#define LX_sender_on_delivery 0x80002000 -#define LX_smtp_confirmation 0x80004000 -#define LX_subject 0x80008000 -#define LX_tls_certificate_verified 0x80010000 -#define LX_tls_cipher 0x80020000 -#define LX_tls_peerdn 0x80040000 +#define LX_acl_warn_skipped 0x80000001 +#define LX_arguments 0x80000002 +#define LX_deliver_time 0x80000004 +#define LX_delivery_size 0x80000008 +#define LX_ident_timeout 0x80000010 +#define LX_incoming_interface 0x80000020 +#define LX_incoming_port 0x80000040 +#define LX_outgoing_port 0x80000080 +#define LX_queue_time 0x80000100 +#define LX_queue_time_overall 0x80000200 +#define LX_received_sender 0x80000400 +#define LX_received_recipients 0x80000800 +#define LX_rejected_header 0x80001000 +#define LX_return_path_on_delivery 0x80002000 +#define LX_sender_on_delivery 0x80004000 +#define LX_smtp_confirmation 0x80008000 +#define LX_subject 0x80010000 +#define LX_tls_certificate_verified 0x80020000 +#define LX_tls_cipher 0x80040000 +#define LX_tls_peerdn 0x80080000 +#define LX_unknown_in_list 0x80100000 #define L_default (L_connection_reject | \ L_delay_delivery | \ @@ -392,7 +399,8 @@ only in the name table to set all options in both bit maps. */ L_size_reject | \ L_skip_delivery) -#define LX_default ((LX_rejected_header | \ +#define LX_default ((LX_acl_warn_skipped | \ + LX_rejected_header | \ LX_tls_cipher) & 0x7fffffff) /* Private error numbers for delivery failures, set negative so as not @@ -602,11 +610,12 @@ enum { v_none, v_sender, v_recipient, v_expn }; #define vopt_is_recipient 0x0002 #define vopt_qualify 0x0004 #define vopt_expn 0x0008 -#define vopt_callout_postmaster 0x0010 /* during callout */ +#define vopt_callout_fullpm 0x0010 /* full postmaster during callout */ #define vopt_callout_random 0x0020 /* during callout */ #define vopt_callout_no_cache 0x0040 /* disable callout cache */ #define vopt_callout_recipsender 0x0080 /* use real sender to verify recip */ #define vopt_callout_recippmaster 0x0100 /* use postmaster to verify recip */ +#define vopt_success_on_redirect 0x0200 /* Values for fields in callout cache records */ @@ -618,6 +627,7 @@ enum { v_none, v_sender, v_recipient, v_expn }; #define lookup_querystyle 1 /* query-style lookup */ #define lookup_absfile 2 /* requires absolute file name */ +#define lookup_absfilequery 4 /* query-style starts with file name */ /* Status values for host_item blocks. Require hstatus_unusable and hstatus_unusable_expired to be last. */