ph10 2005/01/12 15:41:28 GMT
Modified files:
exim-doc/doc-txt ChangeLog
exim-src/src acl.c verify.c
Added files:
exim-test-orig/AutoTest/confs 601
exim-test-orig/AutoTest/scripts 601
exim-test-orig/AutoTest/stderr 601
exim-test-orig/AutoTest/stdout 601
Log:
Use "system" message for $acl_verify_message if there is no "user"
message.
Revision Changes Path
1.68 +5 -0 exim/exim-doc/doc-txt/ChangeLog
1.17 +3 -1 exim/exim-src/src/acl.c
1.12 +1 -1 exim/exim-src/src/verify.c
1.1 +44 -0 exim/exim-test-orig/AutoTest/confs/601 (new)
1.1 +7 -0 exim/exim-test-orig/AutoTest/scripts/601 (new)
1.1 +22 -0 exim/exim-test-orig/AutoTest/stderr/601 (new)
1.1 +13 -0 exim/exim-test-orig/AutoTest/stdout/601 (new)
Index: ChangeLog
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
retrieving revision 1.67
retrieving revision 1.68
diff -u -r1.67 -r1.68
--- ChangeLog 12 Jan 2005 12:51:54 -0000 1.67
+++ ChangeLog 12 Jan 2005 15:41:27 -0000 1.68
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.67 2005/01/12 12:51:54 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.68 2005/01/12 15:41:27 ph10 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -303,6 +303,11 @@
69. Fixed some compiler warnings in acl.c for the bitmaps specified with
negated items (that is, ~something) in unsigned ints. Some compilers
apparently mutter when there is no cast.
+
+70. If an address verification called from an ACL failed, and did not produce a
+ user-specific message (i.e. there was only a "system" message), nothing was
+ put in $acl_verify_message. In this situation, it now puts the system
+ message there.
Exim version 4.43
Index: acl.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/acl.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- acl.c 12 Jan 2005 14:41:12 -0000 1.16
+++ acl.c 12 Jan 2005 15:41:27 -0000 1.17
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/acl.c,v 1.16 2005/01/12 14:41:12 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/acl.c,v 1.17 2005/01/12 15:41:27 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -1345,8 +1345,10 @@
rc = verify_address(&addr2, NULL, verify_options|vopt_is_recipient, callout,
callout_overall, callout_connect, se_mailfrom, pm_mailfrom, NULL);
HDEBUG(D_acl) debug_printf("----------- end verify ------------\n");
+
*log_msgptr = addr2.message;
- *user_msgptr = addr2.user_message;
+ *user_msgptr = (addr2.user_message != NULL)?
+ addr2.user_message : addr2.message;
*basic_errno = addr2.basic_errno;
/* Make $address_data visible */
Index: verify.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/verify.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- verify.c 12 Jan 2005 14:47:42 -0000 1.11
+++ verify.c 12 Jan 2005 15:41:27 -0000 1.12
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/verify.c,v 1.11 2005/01/12 14:47:42 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/verify.c,v 1.12 2005/01/12 15:41:27 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -1100,7 +1100,7 @@
want to continue to verify the new child. */
if (rc == REROUTED) continue;
-
+
/* Handle hard failures */
if (rc == FAIL)
Index: 601
====================================================================
# Exim test configuration 601
HARDLIMIT=
# Macros are set externally in order to get the path
# of the Exim that is being tested, and the directory
# in which the test data lives.
exim_path = EXIM_PATH
primary_hostname = myhost.test.ex
spool_directory = DIR/spool
# ----- Main settings -----
acl_smtp_rcpt = check_rcpt
# ----- ACL -----
begin acl
check_rcpt:
defer !verify = recipient
message = >$acl_verify_message< ++++
# ----- Routers -----
begin routers
r1:
driver = dnslookup
transport = t1
# ----- Transports -----
begin transports
t1:
driver = appendfile
file = /dev/null
# End
Index: 601
====================================================================
0 $acl_verify_message
exim -bh 1.2.3.4
ehlo a.b.c.d
mail from:<>
rcpt to:<x@???>
quit
****
Index: 601
====================================================================
>>> host in hosts_connection_nolog? no (option unset)
>>> host in host_lookup? no (option unset)
>>> host in host_reject_connection? no (option unset)
>>> host in sender_unqualified_hosts? no (option unset)
>>> host in recipient_unqualified_hosts? no (option unset)
>>> host in helo_verify_hosts? no (option unset)
>>> host in helo_try_verify_hosts? no (option unset)
>>> host in helo_accept_junk_hosts? no (option unset)
>>> a.b.c.d in helo_lookup_domains? no (end of list)
>>> host in pipelining_advertise_hosts? yes (matched "*")
>>> host in tls_advertise_hosts? no (option unset)
>>> using ACL "check_rcpt"
>>> processing "defer"
>>> check !verify = recipient
>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>> routing x@???
>>> calling r1 router
>>> r1 router declined for x@???
>>> no more routers
>>> ----------- end verify ------------
>>> defer: condition test succeeded
LOG: H=(a.b.c.d) [1.2.3.4] F=<> temporarily rejected RCPT <x@???>: all relevant MX records point to non-existent hosts
Index: 601
====================================================================
**** SMTP testing session as if from host 1.2.3.4
**** but without any ident (RFC 1413) callback.
**** This is not for real!
220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
250-myhost.test.ex Hello a.b.c.d [1.2.3.4]
250-SIZE 52428800
250-PIPELINING
250 HELP
250 OK
451 >all relevant MX records point to non-existent hosts< ++++
221 myhost.test.ex closing connection