ph10 2005/04/06 15:03:54 BST
Modified files:
exim-doc/doc-txt ChangeLog NewStuff
exim-src/src acl.c
exim-test-orig/AutoTest/confs 452
exim-test-orig/AutoTest/log 452
exim-test-orig/AutoTest/stdout 452
Log:
Make $acl_verify_message available in following conditions and modifiers
in an ACL statement, not just when expanding message and log_message.
Revision Changes Path
1.114 +10 -0 exim/exim-doc/doc-txt/ChangeLog
1.34 +11 -0 exim/exim-doc/doc-txt/NewStuff
1.28 +4 -1 exim/exim-src/src/acl.c
1.2 +3 -0 exim/exim-test-orig/AutoTest/confs/452
1.2 +2 -0 exim/exim-test-orig/AutoTest/log/452
1.2 +2 -0 exim/exim-test-orig/AutoTest/stdout/452
Index: ChangeLog
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
retrieving revision 1.113
retrieving revision 1.114
diff -u -r1.113 -r1.114
--- ChangeLog 6 Apr 2005 10:53:47 -0000 1.113
+++ ChangeLog 6 Apr 2005 14:03:53 -0000 1.114
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.113 2005/04/06 10:53:47 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.114 2005/04/06 14:03:53 ph10 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -157,6 +157,16 @@
PH/26 Change scripts/os-type so that when "uname -s" returns just "GNU", the
answer is "GNU", and only if the return is "GNU/something" is the answer
"Linux".
+
+PH/27 $acl_verify_message is now set immediately after the failure of a
+ verification in an ACL, and so is available in subsequent modifiers. In
+ particular, the message can be preserved by coding like this:
+
+ warn !verify = sender
+ set acl_m0 = $acl_verify_message
+
+ Previously, $acl_verify_message was set only while expanding "message"
+ and "log_message" when a very denied access.
A note about Exim versions 4.44 and 4.50
Index: NewStuff
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/NewStuff,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- NewStuff 5 Apr 2005 13:58:34 -0000 1.33
+++ NewStuff 6 Apr 2005 14:03:53 -0000 1.34
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/NewStuff,v 1.33 2005/04/05 13:58:34 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/NewStuff,v 1.34 2005/04/06 14:03:53 ph10 Exp $
New Features in Exim
--------------------
@@ -129,6 +129,17 @@
configuration. They may not, however, be changed within an individual
driver or ACL, or in the local_scan, retry, or rewrite sections of the
configuration.
+
+PH/07 $acl_verify_message is now set immediately after the failure of a
+ verification in an ACL, and so is available in subsequent modifiers. In
+ particular, the message can be preserved by coding like this:
+
+ warn !verify = sender
+ set acl_m0 = $acl_verify_message
+
+ Previously, $acl_verify_message was set only while expanding "message"
+ and "log_message" when a very denied access.
+
Version 4.50
Index: acl.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/acl.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- acl.c 5 Apr 2005 13:58:35 -0000 1.27
+++ acl.c 6 Apr 2005 14:03:53 -0000 1.28
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/acl.c,v 1.27 2005/04/05 13:58:35 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/acl.c,v 1.28 2005/04/06 14:03:53 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -2099,10 +2099,13 @@
/* If the verb is WARN, discard any user message from verification, because
such messages are SMTP responses, not header additions. The latter come
- only from explicit "message" modifiers. */
+ only from explicit "message" modifiers. However, put the user message into
+ $acl_verify_message so it can be used in subsequent conditions or modifiers
+ (until something changes it). */
case ACLC_VERIFY:
rc = acl_verify(where, addr, arg, user_msgptr, log_msgptr, basic_errno);
+ acl_verify_message = *user_msgptr;
if (verb == ACL_WARN) *user_msgptr = NULL;
break;
Index: 452
===================================================================
RCS file: /home/cvs/exim/exim-test-orig/AutoTest/confs/452,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 452 8 Oct 2004 14:49:16 -0000 1.1
+++ 452 6 Apr 2005 14:03:53 -0000 1.2
@@ -20,6 +20,9 @@
rcpt:
warn log_message = log warning message: $acl_verify_message
!verify = sender
+ set acl_m0 = >$acl_verify_message<
+ logwrite = "acl_verify_message=$acl_verify_message"
+ logwrite = "acl_m0=$acl_m0"
accept
Index: 452
===================================================================
RCS file: /home/cvs/exim/exim-test-orig/AutoTest/log/452,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 452 8 Oct 2004 14:49:31 -0000 1.1
+++ 452 6 Apr 2005 14:03:53 -0000 1.2
@@ -1,2 +1,4 @@
+1999-03-02 09:44:33 "acl_verify_message=Sender verify failed"
+1999-03-02 09:44:33 "acl_m0=>Sender verify failed<"
1999-03-02 09:44:33 U=ph10 Warning: log warning message: Sender verify failed
1999-03-02 09:44:33 10HmaX-0005vi-00 <= ph10@??? U=ph10 P=local-smtp S=256
Index: 452
===================================================================
RCS file: /home/cvs/exim/exim-test-orig/AutoTest/stdout/452,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 452 8 Oct 2004 14:50:13 -0000 1.1
+++ 452 6 Apr 2005 14:03:53 -0000 1.2
@@ -10,6 +10,8 @@
ddddddddd 0
-ident ph10
-received_protocol local-smtp
+-acl 10 22
+>Sender verify failed<
-body_linecount 0
-auth_id ph10
-allow_unqualified_recipient