ph10 2006/03/16 11:14:46 GMT
Modified files:
exim-doc/doc-txt ChangeLog
exim-src/src smtp_in.c
exim-test/confs 0042
exim-test/scripts/0000-Basic 0042
exim-test/stderr 0042
exim-test/stdout 0042
Log:
User, not system, error message for VRFY defer.
Revision Changes Path
1.328 +3 -0 exim/exim-doc/doc-txt/ChangeLog
1.37 +4 -4 exim/exim-src/src/smtp_in.c
1.2 +5 -0 exim/exim-test/confs/0042
1.2 +1 -0 exim/exim-test/scripts/0000-Basic/0042
1.2 +12 -0 exim/exim-test/stderr/0042
1.2 +1 -0 exim/exim-test/stdout/0042
Index: ChangeLog
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
retrieving revision 1.327
retrieving revision 1.328
diff -u -r1.327 -r1.328
--- ChangeLog 9 Mar 2006 15:10:16 -0000 1.327
+++ ChangeLog 16 Mar 2006 11:14:46 -0000 1.328
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.327 2006/03/09 15:10:16 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.328 2006/03/16 11:14:46 ph10 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -302,6 +302,9 @@
PH/59 Added the following errors that can be detected in retry rules: mail_4xx,
data_4xx, lost_connection, tls_required.
+
+PH/60 When a VRFY deferred or FAILED, the log message rather than the user
+ message was being sent as an SMTP response.
Exim version 4.60
Index: smtp_in.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/smtp_in.c,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- smtp_in.c 8 Mar 2006 10:49:18 -0000 1.36
+++ smtp_in.c 16 Mar 2006 11:14:46 -0000 1.37
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/smtp_in.c,v 1.36 2006/03/08 10:49:18 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/smtp_in.c,v 1.37 2006/03/16 11:14:46 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -3208,14 +3208,14 @@
break;
case DEFER:
- s = (addr->message != NULL)?
- string_sprintf("451 <%s> %s", address, addr->message) :
+ s = (addr->user_message != NULL)?
+ string_sprintf("451 <%s> %s", address, addr->user_message) :
string_sprintf("451 Cannot resolve <%s> at this time", address);
break;
case FAIL:
- s = (addr->message != NULL)?
- string_sprintf("550 <%s> %s", address, addr->message) :
+ s = (addr->user_message != NULL)?
+ string_sprintf("550 <%s> %s", address, addr->user_message) :
string_sprintf("550 <%s> is not deliverable", address);
log_write(0, LOG_MAIN, "VRFY failed for %s %s",
smtp_cmd_argument, host_and_ident(TRUE));
Index: 0042
===================================================================
RCS file: /home/cvs/exim/exim-test/confs/0042,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 0042 7 Feb 2006 10:34:25 -0000 1.1
+++ 0042 16 Mar 2006 11:14:46 -0000 1.2
@@ -24,6 +24,11 @@
domains = ! +local_domains
data = :fail: unrouteable mail domain "$domain"
+fail_expansion:
+ driver = redirect
+ local_parts = expan
+ data = ${if with syntax error
+
localuser:
driver = accept
local_parts = userx
Index: 0042
===================================================================
RCS file: /home/cvs/exim/exim-test/scripts/0000-Basic/0042,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 0042 7 Feb 2006 10:54:33 -0000 1.1
+++ 0042 16 Mar 2006 11:14:46 -0000 1.2
@@ -2,4 +2,5 @@
exim -bh 1.1.1.1
vrfy userx@???
vrfy junkjunk@???
+vrfy expan@???
quit
Index: 0042
===================================================================
RCS file: /home/cvs/exim/exim-test/stderr/0042,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 0042 7 Feb 2006 10:47:31 -0000 1.1
+++ 0042 16 Mar 2006 11:14:46 -0000 1.2
@@ -13,6 +13,7 @@
>>> routing userx@???
>>> test.ex in "test.ex"? yes (matched "test.ex")
>>> test.ex in "! +local_domains"? no (matched "! +local_domains")
+>>> userx in "expan"? no (end of list)
>>> userx in "userx"? yes (matched "userx")
>>> calling localuser router
>>> routed by localuser router
@@ -22,6 +23,17 @@
>>> routing junkjunk@???
>>> test.ex in "test.ex"? yes (matched "test.ex")
>>> test.ex in "! +local_domains"? no (matched "! +local_domains")
+>>> junkjunk in "expan"? no (end of list)
>>> junkjunk in "userx"? no (end of list)
>>> no more routers
LOG: VRFY failed for junkjunk@??? H=[1.1.1.1]
+>>> processing "accept"
+>>> accept: condition test succeeded
+>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+>>> routing expan@???
+>>> test.ex in "test.ex"? yes (matched "test.ex")
+>>> test.ex in "! +local_domains"? no (matched "! +local_domains")
+>>> expan in "expan"? yes (matched "expan")
+>>> calling fail_expansion router
+>>> fail_expansion router: defer for expan@???
+>>> message: failed to expand "${if with syntax error": unknown condition "with"
Index: 0042
===================================================================
RCS file: /home/cvs/exim/exim-test/stdout/0042,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 0042 7 Feb 2006 10:47:37 -0000 1.1
+++ 0042 16 Mar 2006 11:14:46 -0000 1.2
@@ -6,4 +6,5 @@
220 the.local.host.name ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
250 <userx@???> is deliverable
550 <junkjunk@???> Unrouteable address
+451 Cannot resolve <expan@???> at this time
221 the.local.host.name closing connection