X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/1130bfb0c80bb04fa0873a075758a8abb84f607a..184e88237dea64ce48076cdd0184612d057cbafd:/src/src/macros.h diff --git a/src/src/macros.h b/src/src/macros.h index 57ceceaac..b7dfb591b 100644 --- a/src/src/macros.h +++ b/src/src/macros.h @@ -1,10 +1,10 @@ -/* $Cambridge: exim/src/src/macros.h,v 1.19 2005/09/12 13:39:31 ph10 Exp $ */ +/* $Cambridge: exim/src/src/macros.h,v 1.29 2007/01/08 10:50:18 ph10 Exp $ */ /************************************************* * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2005 */ +/* Copyright (c) University of Cambridge 1995 - 2007 */ /* 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,26 +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_unknown_in_list 0x80080000 +#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 | \ @@ -403,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 @@ -453,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 */ @@ -507,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 */ @@ -520,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. */ @@ -624,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 */ @@ -710,7 +713,7 @@ enum { enum { MSG_DELIVER, MSG_FREEZE, MSG_REMOVE, MSG_THAW, MSG_ADD_RECIPIENT, MSG_MARK_ALL_DELIVERED, MSG_MARK_DELIVERED, MSG_EDIT_SENDER, - MSG_SHOW_BODY, MSG_SHOW_HEADER, MSG_SHOW_LOG }; + MSG_SHOW_BODY, MSG_SHOW_HEADER, MSG_SHOW_LOG, MSG_LOAD }; /* Returns from the spool_read_header() function */ @@ -776,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