Fix previous attempt to remove "memory" from debug "all".
[exim.git] / src / src / macros.h
index 86bb84f1281dbb295d64aff5435e1def3f1b9a1f..91419c968e0c307d41d2eee205e70829a79fadfb 100644 (file)
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/macros.h,v 1.11 2005/03/22 14:11:54 ph10 Exp $ */
+/* $Cambridge: exim/src/src/macros.h,v 1.16 2005/06/27 14:29:04 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
@@ -178,7 +178,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 +318,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 +331,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 +348,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
@@ -602,7 +612,7 @@ 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 */
@@ -742,18 +752,18 @@ enum { MCL_STRING, MCL_DOMAIN, MCL_HOST, MCL_ADDRESS, MCL_LOCALPART };
 /* Codes for the places from which ACLs can be called. These are cunningly
 ordered to make it easy to implement tests for certain ACLs when processing
 "control" modifiers, by means of a maximum "where" value. Do not modify this
-order without checking carefully! Furthermore, remember to keep these in step
-with the tables of names and response codes in globals.c. */
+order without checking carefully!
+
+**** IMPORTANT***
+****   Furthermore, remember to keep these in step with the tables
+****   of names and response codes in globals.c.
+**** IMPORTANT ****
+*/
 
 enum { ACL_WHERE_RCPT,       /* Some controls are for RCPT only */
        ACL_WHERE_MAIL,       /* )                                           */
        ACL_WHERE_PREDATA,    /* ) There are several tests for "in message", */
-                             /* ) implemented by <= WHERE_NOTSMTP           */
-
-/* Remove next line in case of removeing WITH_CONTENT_SCAN.
-   ACL_WHERE_MIME is defined unconditionally to avoid clutter in acl.c */
-       ACL_WHERE_MIME,       /* )                                           */
-
+       ACL_WHERE_MIME,       /* ) implemented by <= WHERE_NOTSMTP           */
        ACL_WHERE_DATA,       /* )                                           */
        ACL_WHERE_NOTSMTP,    /* )                                           */