-/* $Cambridge: exim/src/src/macros.h,v 1.33 2007/03/13 15:32:48 ph10 Exp $ */
-
/*************************************************
* Exim - an Internet mail transport agent *
*************************************************/
-/* Copyright (c) University of Cambridge 1995 - 2007 */
+/* Copyright (c) University of Cambridge 1995 - 2009 */
/* See the file NOTICE for conditions of use and distribution. */
#define mac_expanded_string(s) mac_string(s)
+/* When running in the test harness, the load average is fudged. */
+
+#define OS_GETLOADAVG() \
+ (running_in_test_harness? (test_harness_load_avg += 10) : os_getloadavg())
+
+
/* The address_item structure has a word full of 1-bit flags. These macros
manipulate them. */
((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. */
/* A macro to simplify testing bits in lookup types */
-#define mac_islookup(a,b) ((lookup_list[a].type & (b)) != 0)
+#define mac_islookup(a,b) ((lookup_list[a]->type & (b)) != 0)
/* Debugging control */
/* Argument values for the time-of-day function */
-enum { tod_log, tod_log_bare, tod_log_zone, tod_log_datestamp,
- tod_zone, tod_full, tod_bsdin, tod_mbx, tod_epoch, tod_zulu };
+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 };
/* For identifying types of driver */
#define LOG_MAIN 1 /* Write to the main log */
#define LOG_PANIC 2 /* Write to the panic log */
#define LOG_PANIC_DIE 6 /* Write to the panic log and then die */
-#define LOG_PROCESS 8 /* Write to the process log */
#define LOG_REJECT 16 /* Write to the reject log, with headers */
#define LOG_SENDER 32 /* Add raw sender to the message */
#define LOG_RECIPIENTS 64 /* Add raw recipients to the message */
#define LOG_CONFIG_FOR (256+128) /* Add " for" instead of ":\n" */
#define LOG_CONFIG_IN (512+128) /* Add " in line x[ of file y]" */
+/* and for debug_bits() logging action control: */
+#define DEBUG_FROM_CONFIG 0x0001
+
/* SMTP command identifiers for the smtp_connection_had field that records the
most recent SMTP commands. Must be kept in step with the list of names in
smtp_in.c that is used for creating the smtp_no_mail logging action. SCH_NONE
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_LOAD };
+ MSG_SHOW_COPY, MSG_LOAD,
+ /* These ones must be last: a test for >= MSG_SHOW_BODY is used
+ to test for actions that list individual spool files. */
+ MSG_SHOW_BODY, MSG_SHOW_HEADER, MSG_SHOW_LOG };
/* Returns from the spool_read_header() function */
ACL_WHERE_MAIL, /* ) */
ACL_WHERE_PREDATA, /* ) There are several tests for "in message", */
ACL_WHERE_MIME, /* ) implemented by <= WHERE_NOTSMTP */
+ ACL_WHERE_DKIM, /* ) */
ACL_WHERE_DATA, /* ) */
ACL_WHERE_NOTSMTP, /* ) */
ACL_WHERE_HELO,
ACL_WHERE_MAILAUTH,
ACL_WHERE_NOTSMTP_START,
+ ACL_WHERE_NOTQUIT,
ACL_WHERE_QUIT,
ACL_WHERE_STARTTLS,
ACL_WHERE_VRFY