summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/doc-txt/ChangeLog6
-rw-r--r--src/src/acl.c7
-rw-r--r--src/src/verify.c4
-rw-r--r--test/stdout/03652
4 files changed, 13 insertions, 6 deletions
diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog
index 3202cc9c1..7cc55f84d 100644
--- a/doc/doc-txt/ChangeLog
+++ b/doc/doc-txt/ChangeLog
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.485 2007/02/26 14:07:04 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.486 2007/03/01 11:17:00 ph10 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -133,6 +133,10 @@ PH/29 SMTP synchronization checks are implemented when a command is read -
PH/30 MH's patch to allow iscntrl() characters to be list separators.
+PH/31 Unlike :fail:, a custom message specified with :defer: was not being
+ returned in the SMTP response when smtp_return_error_details was false.
+ This has been fixed.
+
Exim version 4.66
-----------------
diff --git a/src/src/acl.c b/src/src/acl.c
index afbb93e5c..41058afa7 100644
--- a/src/src/acl.c
+++ b/src/src/acl.c
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/acl.c,v 1.74 2007/02/14 15:33:40 ph10 Exp $ */
+/* $Cambridge: exim/src/src/acl.c,v 1.75 2007/03/01 11:17:00 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -1976,10 +1976,13 @@ else
callout_overall, callout_connect, se_mailfrom, pm_mailfrom, NULL);
HDEBUG(D_acl) debug_printf("----------- end verify ------------\n");
+ *basic_errno = addr2.basic_errno;
*log_msgptr = addr2.message;
*user_msgptr = (addr2.user_message != NULL)?
addr2.user_message : addr2.message;
- *basic_errno = addr2.basic_errno;
+
+ /* Allow details for temporary error if the address is so flagged. */
+ if (testflag((&addr2), af_pass_message)) acl_temp_details = TRUE;
/* Make $address_data visible */
deliver_address_data = addr2.p.address_data;
diff --git a/src/src/verify.c b/src/src/verify.c
index d71f7e774..666790601 100644
--- a/src/src/verify.c
+++ b/src/src/verify.c
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/src/src/verify.c,v 1.48 2007/02/06 12:19:27 ph10 Exp $ */
+/* $Cambridge: exim/src/src/verify.c,v 1.49 2007/03/01 11:17:00 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -855,6 +855,7 @@ if (addr != vaddr)
vaddr->basic_errno = addr->basic_errno;
vaddr->more_errno = addr->more_errno;
vaddr->p.address_data = addr->p.address_data;
+ copyflag(vaddr, addr, af_pass_message);
}
return yield;
}
@@ -1279,7 +1280,6 @@ while (addr_new != NULL)
}
fprintf(f, "%s\n", cr);
}
-
if (!full_info) return copy_error(vaddr, addr, DEFER);
else if (yield == OK) yield = DEFER;
}
diff --git a/test/stdout/0365 b/test/stdout/0365
index 9df565eaf..0d6e07977 100644
--- a/test/stdout/0365
+++ b/test/stdout/0365
@@ -25,7 +25,7 @@
550 failure message
250 Reset OK
250 OK
-451 Temporary local problem - please try later
+451 defer message
250 Reset OK
221 the.local.host.name closing connection
220 the.local.host.name ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000