ph10 2005/06/17 11:20:31 BST
Modified files:
exim-doc/doc-txt ChangeLog
exim-src/src verify.c
exim-test-orig/AutoTest/confs 437
exim-test-orig/AutoTest/scripts 437
exim-test-orig/AutoTest/stderr 437
exim-test-orig/AutoTest/stdout 437
Log:
Verify recipient with use_postmaster and random was losing
use_postmaster after the random test.
Revision Changes Path
1.161 +5 -0 exim/exim-doc/doc-txt/ChangeLog
1.19 +4 -3 exim/exim-src/src/verify.c
1.5 +3 -0 exim/exim-test-orig/AutoTest/confs/437
1.4 +31 -0 exim/exim-test-orig/AutoTest/scripts/437
1.8 +45 -0 exim/exim-test-orig/AutoTest/stderr/437
1.4 +28 -0 exim/exim-test-orig/AutoTest/stdout/437
Index: ChangeLog
===================================================================
RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
retrieving revision 1.160
retrieving revision 1.161
diff -u -r1.160 -r1.161
--- ChangeLog 17 Jun 2005 09:02:40 -0000 1.160
+++ ChangeLog 17 Jun 2005 10:20:30 -0000 1.161
@@ -1,4 +1,4 @@
-$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.160 2005/06/17 09:02:40 ph10 Exp $
+$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.161 2005/06/17 10:20:30 ph10 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
@@ -142,6 +142,11 @@
PH/17 Applied Michael Haardt's patch for HP-UX, affecting only the os.h and
Makefile that are specific to HP-UX.
+
+PH/18 If the "use_postmaster" option was set for a recipient callout together
+ with the "random" option, the postmaster address was used as the MAIL
+ FROM address for the random test, but not for the subsequent recipient
+ test. It is now used for both.
Exim version 4.51
Index: verify.c
===================================================================
RCS file: /home/cvs/exim/exim-src/src/verify.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- verify.c 31 May 2005 10:58:18 -0000 1.18
+++ verify.c 17 Jun 2005 10:20:30 -0000 1.19
@@ -1,4 +1,4 @@
-/* $Cambridge: exim/exim-src/src/verify.c,v 1.18 2005/05/31 10:58:18 ph10 Exp $ */
+/* $Cambridge: exim/exim-src/src/verify.c,v 1.19 2005/06/17 10:20:30 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
@@ -537,7 +537,8 @@
smtp_read_response(&inblock, responsebuffer, sizeof(responsebuffer),
'2', callout) &&
- smtp_write_command(&outblock, FALSE, "MAIL FROM:<>\r\n") >= 0 &&
+ smtp_write_command(&outblock, FALSE, "MAIL FROM:<%s>\r\n",
+ from_address) >= 0 &&
smtp_read_response(&inblock, responsebuffer, sizeof(responsebuffer),
'2', callout);
}
@@ -615,7 +616,7 @@
}
}
} /* Random not accepted */
- } /* MAIL FROM:<> accepted */
+ } /* MAIL FROM: accepted */
/* For any failure of the main check, other than a negative response, we just
close the connection and carry on. We can identify a negative response by the
@@ -671,7 +672,7 @@
However, there may be domain-specific information to cache in both cases.
The value of the result field in the new_domain record is ccache_unknown if
-there was an error before or with MAIL FROM:<>, and errno was not zero,
+there was an error before or with MAIL FROM:, and errno was not zero,
implying some kind of I/O error. We don't want to write the cache in that case.
Otherwise the value is ccache_accept or ccache_reject. */
Index: 437
===================================================================
RCS file: /home/cvs/exim/exim-test-orig/AutoTest/confs/437,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- 437 31 May 2005 10:58:18 -0000 1.4
+++ 437 17 Jun 2005 10:20:30 -0000 1.5
@@ -40,6 +40,9 @@
!verify = sender/callout=postmaster_mailfrom=pmsend@???
deny hosts = 10.0.0.9
!verify = sender/callout=fullpostmaster
+ deny hosts = 10.0.0.10
+ !verify = recipient/callout=postmaster_mailfrom=pmsend@???,\
+ use_postmaster,random/defer_ok
accept
check_data:
Index: 437
===================================================================
RCS file: /home/cvs/exim/exim-test-orig/AutoTest/scripts/437,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- 437 31 May 2005 10:58:18 -0000 1.3
+++ 437 17 Jun 2005 10:20:30 -0000 1.4
@@ -456,4 +456,35 @@
RCPT TO:<z@???>
QUIT
****
+# Test postmaster_mailfrom with random
+0
+server 1225
+220 Server ready
+HELO
+250 OK
+MAIL FROM
+250 OK
+RCPT TO
+550 RANDOM IS BAD
+RSET
+250 OK
+MAIL FROM
+250 OK
+RCPT TO
+250 OK
+RSET
+250 OK
+MAIL FROM
+250 OK
+RCPT TO
+250 OK
+QUIT
+250 OK
+****
+0
+really exim -d-all+verify -v -bs -oMa 10.0.0.10
+MAIL FROM:<ok@otherhost10>
+RCPT TO:<z@???>
+QUIT
+****
no_msglog_check
Index: 437
===================================================================
RCS file: /home/cvs/exim/exim-test-orig/AutoTest/stderr/437,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- 437 31 May 2005 10:58:18 -0000 1.7
+++ 437 17 Jun 2005 10:20:31 -0000 1.8
@@ -869,3 +869,48 @@
LOG: smtp_connection MAIN
SMTP connection from root closed by QUIT
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz uid=0 gid=0 pid=pppp D=40000001
+Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dnsdb dsearch ldap ldapdn ldapm mysql passwd pgsql testdb
+Fixed never_users: 0
+configuration file is /source/exim4/AutoTest/confs/437
+log selectors = xxxxxxxx xxxxxxxx
+cwd=/source/exim4/AutoTest 11 args: /source/exim4/AutoTest/exim -DEXIM_PATH=/source/exim4/AutoTest/exim -DDIR=/source/exim4/AutoTest -DCALLER=ph10 -C /source/exim4/AutoTest/confs/437 -d-all+verify -v -bs -oMa 10.0.0.10
+trusted user
+admin user
+LOG: smtp_connection MAIN
+ SMTP connection from root
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying z@???
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering z@???
+Attempting full verification using callout
+callout cache: no domain record found
+callout cache: no address record found
+interface=NULL port=1225
+Connecting to 127.0.0.1 [127.0.0.1]:1225 ... connected
+ SMTP<< 220 Server ready
+ SMTP>> HELO myhost.test.ex
+ SMTP<< 250 OK
+ SMTP>> MAIL FROM:<postmaster@???>
+ SMTP<< 250 OK
+ SMTP>> RCPT TO:<myhost.test.ex-dddddddd-testing@???>
+ SMTP<< 550 RANDOM IS BAD
+ SMTP>> RSET
+ SMTP<< 250 OK
+ SMTP>> MAIL FROM:<postmaster@???>
+ SMTP<< 250 OK
+ SMTP>> RCPT TO:<z@???>
+ SMTP<< 250 OK
+ SMTP>> RSET
+ SMTP<< 250 OK
+ SMTP>> MAIL FROM:<pmsend@???>
+ SMTP<< 250 OK
+ SMTP>> RCPT TO:<postmaster@???>
+ SMTP<< 250 OK
+ SMTP>> QUIT
+wrote callout cache domain record:
+ result=1 postmaster=1 random=2
+wrote positive callout cache address record
+LOG: smtp_connection MAIN
+ SMTP connection from root closed by QUIT
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
Index: 437
===================================================================
RCS file: /home/cvs/exim/exim-test-orig/AutoTest/stdout/437,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- 437 31 May 2005 10:58:18 -0000 1.3
+++ 437 17 Jun 2005 10:20:31 -0000 1.4
@@ -144,6 +144,10 @@
250 OK
250 Accepted
221 myhost.test.ex closing connection
+220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250 OK
+250 Accepted
+221 myhost.test.ex closing connection
******** SERVER ********
Listening on port 1225 ...
@@ -408,6 +412,30 @@
RCPT TO:<postmaster@otherhost9>
550 NOT OK
RCPT TO:<postmaster>
+250 OK
+QUIT
+250 OK
+End of script
+Listening on port 1225 ...
+Connection request from [127.0.0.1]
+220 Server ready
+HELO myhost.test.ex
+250 OK
+MAIL FROM:<postmaster@???>
+250 OK
+RCPT TO:<myhost.test.ex-dddddddd-testing@???>
+550 RANDOM IS BAD
+RSET
+250 OK
+MAIL FROM:<postmaster@???>
+250 OK
+RCPT TO:<z@???>
+250 OK
+RSET
+250 OK
+MAIL FROM:<pmsend@???>
+250 OK
+RCPT TO:<postmaster@???>
250 OK
QUIT
250 OK