[exim-cvs] cvs commit: exim/exim-doc/doc-txt ChangeLog exim…

Αρχική Σελίδα
Delete this message
Reply to this message
Συντάκτης: Philip Hazel
Ημερομηνία:  
Προς: exim-cvs
Αντικείμενο: [exim-cvs] cvs commit: exim/exim-doc/doc-txt ChangeLog exim/exim-src/src verify.c exim/exim-test-orig/AutoTest/log 552 exim/exim-test-orig/AutoTest/rejectlog 552 exim/exim-test-orig/AutoTest/script
ph10 2005/01/14 10:25:33 GMT

  Modified files:
    exim-doc/doc-txt     ChangeLog 
    exim-src/src         verify.c 
    exim-test-orig/AutoTest/log 552 
    exim-test-orig/AutoTest/rejectlog 552 
    exim-test-orig/AutoTest/scripts 552 
    exim-test-orig/AutoTest/stdout 552 
  Added files:
    exim-test-orig/AutoTest/stderr 552 
  Log:
  Don't send QUIT after a timeout in a callout connection.


  Revision  Changes    Path
  1.71      +5 -0      exim/exim-doc/doc-txt/ChangeLog
  1.13      +3 -1      exim/exim-src/src/verify.c
  1.2       +2 -0      exim/exim-test-orig/AutoTest/log/552
  1.2       +2 -0      exim/exim-test-orig/AutoTest/rejectlog/552
  1.3       +29 -1     exim/exim-test-orig/AutoTest/scripts/552
  1.1       +56 -0     exim/exim-test-orig/AutoTest/stderr/552 (new)
  1.3       +30 -0     exim/exim-test-orig/AutoTest/stdout/552


  Index: ChangeLog
  ===================================================================
  RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
  retrieving revision 1.70
  retrieving revision 1.71
  diff -u -r1.70 -r1.71
  --- ChangeLog    13 Jan 2005 16:15:52 -0000    1.70
  +++ ChangeLog    14 Jan 2005 10:25:33 -0000    1.71
  @@ -1,4 +1,4 @@
  -$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.70 2005/01/13 16:15:52 ph10 Exp $
  +$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.71 2005/01/14 10:25:33 ph10 Exp $


   Change log file for Exim from version 4.21
   -------------------------------------------
  @@ -316,6 +316,11 @@
   71. Change 4.23/11 added synchronization checking at the start of an SMTP
       session; change 4.31/43 added the unwanted input to the log line - except
       that it did not do this in the start of session case. It now does.
  +
  +72. After a timeout in a callout SMTP session, Exim still sent a QUIT command.
  +    This is wrong and can cause the other end to generate a synchronization
  +    error if it is another Exim or anything else that does the synchronization
  +    check. A QUIT command is no longer sent after a timeout.



