X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/47c7a64acebb31f5b11e79d3da2e3cdcd56b3f68..184e88237dea64ce48076cdd0184612d057cbafd:/src/src/log.c diff --git a/src/src/log.c b/src/src/log.c index 1427bd061..2757ee0b4 100644 --- a/src/src/log.c +++ b/src/src/log.c @@ -1,10 +1,10 @@ -/* $Cambridge: exim/src/src/log.c,v 1.6 2005/06/28 10:23:35 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 - 2005 */ +/* 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. */ @@ -741,7 +749,7 @@ va_end(ap); this way because it kind of fits with LOG_RECIPIENTS. */ if ((flags & LOG_SENDER) != 0 && - ptr < log_buffer + LOG_BUFFER_SIZE - 8 - Ustrlen(raw_sender)) + ptr < log_buffer + LOG_BUFFER_SIZE - 10 - Ustrlen(raw_sender)) { sprintf(CS ptr, " from <%s>", raw_sender); while (*ptr) ptr++; @@ -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;