X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fsrc%2Fmacros.h;h=a73bb0ba67feab43c9b274a107a8f99629f52d32;hb=5b7a7c051c9ab9ee7c924a611f90ef2be03e0ad0;hp=e3129c61fc36bec7d7ba0f92c5b37999a7091854;hpb=921b12ca0c361b9c543368edf057712afa02ca14;p=exim.git diff --git a/src/src/macros.h b/src/src/macros.h index e3129c61f..a73bb0ba6 100644 --- a/src/src/macros.h +++ b/src/src/macros.h @@ -1,10 +1,8 @@ -/* $Cambridge: exim/src/src/macros.h,v 1.40 2010/06/06 00:27:52 pdp Exp $ */ - /************************************************* * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2009 */ +/* Copyright (c) University of Cambridge 1995 - 2012 */ /* See the file NOTICE for conditions of use and distribution. */ @@ -74,11 +72,16 @@ as unsigned. */ ((uschar)(c) > 127 && print_topbitchars)) +/* Convenience for testing strings */ + +#define streqic(Foo, Bar) (strcmpic(Foo, Bar) == 0) + + /* When built with TLS support, the act of flushing SMTP output becomes a no-op once an SSL session is in progress. */ #ifdef SUPPORT_TLS -#define mac_smtp_fflush() if (tls_active < 0) fflush(smtp_out); +#define mac_smtp_fflush() if (tls_in.active < 0) fflush(smtp_out); #else #define mac_smtp_fflush() fflush(smtp_out); #endif @@ -193,7 +196,7 @@ enum { RESET_NEXT, RESET_ANSWERS, RESET_AUTHORITY, RESET_ADDITIONAL }; enum { tod_log, tod_log_bare, tod_log_zone, tod_log_datestamp_daily, tod_log_datestamp_monthly, tod_zone, tod_full, tod_bsdin, - tod_mbx, tod_epoch, tod_zulu }; + tod_mbx, tod_epoch, tod_epoch_l, tod_zulu }; /* For identifying types of driver */ @@ -219,6 +222,9 @@ enum { ERRMESS_TOOMANYRECIP, /* Too many recipients */ ERRMESS_LOCAL_SCAN, /* Rejected by local scan */ ERRMESS_LOCAL_ACL /* Rejected by non-SMTP ACL */ +#ifdef EXPERIMENTAL_DMARC + ,ERRMESS_DMARC_FORENSIC /* DMARC Forensic Report */ +#endif }; /* Error handling styles - set by option, and apply only when receiving @@ -404,7 +410,10 @@ set all the bits in a multi-word selector. */ #define LX_tls_certificate_verified 0x80100000 #define LX_tls_cipher 0x80200000 #define LX_tls_peerdn 0x80400000 -#define LX_unknown_in_list 0x80800000 +#define LX_tls_sni 0x80800000 +#define LX_unknown_in_list 0x81000000 +#define LX_8bitmime 0x82000000 +#define LX_smtp_mailauth 0x84000000 #define L_default (L_connection_reject | \ L_delay_delivery | \ @@ -420,6 +429,7 @@ set all the bits in a multi-word selector. */ #define LX_default ((LX_acl_warn_skipped | \ LX_rejected_header | \ LX_sender_verify_fail | \ + LX_smtp_confirmation | \ LX_tls_cipher) & 0x7fffffff) /* Private error numbers for delivery failures, set negative so as not @@ -620,7 +630,9 @@ for booleans that are kept in one bit. */ #define opt_public 0x200 /* Stored in the main instance block */ #define opt_set 0x400 /* Option is set */ #define opt_secure 0x800 /* "hide" prefix used */ -#define opt_mask 0x0ff +#define opt_rep_con 0x1000 /* Can be appended to by a repeated line (condition) */ +#define opt_rep_str 0x2000 /* Can be appended to by a repeated line (string) */ +#define opt_mask 0x00ff /* Verify types when directing and routing */ @@ -804,6 +816,9 @@ enum { ACL_WHERE_RCPT, /* Some controls are for RCPT only */ ACL_WHERE_MIME, /* ) implemented by <= WHERE_NOTSMTP */ ACL_WHERE_DKIM, /* ) */ ACL_WHERE_DATA, /* ) */ +#ifdef EXPERIMENTAL_PRDR + ACL_WHERE_PRDR, /* ) */ +#endif ACL_WHERE_NOTSMTP, /* ) */ ACL_WHERE_AUTH, /* These remaining ones are not currently */ @@ -816,7 +831,10 @@ enum { ACL_WHERE_RCPT, /* Some controls are for RCPT only */ ACL_WHERE_NOTQUIT, ACL_WHERE_QUIT, ACL_WHERE_STARTTLS, - ACL_WHERE_VRFY + ACL_WHERE_VRFY, + + ACL_WHERE_DELIVERY, + ACL_WHERE_UNKNOWN /* Currently used by a ${acl:name} expansion */ }; /* Situations for spool_write_header() */