Update version number and copyright year.
[exim.git] / src / src / log.c
index a388258c5ec11b61b39798a0f098b4cbcc4853a0..2757ee0b412837db796610f2e91606a20553a4da 100644 (file)
@@ -1,10 +1,10 @@
-/* $Cambridge: exim/src/src/log.c,v 1.8 2006/02/07 11:19:00 ph10 Exp $ */
+/* $Cambridge: exim/src/src/log.c,v 1.11 2007/01/08 10:50:18 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
 *************************************************/
 
-/* Copyright (c) University of Cambridge 1995 - 2006 */
+/* Copyright (c) University of Cambridge 1995 - 2007 */
 /* See the file NOTICE for conditions of use and distribution. */
 
 /* Functions for writing log files. The code for maintaining datestamped
@@ -57,7 +57,9 @@ static uschar *file_path = US"";
 
 /* The given string is split into sections according to length, or at embedded
 newlines, and syslogged as a numbered sequence if it is overlong or if there is
-more than one line.
+more than one line. However, if we are running in the test harness, do not do
+anything. (The test harness doesn't use syslog - for obvious reasons - but we
+can get here if there is a failure to open the panic log.)
 
 Arguments:
   priority       syslog priority
@@ -72,6 +74,8 @@ write_syslog(int priority, uschar *s)
 int len, pass;
 int linecount = 0;
 
+if (running_in_test_harness) return;
+
 if (!syslog_timestamp) s += log_timezone? 26 : 20;
 
 len = Ustrlen(s);
@@ -720,6 +724,10 @@ if (disable_logging)
   return;
   }
 
+/* Handle disabled reject log */
+
+if (!write_rejectlog) flags &= ~LOG_REJECT;
+
 /* Create the main message in the log buffer, including the message
 id except for the process log and when called by a utility. */
 
@@ -854,11 +862,12 @@ if ((flags & LOG_MAIN) != 0 &&
     }
   }
 
-/* Handle the log for rejected messages. This can be globally disabled. If
-there are any header lines (i.e. if the rejection is happening after the DATA
-phase), log the recipients and the headers. */
+/* Handle the log for rejected messages. This can be globally disabled, in
+which case the flags are altered above. If there are any header lines (i.e. if
+the rejection is happening after the DATA phase), log the recipients and the
+headers. */
 
-if (write_rejectlog && (flags & LOG_REJECT) != 0)
+if ((flags & LOG_REJECT) != 0)
   {
   header_line *h;