ph10 2006/11/07 11:28:05 GMT
Modified files:
exim-doc/doc-txt ChangeLog
exim-src/src/transports lmtp.c
exim-test/mail 5101.copied
Log:
Return remote errors for LMTP over pipe (so now it's the same as LMTP
over TCP/IP).
Revision Changes Path
1.426 +5 -0 exim/exim-doc/doc-txt/ChangeLog
1.9 +2 -0 exim/exim-src/src/transports/lmtp.c
1.2 +2 -0 exim/exim-test/mail/5101.copied
Index: ChangeLog
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
retrieving revision 1.425
retrieving revision 1.426
diff -u -r1.425 -r1.426
--- ChangeLog 6 Nov 2006 15:50:12 -0000 1.425
+++ ChangeLog 7 Nov 2006 11:28:05 -0000 1.426
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.425 2006/11/06 15:50:12 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.426 2006/11/07 11:28:05 ph10 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -246,6 +246,11 @@
based a combination of the sender and recipient addresses. This change
can be overridden by setting address_retry_include_sender=false in the
smtp transport.
+
+PH/37 For LMTP over TCP/IP (the smtp transport), error responses from the
+ remote server are returned as part of bounce messages. This was not
+ happening for LMTP over a pipe (the lmtp transport), but now it is the
+ same for both kinds of LMTP.
Exim version 4.63
Index: lmtp.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/transports/lmtp.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- lmtp.c 9 Mar 2006 15:10:16 -0000 1.8
+++ lmtp.c 7 Nov 2006 11:28:05 -0000 1.9
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/transports/lmtp.c,v 1.8 2006/03/09 15:10:16 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/transports/lmtp.c,v 1.9 2006/11/07 11:28:05 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -606,6 +606,7 @@
if (errno != 0 || buffer[0] == 0) goto RESPONSE_FAILED;
addr->message = string_sprintf("LMTP error after %s: %s", big_buffer,
string_printing(buffer));
+ setflag(addr, af_pass_message); /* Allow message to go to user */
if (buffer[0] == '5') addr->transport_return = FAIL; else
{
addr->basic_errno = ERRNO_RCPT4XX;
@@ -697,6 +698,7 @@
addr->message = string_sprintf("LMTP error after %s: %s", big_buffer,
string_printing(buffer));
addr->transport_return = (buffer[0] == '5')? FAIL : DEFER;
+ setflag(addr, af_pass_message); /* Allow message to go to user */
}
}
}
Index: 5101.copied
===================================================================
RCS file: /home/cvs/exim/exim-test/mail/5101.copied,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 5101.copied 7 Feb 2006 10:34:59 -0000 1.1
+++ 5101.copied 7 Nov 2006 11:28:05 -0000 1.2
@@ -34,6 +34,7 @@
recipients. This is a permanent error. The following address(es) failed:
jack@???
+ LMTP error after end of data: 550 Number 2 fails
------ This is a copy of the message, including all the headers. ------
@@ -69,6 +70,7 @@
recipients. This is a permanent error. The following address(es) failed:
jack@???
+ LMTP error after end of data: 550 Number 2 fails
------ This is a copy of the message, including all the headers. ------