summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Hazel <ph10@hermes.cam.ac.uk>2005-05-17 11:20:32 +0000
committerPhilip Hazel <ph10@hermes.cam.ac.uk>2005-05-17 11:20:32 +0000
commit9c7a242c6007e9854d3332777c0ca131da51c775 (patch)
tree18dd5f4829ae08bac592548077df19b4bd60e4ed
parentc1ac69960f6c08393233fe99fe44a1c99373e6df (diff)
Output the warning log line about deferring conditions in "warn"
statements every time, not just once per message.
-rw-r--r--doc/doc-txt/ChangeLog7
-rw-r--r--src/src/acl.c13
2 files changed, 13 insertions, 7 deletions
diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog
index 3848f78c7..9f2f6c4be 100644
--- a/doc/doc-txt/ChangeLog
+++ b/doc/doc-txt/ChangeLog
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.137 2005/05/17 09:53:34 ph10 Exp $
+$Cambridge: 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
-------------------------------------------
@@ -19,6 +19,11 @@ TK/01 Fix poll() being unavailable on Mac OSX 10.2.
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
-----------------
diff --git a/src/src/acl.c b/src/src/acl.c
index 9d4a7789f..3f5015b85 100644
--- a/src/src/acl.c
+++ b/src/src/acl.c
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/acl.c,v 1.30 2005/05/11 09:26:55 ph10 Exp $ */
+/* $Cambridge: 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 @@ if (log_message != NULL && log_message != user_message)
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 @@ while (acl != NULL)
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;