(1) Last-minute sieve patch (updates to latest spec).
[exim.git] / src / src / macros.h
index bc685dac833804c9f769e63b1cb3ff08cc3f5475..2795f32ac721423781c1084cab56a928e9d3c688 100644 (file)
@@ -1,10 +1,10 @@
-/* $Cambridge: exim/src/src/macros.h,v 1.2 2004/11/04 10:42:11 ph10 Exp $ */
+/* $Cambridge: exim/src/src/macros.h,v 1.9 2005/02/17 11:58:26 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
 *************************************************/
 
-/* Copyright (c) University of Cambridge 1995 - 2004 */
+/* Copyright (c) University of Cambridge 1995 - 2005 */
 /* See the file NOTICE for conditions of use and distribution. */
 
 
@@ -72,7 +72,7 @@ as unsigned. */
 a no-op once an SSL session is in progress. */
 
 #ifdef SUPPORT_TLS
-#define mac_smtp_fflush() if (!tls_active) fflush(smtp_out);
+#define mac_smtp_fflush() if (tls_active < 0) fflush(smtp_out);
 #else
 #define mac_smtp_fflush() fflush(smtp_out);
 #endif
@@ -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
@@ -227,6 +227,12 @@ enum {
   CEE_EXEC_PANIC            /* Panic-die if exec fails */
 };
 
+/* Bit values for filter_test */
+
+#define FTEST_NONE     0    /* Not filter testing */
+#define FTEST_USER     1    /* Testing user filter */
+#define FTEST_SYSTEM   2    /* Testing system filter */
+
 /* Returns from the routing, transport and authentication functions (not all
 apply to all of them). Some other functions also use these convenient values,
 and some additional values are used only by non-driver functions.
@@ -234,10 +240,10 @@ and some additional values are used only by non-driver functions.
 OK, FAIL, DEFER, and ERROR are also declared in local_scan.h for use in the
 local_scan() function. Do not change them unilaterally. */
 
-#define  OK            0     /* Successful match */
-#define  DEFER         1     /* Defer - some problem */
-#define  FAIL          2     /* Matching failed */
-#define  ERROR         3     /* Internal or config error */
+#define  OK            0    /* Successful match */
+#define  DEFER         1    /* Defer - some problem */
+#define  FAIL          2    /* Matching failed */
+#define  ERROR         3    /* Internal or config error */
 /***********/
 #define DECLINE        4    /* Declined to handle the address, pass to next
                                  router unless no_more is set */
@@ -361,16 +367,17 @@ only in the name table to set all options in both bit maps. */
 #define LX_incoming_port               0x80000020
 #define LX_outgoing_port               0x80000040
 #define LX_queue_time                  0x80000080
-#define LX_received_sender             0x80000100
-#define LX_received_recipients         0x80000200
-#define LX_rejected_header             0x80000400
-#define LX_return_path_on_delivery     0x80000800
-#define LX_sender_on_delivery          0x80001000
-#define LX_smtp_confirmation           0x80002000
-#define LX_subject                     0x80004000
-#define LX_tls_certificate_verified    0x80008000
-#define LX_tls_cipher                  0x80010000
-#define LX_tls_peerdn                  0x80020000
+#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 L_default     (L_connection_reject        | \
                        L_delay_delivery           | \
@@ -545,6 +552,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
@@ -737,7 +745,11 @@ with the tables of names and response codes in globals.c. */
 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           */
+                             /* ) 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    */