(1) Update version number to 4.64. (2) Ignore callout cached information
[exim.git] / src / src / macros.h
index 432da931c964b392ed1ec5bc792c30f41d24e8f9..0b0215bdcde03c7d72f349fac8d0e71e0ba57e89 100644 (file)
@@ -1,10 +1,10 @@
-/* $Cambridge: exim/src/src/macros.h,v 1.18 2005/08/01 13:20:28 ph10 Exp $ */
+/* $Cambridge: exim/src/src/macros.h,v 1.27 2006/09/05 13:24:10 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. */
 
 
@@ -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 */
@@ -371,25 +366,28 @@ set all the bits in a multi-word selector. */
 #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_sender_verify_fail          0x80008000
+#define LX_smtp_confirmation           0x80010000
+#define LX_subject                     0x80020000
+#define LX_tls_certificate_verified    0x80040000
+#define LX_tls_cipher                  0x80080000
+#define LX_tls_peerdn                  0x80100000
+#define LX_unknown_in_list             0x80200000
 
 #define L_default     (L_connection_reject        | \
                        L_delay_delivery           | \
@@ -402,7 +400,9 @@ set all the bits in a multi-word selector. */
                        L_size_reject              | \
                        L_skip_delivery)
 
-#define LX_default   ((LX_rejected_header         | \
+#define LX_default   ((LX_acl_warn_skipped        | \
+                       LX_rejected_header         | \
+                       LX_sender_verify_fail      | \
                        LX_tls_cipher) & 0x7fffffff)
 
 /* Private error numbers for delivery failures, set negative so as not
@@ -452,6 +452,8 @@ to conflict with system errno values. */
 #define ERRNO_AUTHFAIL       (-42)   /* When required by client */
 #define ERRNO_CONNECTTIMEOUT (-43)   /* Used internally in smtp transport */
 #define ERRNO_RCPT4XX        (-44)   /* RCPT gave 4xx error */
+#define ERRNO_MAIL4XX        (-45)   /* MAIL gave 4xx error */
+#define ERRNO_DATA4XX        (-46)   /* DATA gave 4xx error */
 
 /* These must be last, so all retry deferments can easily be identified */
 
@@ -506,6 +508,7 @@ router, which were chosen to represent the standard situation for users'
 #define RDO_REWRITE      0x00020000  /* Rewrite generated addresses */
 #define RDO_EXIM_FILTER  0x00040000  /* Forbid Exim filters */
 #define RDO_SIEVE_FILTER 0x00080000  /* Forbid Sieve filters */
+#define RDO_PREPEND_HOME 0x00100000  /* Prepend $home to relative paths in Exim filter save commands */
 
 /* This is the set that apply to expansions in filters */
 
@@ -519,7 +522,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_DLFUNC, RDON_REALLOG,
-  RDON_REWRITE, RDON_EXIM_FILTER, RDON_SIEVE_FILTER };
+  RDON_REWRITE, RDON_EXIM_FILTER, RDON_SIEVE_FILTER, RDON_PREPEND_HOME };
 
 /* Results of filter or forward file processing. Some are only from a filter;
 some are only from a forward file. */
@@ -623,7 +626,8 @@ enum { v_none, v_sender, v_recipient, v_expn };
 
 #define ccache_unknown         0       /* test hasn't been done */
 #define ccache_accept          1
-#define ccache_reject          2
+#define ccache_reject          2       /* All rejections except */
+#define ccache_reject_mfnull   3       /* MAIL FROM:<> was rejected */
 
 /* Options for lookup functions */
 
@@ -775,6 +779,7 @@ enum { ACL_WHERE_RCPT,       /* Some controls are for RCPT only */
        ACL_WHERE_EXPN,
        ACL_WHERE_HELO,
        ACL_WHERE_MAILAUTH,
+       ACL_WHERE_NOTSMTP_START,
        ACL_WHERE_QUIT,
        ACL_WHERE_STARTTLS,
        ACL_WHERE_VRFY