ph10 2005/05/17 12:20:33 BST
Modified files:
exim-doc/doc-txt ChangeLog
exim-src/src acl.c
exim-test-orig/AutoTest/stderr 320
Log:
Output the warning log line about deferring conditions in "warn"
statements every time, not just once per message.
Revision Changes Path
1.138 +5 -0 exim/exim-doc/doc-txt/ChangeLog
1.31 +6 -5 exim/exim-src/src/acl.c
1.3 +1 -1 exim/exim-test-orig/AutoTest/stderr/320
Index: ChangeLog
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
retrieving revision 1.137
retrieving revision 1.138
diff -u -r1.137 -r1.138
--- ChangeLog 17 May 2005 09:53:34 -0000 1.137
+++ ChangeLog 17 May 2005 11:20:32 -0000 1.138
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.137 2005/05/17 09:53:34 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.138 2005/05/17 11:20:32 ph10 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -18,6 +18,11 @@
PH/02 Reduce the amount of output that "make" produces by default. Full output
can still be requested.
+
+PH/03 The warning log line about a condition test deferring for a "warn" verb
+ was being output only once per connection, rather than after each
+ occurrence (because it was using the same function as for successful
+ "warn" verbs). This seems wrong, so I have changed it.
Exim version 4.51
Index: acl.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/acl.c,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- acl.c 11 May 2005 09:26:55 -0000 1.30
+++ acl.c 17 May 2005 11:20:32 -0000 1.31
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/acl.c,v 1.30 2005/05/11 09:26:55 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/acl.c,v 1.31 2005/05/17 11:20:32 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -788,8 +788,8 @@
strcmpic(log_message, US"sender verify failed") == 0)
text = string_sprintf("%s: %s", text, sender_verified_failed->message);
- /* Search previously logged warnings. They are kept in malloc store so they
- can be freed at the start of a new message. */
+ /* Search previously logged warnings. They are kept in malloc
+ store so they can be freed at the start of a new message. */
for (logged = acl_warn_logged; logged != NULL; logged = logged->next)
if (Ustrcmp(logged->text, text) == 0) break;
@@ -2950,9 +2950,10 @@
if (cond == OK)
acl_warn(where, *user_msgptr, *log_msgptr);
else if (cond == DEFER)
- acl_warn(where, NULL, string_sprintf("ACL \"warn\" statement skipped: "
- "condition test deferred: %s",
- (*log_msgptr == NULL)? US"" : *log_msgptr));
+ log_write(0, LOG_MAIN, "%s Warning: ACL \"warn\" statement skipped: "
+ "condition test deferred%s%s", host_and_ident(TRUE),
+ (*log_msgptr == NULL)? US"" : US": ",
+ (*log_msgptr == NULL)? US"" : *log_msgptr);
*log_msgptr = *user_msgptr = NULL; /* In case implicit DENY follows */
break;
Index: 320
===================================================================
RCS file: /home/cvs/exim/exim-test-orig/AutoTest/stderr/320,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- 320 22 Nov 2004 11:30:04 -0000 1.2
+++ 320 17 May 2005 11:20:33 -0000 1.3
@@ -1285,6 +1285,6 @@
>>> using result of previous DNS lookup
LOG: DNS list lookup defer (probably timeout) for 44.44.44.44.test.again.dns: returned DEFER
>>> warn: condition test deferred
-LOG: H=[44.44.44.44] Warning: ACL "warn" statement skipped: condition test deferred:
+LOG: H=[44.44.44.44] Warning: ACL "warn" statement skipped: condition test deferred
>>> processing "accept"
>>> accept: condition test succeeded