ph10 2007/08/29 16:06:48 BST
Modified files:
exim-doc/doc-txt ChangeLog
exim-src/src moan.c
exim-test runtest
exim-test/confs 0256
exim-test/log 0256
exim-test/scripts/0000-Basic 0256
Added files:
exim-test/mail 0256.abc@def 0256.abcd+test.ex+ph10
0256.abcd+unknown.domain+"abc@def"
exim-test/stdout 0256
Removed files:
exim-test/mail 0256.abcd
Log:
Fix quoting problem with errors_copy.
Revision Changes Path
1.530 +4 -0 exim/exim-doc/doc-txt/ChangeLog
1.10 +1 -1 exim/exim-src/src/moan.c
1.2 +3 -1 exim/exim-test/confs/0256
1.2 +8 -1 exim/exim-test/log/0256
1.1 +31 -0 exim/exim-test/mail/0256.abc@def (new)
1.2 +0 -31 exim/exim-test/mail/0256.abcd (dead)
1.1 +31 -0 exim/exim-test/mail/0256.abcd+test.ex+ph10 (new)
1.1 +31 -0 exim/exim-test/mail/0256.abcd+unknown.domain+"abc@def" (new)
1.29 +4 -4 exim/exim-test/runtest
1.2 +7 -0 exim/exim-test/scripts/0000-Basic/0256
1.1 +6 -0 exim/exim-test/stdout/0256 (new)
Index: ChangeLog
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
retrieving revision 1.529
retrieving revision 1.530
diff -u -r1.529 -r1.530
--- ChangeLog 29 Aug 2007 14:02:22 -0000 1.529
+++ ChangeLog 29 Aug 2007 15:06:47 -0000 1.530
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.529 2007/08/29 14:02:22 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.530 2007/08/29 15:06:47 ph10 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -101,6 +101,10 @@
PH/23 POSIX allows open() to be a macro; guard against that.
+PH/24 If the recipient of an error message contained an @ in the local part
+ (suitably quoted, of course), incorrect values were put in $domain and
+ $local_part during the evaluation of errors_copy.
+
Exim version 4.67
-----------------
Index: moan.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/moan.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- moan.c 29 Aug 2007 13:58:57 -0000 1.9
+++ moan.c 29 Aug 2007 15:06:47 -0000 1.10
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/moan.c,v 1.9 2007/08/29 13:58:57 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/moan.c,v 1.10 2007/08/29 15:06:47 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -584,7 +584,7 @@
length of the local part. */
localpart = recipient;
-domain = Ustrchr(recipient, '@');
+domain = Ustrrchr(recipient, '@');
if (domain == NULL) return NULL; /* should not occur, but avoid crash */
llen = domain++ - recipient;
Index: runtest
===================================================================
RCS file: /home/cvs/exim/exim-test/runtest,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- runtest 4 Jul 2007 10:37:04 -0000 1.28
+++ runtest 29 Aug 2007 15:06:47 -0000 1.29
@@ -1,6 +1,6 @@
#! /usr/bin/perl -w
-# $Cambridge: exim/exim-test/runtest,v 1.28 2007/07/04 10:37:04 ph10 Exp $
+# $Cambridge: exim/exim-test/runtest,v 1.29 2007/08/29 15:06:47 ph10 Exp $
###############################################################################
# This is the controlling script for the "new" test suite for Exim. It should #
@@ -23,7 +23,7 @@
# Start by initializing some global variables
-$testversion = "4.68 (16-Apr-07)";
+$testversion = "4.68 (23-Aug-07)";
$cf = "bin/cf";
$cr = "\r";
@@ -909,7 +909,7 @@
print "\n";
print "------------ $f -----------\n"
if (defined $rf && -s $rf && defined $rsf && -s $rsf);
- system("$more $f");
+ system("$more '$f'");
}
}
@@ -1023,7 +1023,7 @@
# Do the comparison
- return 0 if (system("$cf $mf $sf >test-cf") == 0);
+ return 0 if (system("$cf '$mf' '$sf' >test-cf") == 0);
# Handle comparison failure
@@ -1043,7 +1043,7 @@
# Update or delete the saved file, and give the appropriate return code.
if (-s $mf)
- { tests_exit(-1, "Failed to cp $mf $sf") if system("cp $mf $sf") != 0; }
+ { tests_exit(-1, "Failed to cp $mf $sf") if system("cp '$mf' '$sf'") != 0; }
else
{ tests_exit(-1, "Failed to unlink $sf") if !unlink($sf); }
Index: 0256
===================================================================
RCS file: /home/cvs/exim/exim-test/confs/0256,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 0256 7 Feb 2006 10:34:25 -0000 1.1
+++ 0256 29 Aug 2007 15:06:47 -0000 1.2
@@ -11,8 +11,10 @@
# ----- Main settings -----
+acl_smtp_rcpt = accept
qualify_domain = test.ex
-errors_copy = *@* abcd@???
+errors_copy = *@* ${quote_local_part::abcd+$domain+$local_part}@???
+trusted_users = CALLER
# ------ Routers ------
Index: 0256
===================================================================
RCS file: /home/cvs/exim/exim-test/log/0256,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 0256 7 Feb 2006 10:34:46 -0000 1.1
+++ 0256 29 Aug 2007 15:06:47 -0000 1.2
@@ -2,6 +2,13 @@
1999-03-02 09:44:33 10HmaX-0005vi-00 ** unknown@???: Unrouteable address
1999-03-02 09:44:33 10HmaY-0005vi-00 <= <> R=10HmaX-0005vi-00 U=EXIMUSER P=local S=sss
1999-03-02 09:44:33 10HmaY-0005vi-00 => CALLER <CALLER@???> R=r1 T=t1
-1999-03-02 09:44:33 10HmaY-0005vi-00 => abcd <abcd@???> R=r1 T=t1
+1999-03-02 09:44:33 10HmaY-0005vi-00 => abcd+test.ex+CALLER <abcd+test.ex+CALLER@???> R=r1 T=t1
1999-03-02 09:44:33 10HmaY-0005vi-00 Completed
1999-03-02 09:44:33 10HmaX-0005vi-00 Completed
+1999-03-02 09:44:33 10HmaZ-0005vi-00 <= "abc@??? U=CALLER P=local-smtp S=sss
+1999-03-02 09:44:33 10HmaZ-0005vi-00 ** unknown@???: Unrouteable address
+1999-03-02 09:44:33 10HmbA-0005vi-00 <= <> R=10HmaZ-0005vi-00 U=EXIMUSER P=local S=sss
+1999-03-02 09:44:33 10HmbA-0005vi-00 => abc@def <"abc@???> R=r1 T=t1
+1999-03-02 09:44:33 10HmbA-0005vi-00 => abcd+unknown.domain+"abc@def" <"abcd+unknown.domain+\"abc@???> R=r1 T=t1
+1999-03-02 09:44:33 10HmbA-0005vi-00 Completed
+1999-03-02 09:44:33 10HmaZ-0005vi-00 Completed
Index: 0256.abc@def
====================================================================
From MAILER-DAEMON Tue Mar 02 09:44:33 1999
Received: from EXIMUSER by myhost.test.ex with local (Exim x.yz)
id 10HmbA-0005vi-00; Tue, 2 Mar 1999 09:44:33 +0000
X-Failed-Recipients: unknown@???
Auto-Submitted: auto-replied
From: Mail Delivery System <Mailer-Daemon@???>
To: "abc@???
Subject: Mail delivery failed: returning message to sender
Message-Id: <E10HmbA-0005vi-00@???>
Date: Tue, 2 Mar 1999 09:44:33 +0000
This message was created automatically by mail delivery software.
A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:
unknown@???
Unrouteable address
------ This is a copy of the message, including all the headers. ------
Return-path: <"abc@???>
Received: from CALLER by myhost.test.ex with local-smtp (Exim x.yz)
(envelope-from <"abc@???>)
id 10HmaZ-0005vi-00
for unknown@???; Tue, 2 Mar 1999 09:44:33 +0000
Message-Id: <E10HmaZ-0005vi-00@???>
From: "abc@???
Date: Tue, 2 Mar 1999 09:44:33 +0000
Index: 0256.abcd+test.ex+ph10
====================================================================
From MAILER-DAEMON Tue Mar 02 09:44:33 1999
Received: from EXIMUSER by myhost.test.ex with local (Exim x.yz)
id 10HmaY-0005vi-00; Tue, 2 Mar 1999 09:44:33 +0000
X-Failed-Recipients: unknown@???
Auto-Submitted: auto-replied
From: Mail Delivery System <Mailer-Daemon@???>
To: CALLER@???
Subject: Mail delivery failed: returning message to sender
Message-Id: <E10HmaY-0005vi-00@???>
Date: Tue, 2 Mar 1999 09:44:33 +0000
This message was created automatically by mail delivery software.
A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:
unknown@???
Unrouteable address
------ This is a copy of the message, including all the headers. ------
Return-path: <CALLER@???>
Received: from CALLER by myhost.test.ex with local (Exim x.yz)
(envelope-from <CALLER@???>)
id 10HmaX-0005vi-00
for unknown@???; Tue, 2 Mar 1999 09:44:33 +0000
Message-Id: <E10HmaX-0005vi-00@???>
From: CALLER_NAME <CALLER@???>
Date: Tue, 2 Mar 1999 09:44:33 +0000
Index: 0256.abcd+unknown.domain+"abc@def"
====================================================================
From MAILER-DAEMON Tue Mar 02 09:44:33 1999
Received: from EXIMUSER by myhost.test.ex with local (Exim x.yz)
id 10HmbA-0005vi-00; Tue, 2 Mar 1999 09:44:33 +0000
X-Failed-Recipients: unknown@???
Auto-Submitted: auto-replied
From: Mail Delivery System <Mailer-Daemon@???>
To: "abc@???
Subject: Mail delivery failed: returning message to sender
Message-Id: <E10HmbA-0005vi-00@???>
Date: Tue, 2 Mar 1999 09:44:33 +0000
This message was created automatically by mail delivery software.
A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:
unknown@???
Unrouteable address
------ This is a copy of the message, including all the headers. ------
Return-path: <"abc@???>
Received: from CALLER by myhost.test.ex with local-smtp (Exim x.yz)
(envelope-from <"abc@???>)
id 10HmaZ-0005vi-00
for unknown@???; Tue, 2 Mar 1999 09:44:33 +0000
Message-Id: <E10HmaZ-0005vi-00@???>
From: "abc@???
Date: Tue, 2 Mar 1999 09:44:33 +0000
Index: 0256
===================================================================
RCS file: /home/cvs/exim/exim-test/scripts/0000-Basic/0256,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- 0256 7 Feb 2006 10:54:33 -0000 1.1
+++ 0256 29 Aug 2007 15:06:48 -0000 1.2
@@ -2,3 +2,10 @@
exim -odi unknown
.
****
+exim -odi -bs
+mail from:<"abc@???>
+rcpt to:<unknown@???>
+data
+.
+quit
+****
Index: 0256
====================================================================
220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
250 OK
250 Accepted
354 Enter message, ending with "." on a line by itself
250 OK id=10HmaZ-0005vi-00
221 myhost.test.ex closing connection