Exim version 4.43

  Index: verify.c
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/src/verify.c,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- verify.c    12 Jan 2005 15:41:27 -0000    1.12
  +++ verify.c    14 Jan 2005 10:25:33 -0000    1.13
  @@ -1,4 +1,4 @@
  -/* $Cambridge: exim/exim-src/src/verify.c,v 1.12 2005/01/12 15:41:27 ph10 Exp $ */
  +/* $Cambridge: exim/exim-src/src/verify.c,v 1.13 2005/01/14 10:25:33 ph10 Exp $ */


   /*************************************************
   *     Exim - an Internet mail transport agent    *
  @@ -377,6 +377,7 @@
     smtp_outblock outblock;
     int host_af;
     int port = 25;
  +  BOOL send_quit = TRUE; 
     uschar *helo = US"HELO";
     uschar *interface = NULL;  /* Outgoing interface to use; NULL => any */
     uschar inbuffer[4096];
  @@ -609,6 +610,7 @@
       if (errno == ETIMEDOUT)
         {
         HDEBUG(D_verify) debug_printf("SMTP timeout\n");
  +      send_quit = FALSE; 
         }
       else if (errno == 0)
         {
  @@ -637,7 +639,7 @@


     /* End the SMTP conversation and close the connection. */


  -  (void)smtp_write_command(&outblock, FALSE, "QUIT\r\n");
  +  if (send_quit) (void)smtp_write_command(&outblock, FALSE, "QUIT\r\n");
     close(inblock.sock);
     }    /* Loop through all hosts, while !done */



  Index: 552
  ===================================================================
  RCS file: /home/cvs/exim/exim-test-orig/AutoTest/log/552,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- 552    8 Oct 2004 14:49:31 -0000    1.1
  +++ 552    14 Jan 2005 10:25:33 -0000    1.2
  @@ -6,3 +6,5 @@
   1999-03-02 09:44:33 U=ph10 F=<x9@???> rejected RCPT <r9@???>: Sender verify failed
   1999-03-02 09:44:33 U=ph10 sender verify fail for <x9@???>
   1999-03-02 09:44:33 U=ph10 F=<x9@???> rejected RCPT <r9@???>: Sender verify failed
  +1999-03-02 09:44:33 U=ph10 F=<x11@???> temporarily rejected RCPT r11@???: Could not complete recipient verify callout
  +1999-03-02 09:44:33 U=ph10 F=<x11@???> temporarily rejected RCPT r11@???: Could not complete recipient verify callout


  Index: 552
  ===================================================================
  RCS file: /home/cvs/exim/exim-test-orig/AutoTest/rejectlog/552,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- 552    8 Oct 2004 14:49:51 -0000    1.1
  +++ 552    14 Jan 2005 10:25:33 -0000    1.2
  @@ -6,3 +6,5 @@
   1999-03-02 09:44:33 U=ph10 F=<x9@???> rejected RCPT <r9@???>: Sender verify failed
   1999-03-02 09:44:33 U=ph10 sender verify fail for <x9@???>
   1999-03-02 09:44:33 U=ph10 F=<x9@???> rejected RCPT <r9@???>: Sender verify failed
  +1999-03-02 09:44:33 U=ph10 F=<x11@???> temporarily rejected RCPT r11@???: Could not complete recipient verify callout
  +1999-03-02 09:44:33 U=ph10 F=<x11@???> temporarily rejected RCPT r11@???: Could not complete recipient verify callout


  Index: 552
  ===================================================================
  RCS file: /home/cvs/exim/exim-test-orig/AutoTest/scripts/552,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- 552    24 Nov 2004 10:48:25 -0000    1.2
  +++ 552    14 Jan 2005 10:25:33 -0000    1.3
  @@ -1,4 +1,4 @@
  -0 recipient callouts - sender/postmaster and caching
  +0 recipient callouts - sender/postmaster caching and QUIT after timeout
   server 1225 3
   220 Server ready
   HELO
  @@ -162,4 +162,32 @@
   ****
   0
   dump callout
  +****
  +0
  +server 1225
  +220 Server ready
  +HELO
  +250 OK
  +MAIL FROM
  +250 OK
  +RCPT TO
  +*sleep 2
  +****
  +0
  +exim -DUSE_SENDER=  -bs -d-all+verify -v
  +ehlo xxxx
  +mail from: x11@???
  +rcpt to: r11@???
  +quit
  +****
  +0
  +server 1225
  +*sleep 2
  +****
  +0
  +exim -DUSE_SENDER=  -bs -d-all+verify -v
  +ehlo xxxx
  +mail from: x11@???
  +rcpt to: r11@???
  +quit
   ****


  Index: 552
  ====================================================================
  Exim version x.yz uid=1169 gid=1169 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/552
  log selectors = xxxxxxxx xxxxxxxx
  trusted user
  admin user
  LOG: smtp_connection MAIN
    SMTP connection from ph10

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Verifying r11@???
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

  Considering r11@???
  Attempting full verification using callout
  callout cache: found domain record
  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 xoanon.csi.cam.ac.uk
    SMTP<< 250 OK
    SMTP>> MAIL FROM:<>
    SMTP<< 250 OK
    SMTP>> RCPT TO:<r11@???>
  SMTP timeout
  wrote callout cache domain record:
    result=1 postmaster=0 random=0
  LOG: MAIN REJECT
    U=ph10 F=<x11@???> temporarily rejected RCPT r11@???: Could not complete recipient verify callout
  LOG: smtp_connection MAIN
    SMTP connection from ph10 closed by QUIT

>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>

  Exim version x.yz uid=1169 gid=1169 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/552
  log selectors = xxxxxxxx xxxxxxxx
  trusted user
  admin user
  LOG: smtp_connection MAIN
    SMTP connection from ph10

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Verifying r11@???
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

  Considering r11@???
  Attempting full verification using callout
  callout cache: found domain record
  callout cache: no address record found
  interface=NULL port=1225
  Connecting to 127.0.0.1 [127.0.0.1]:1225 ... connected
  SMTP timeout
  LOG: MAIN REJECT
    U=ph10 F=<x11@???> temporarily rejected RCPT r11@???: Could not complete recipient verify callout
  LOG: smtp_connection MAIN
    SMTP connection from ph10 closed by QUIT

>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>


  Index: 552
  ===================================================================
  RCS file: /home/cvs/exim/exim-test-orig/AutoTest/stdout/552,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- 552    24 Nov 2004 10:48:25 -0000    1.2
  +++ 552    14 Jan 2005 10:25:33 -0000    1.3
  @@ -92,6 +92,22 @@
   07-Mar-2000 12:21:52 r1@???/<s2@???> callout=accept
   07-Mar-2000 12:21:52 r9@???/<x9@???> callout=reject
   07-Mar-2000 12:21:52 two.test.ex callout=accept postmaster=unknown random=accept (07-Mar-2000 12:21:52)
  +220 xoanon.csi.cam.ac.uk ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
  +250-xoanon.csi.cam.ac.uk Hello ph10 at xxxx
  +250-SIZE 52428800
  +250-PIPELINING
  +250 HELP
  +250 OK
  +451 Could not complete recipient verify callout
  +221 xoanon.csi.cam.ac.uk closing connection
  +220 xoanon.csi.cam.ac.uk ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
  +250-xoanon.csi.cam.ac.uk Hello ph10 at xxxx
  +250-SIZE 52428800
  +250-PIPELINING
  +250 HELP
  +250 OK
  +451 Could not complete recipient verify callout
  +221 xoanon.csi.cam.ac.uk closing connection


******** SERVER ********
Listening on port 1225 ...
@@ -187,4 +203,18 @@
250 OK
QUIT
250 OK
+End of script
+Listening on port 1225 ...
+Connection request from [127.0.0.1]
+220 Server ready
+HELO xoanon.csi.cam.ac.uk
+250 OK
+MAIL FROM:<>
+250 OK
+RCPT TO:<r11@???>
+*sleep 2
+End of script
+Listening on port 1225 ...
+Connection request from [127.0.0.1]
+*sleep 2
End of script