more W.I.P
[users/jgh/exim.git] / src / src / macros.h
index e21fb8b9f3a3e88f6e55cc38842e32ce51cdadbe..bff6706b4ac4406121b2f95e6171ba90f4af7222 100644 (file)
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/macros.h,v 1.1 2004/10/07 10:39:01 ph10 Exp $ */
+/* $Cambridge: exim/src/src/macros.h,v 1.2.2.3 2004/12/02 09:15:11 tom Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
@@ -131,12 +131,12 @@ enough to hold all the headers from a normal kind of message. */
 into big_buffer_size and in some circumstances increased. It should be at least
 as long as the maximum path length. */
 
-#if defined PATH_MAX && PATH_MAX > 1024
+#if defined PATH_MAX && PATH_MAX > 16384
 #define BIG_BUFFER_SIZE PATH_MAX
-#elif defined MAXPATHLEN && MAXPATHLEN > 1024
+#elif defined MAXPATHLEN && MAXPATHLEN > 16384
 #define BIG_BUFFER_SIZE MAXPATHLEN
 #else
-#define BIG_BUFFER_SIZE 1024
+#define BIG_BUFFER_SIZE 16384
 #endif
 
 /* This limits the length of data returned by local_scan(). Because it is
@@ -467,23 +467,25 @@ and some forbid, reflecting the "allow" and "forbid" options in the redirect
 router, which were chosen to represent the standard situation for users'
 .forward files. */
 
-#define RDO_BLACKHOLE  0x00000001  /* Forbid :blackhole: */
-#define RDO_DEFER      0x00000002  /* Allow :defer: or "defer" */
-#define RDO_EACCES     0x00000004  /* Ignore EACCES */
-#define RDO_ENOTDIR    0x00000008  /* Ignore ENOTDIR */
-#define RDO_EXISTS     0x00000010  /* Forbid "exists" in expansion in filter */
-#define RDO_FAIL       0x00000020  /* Allow :fail: or "fail" */
-#define RDO_FILTER     0x00000040  /* Allow a filter script */
-#define RDO_FREEZE     0x00000080  /* Allow "freeze" */
-#define RDO_INCLUDE    0x00000100  /* Forbid :include: */
-#define RDO_LOG        0x00000200  /* Forbid "log" */
-#define RDO_LOOKUP     0x00000400  /* Forbid "lookup" in expansion in filter */
-#define RDO_PERL       0x00000800  /* Forbid "perl" in expansion in filter */
-#define RDO_READFILE   0x00001000  /* Forbid "readfile" in exp in filter */
-#define RDO_READSOCK   0x00002000  /* Forbid "readsocket" in exp in filter */
-#define RDO_RUN        0x00004000  /* Forbid "run" in expansion in filter */
-#define RDO_REALLOG    0x00008000  /* Really do log (not testing/verifying) */
-#define RDO_REWRITE    0x00010000  /* Rewrite generated addresses */
+#define RDO_BLACKHOLE    0x00000001  /* Forbid :blackhole: */
+#define RDO_DEFER        0x00000002  /* Allow :defer: or "defer" */
+#define RDO_EACCES       0x00000004  /* Ignore EACCES */
+#define RDO_ENOTDIR      0x00000008  /* Ignore ENOTDIR */
+#define RDO_EXISTS       0x00000010  /* Forbid "exists" in expansion in filter */
+#define RDO_FAIL         0x00000020  /* Allow :fail: or "fail" */
+#define RDO_FILTER       0x00000040  /* Allow a filter script */
+#define RDO_FREEZE       0x00000080  /* Allow "freeze" */
+#define RDO_INCLUDE      0x00000100  /* Forbid :include: */
+#define RDO_LOG          0x00000200  /* Forbid "log" */
+#define RDO_LOOKUP       0x00000400  /* Forbid "lookup" in expansion in filter */
+#define RDO_PERL         0x00000800  /* Forbid "perl" in expansion in filter */
+#define RDO_READFILE     0x00001000  /* Forbid "readfile" in exp in filter */
+#define RDO_READSOCK     0x00002000  /* Forbid "readsocket" in exp in filter */
+#define RDO_RUN          0x00004000  /* Forbid "run" in expansion in filter */
+#define RDO_REALLOG      0x00008000  /* Really do log (not testing/verifying) */
+#define RDO_REWRITE      0x00010000  /* Rewrite generated addresses */
+#define RDO_EXIM_FILTER  0x00020000  /* Forbid Exim filters */
+#define RDO_SIEVE_FILTER 0x00040000  /* Forbid Sieve filters */
 
 /* This is the set that apply to expansions in filters */
 
@@ -497,7 +499,7 @@ automated, but I haven't bothered. Keep this list in step with the above! */
 enum { RDON_BLACKHOLE, RDON_DEFER, RDON_EACCES, RDON_ENOTDIR, RDON_EXISTS,
   RDON_FAIL, RDON_FILTER, RDON_FREEZE, RDON_INCLUDE, RDON_LOG, RDON_LOOKUP,
   RDON_PERL, RDON_READFILE, RDON_READSOCK, RDON_RUN, RDON_REALLOG,
-  RDON_REWRITE };
+  RDON_REWRITE, RDON_EXIM_FILTER, RDON_SIEVE_FILTER };
 
 /* Results of filter or forward file processing. Some are only from a filter;
 some are only from a forward file. */
@@ -543,6 +545,7 @@ to the header name, by calling header_checkname(). */
 #define htype_add_top       'a'
 #define htype_add_rec       'r'
 #define htype_add_bot       'z'
+#define htype_add_rfc       'f'
 
 /* Types of item in options lists. These are the bottom 8 bits of the "type"
 field, which is an int. The opt_void value is used for entries in tables that
@@ -732,11 +735,18 @@ ordered to make it easy to implement tests for certain ACLs when processing
 order without checking carefully! Furthermore, remember to keep these in step
 with the tables of names and response codes in globals.c. */
 
+/* FIXME: the #ifdef below does not work here. Why? */
+
 enum { ACL_WHERE_RCPT,       /* Some controls are for RCPT only */
        ACL_WHERE_MAIL,       /* )                                           */
        ACL_WHERE_PREDATA,    /* ) There are several tests for "in message", */
-       ACL_WHERE_DATA,       /* ) implemented by <= WHERE_NOTSMTP           */
-       ACL_WHERE_NOTSMTP,    /* )                                           */
+                             /* ) implemented by <= WHERE_NOTSMTP           */
+                             /* )                                           */
+#ifdef WITH_CONTENT_SCAN
+       ACL_WHERE_MIME,       
+#endif
+       ACL_WHERE_DATA,       
+       ACL_WHERE_NOTSMTP,    
 
        ACL_WHERE_AUTH,       /* These remaining ones are not currently    */
        ACL_WHERE_CONNECT,    /* required to be in a special order so they */