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

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: exim-cvs
Subject: [exim-cvs] cvs commit: exim/exim-doc/doc-txt ChangeLog NewStuff OptionLists.txt exim/exim-src/src/transports smtp.c smtp.h exim/exim-test/confs 0217 exim/exim-test/log 0217 exim/exim-test/scripts/0
ph10 2007/02/06 14:49:14 GMT

  Modified files:
    exim-doc/doc-txt     ChangeLog NewStuff OptionLists.txt 
    exim-src/src/transports smtp.c smtp.h 
    exim-test/confs      0217 
    exim-test/log        0217 
    exim-test/scripts/0000-Basic 0217 
    exim-test/stderr     0217 
    exim-test/stdout     0217 
  Log:
  Implemented hosts_avoid_pipelining in the smtp transport.


  Revision  Changes    Path
  1.473     +2 -0      exim/exim-doc/doc-txt/ChangeLog
  1.139     +4 -0      exim/exim-doc/doc-txt/NewStuff
  1.30      +1 -0      exim/exim-doc/doc-txt/OptionLists.txt
  1.35      +7 -1      exim/exim-src/src/transports/smtp.c
  1.12      +1 -0      exim/exim-src/src/transports/smtp.h
  1.2       +3 -1      exim/exim-test/confs/0217
  1.3       +6 -0      exim/exim-test/log/0217
  1.2       +26 -0     exim/exim-test/scripts/0000-Basic/0217
  1.3       +33 -0     exim/exim-test/stderr/0217
  1.2       +28 -0     exim/exim-test/stdout/0217


  Index: ChangeLog
  ===================================================================
  RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
  retrieving revision 1.472
  retrieving revision 1.473
  diff -u -r1.472 -r1.473
  --- ChangeLog    6 Feb 2007 14:19:00 -0000    1.472
  +++ ChangeLog    6 Feb 2007 14:49:13 -0000    1.473
  @@ -1,4 +1,4 @@
  -$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.472 2007/02/06 14:19:00 ph10 Exp $
  +$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.473 2007/02/06 14:49:13 ph10 Exp $


   Change log file for Exim from version 4.21
   -------------------------------------------
  @@ -84,6 +84,8 @@
         was true (the default) a successful delivery failed to delete the retry
         item, thus causing premature timeout of the address. The bug is now
         fixed.
  +
  +PH/20 Added hosts_avoid_pipelining to the smtp transport.



Exim version 4.66

  Index: NewStuff
  ===================================================================
  RCS file: /home/cvs/exim/exim-doc/doc-txt/NewStuff,v
  retrieving revision 1.138
  retrieving revision 1.139
  diff -u -r1.138 -r1.139
  --- NewStuff    6 Feb 2007 12:19:27 -0000    1.138
  +++ NewStuff    6 Feb 2007 14:49:13 -0000    1.139
  @@ -1,4 +1,4 @@
  -$Cambridge: exim/exim-doc/doc-txt/NewStuff,v 1.138 2007/02/06 12:19:27 ph10 Exp $
  +$Cambridge: exim/exim-doc/doc-txt/NewStuff,v 1.139 2007/02/06 14:49:13 ph10 Exp $


New Features in Exim
--------------------
@@ -281,6 +281,10 @@

       The value is expanded every time it is needed. If the expansion fails, a
       panic is logged, and the default setting is used.
  +
  +14. The smtp transport has a new option called hosts_avoid_pipelining. It can
  +    be used to suppress the use of PIPELINING to certain hosts, while still
  +    supporting the other SMTP extensions (cf hosts_avoid_tls).



Version 4.66

  Index: OptionLists.txt
  ===================================================================
  RCS file: /home/cvs/exim/exim-doc/doc-txt/OptionLists.txt,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- OptionLists.txt    18 Jan 2007 15:35:42 -0000    1.29
  +++ OptionLists.txt    6 Feb 2007 14:49:13 -0000    1.30
  @@ -1,4 +1,4 @@
  -$Cambridge: exim/exim-doc/doc-txt/OptionLists.txt,v 1.29 2007/01/18 15:35:42 ph10 Exp $
  +$Cambridge: exim/exim-doc/doc-txt/OptionLists.txt,v 1.30 2007/02/06 14:49:13 ph10 Exp $


   LISTS OF EXIM OPTIONS
   ---------------------
  @@ -265,6 +265,7 @@
   hosts                                string          unset         iplookup          4.00
                                        string list*    unset         smtp
   hosts_avoid_esmtp                    host list       unset         smtp              4.21
  +hosts_avoid_pipelining               host list       unset         smtp              4.67
   hosts_avoid_tls                      host list       unset         smtp              3.20
   hosts_connection_nolog               host list       unset         main              4.43
   hosts_max_try                        integer         5             smtp              3.20


  Index: smtp.c
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/src/transports/smtp.c,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- smtp.c    6 Feb 2007 14:19:00 -0000    1.34
  +++ smtp.c    6 Feb 2007 14:49:13 -0000    1.35
  @@ -1,4 +1,4 @@
  -/* $Cambridge: exim/exim-src/src/transports/smtp.c,v 1.34 2007/02/06 14:19:00 ph10 Exp $ */
  +/* $Cambridge: exim/exim-src/src/transports/smtp.c,v 1.35 2007/02/06 14:49:13 ph10 Exp $ */


   /*************************************************
   *     Exim - an Internet mail transport agent    *
  @@ -77,6 +77,8 @@
         (void *)offsetof(smtp_transport_options_block, hosts) },
     { "hosts_avoid_esmtp",    opt_stringptr,
         (void *)offsetof(smtp_transport_options_block, hosts_avoid_esmtp) },
  +  { "hosts_avoid_pipelining", opt_stringptr,
  +      (void *)offsetof(smtp_transport_options_block, hosts_avoid_pipelining) },
     #ifdef SUPPORT_TLS
     { "hosts_avoid_tls",      opt_stringptr,
         (void *)offsetof(smtp_transport_options_block, hosts_avoid_tls) },
  @@ -160,6 +162,7 @@
     NULL,                /* hosts_require_auth */
     NULL,                /* hosts_require_tls */
     NULL,                /* hosts_avoid_tls */
  +  NULL,                /* hosts_avoid_pipelining */
     NULL,                /* hosts_avoid_esmtp */
     NULL,                /* hosts_nopass_tls */
     5*60,                /* command_timeout */
  @@ -1189,9 +1192,12 @@
         PCRE_EOPT, NULL, 0) >= 0;


     /* Note whether the server supports PIPELINING. If hosts_avoid_esmtp matched
  -  the current host, esmtp will be false, so PIPELINING can never be used. */
  +  the current host, esmtp will be false, so PIPELINING can never be used. If
  +  the current host matches hosts_avoid_pipelining, don't do it. */


     smtp_use_pipelining = esmtp &&
  +    verify_check_this_host(&(ob->hosts_avoid_pipelining), NULL, host->name,
  +      host->address, NULL) != OK &&
       pcre_exec(regex_PIPELINING, NULL, CS buffer, Ustrlen(CS buffer), 0,
         PCRE_EOPT, NULL, 0) >= 0;



  Index: smtp.h
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/src/transports/smtp.h,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- smtp.h    18 Jan 2007 15:35:43 -0000    1.11
  +++ smtp.h    6 Feb 2007 14:49:13 -0000    1.12
  @@ -1,4 +1,4 @@
  -/* $Cambridge: exim/exim-src/src/transports/smtp.h,v 1.11 2007/01/18 15:35:43 ph10 Exp $ */
  +/* $Cambridge: exim/exim-src/src/transports/smtp.h,v 1.12 2007/02/06 14:49:13 ph10 Exp $ */


   /*************************************************
   *     Exim - an Internet mail transport agent    *
  @@ -24,6 +24,7 @@
     uschar *hosts_require_auth;
     uschar *hosts_require_tls;
     uschar *hosts_avoid_tls;
  +  uschar *hosts_avoid_pipelining;
     uschar *hosts_avoid_esmtp;
     uschar *hosts_nopass_tls;
     int     command_timeout;


  Index: 0217
  ===================================================================
  RCS file: /home/cvs/exim/exim-test/confs/0217,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- 0217    7 Feb 2006 10:34:25 -0000    1.1
  +++ 0217    6 Feb 2007 14:49:13 -0000    1.2
  @@ -1,5 +1,7 @@
   # Exim test configuration 0217


  +HAP=
  +
   exim_path = EXIM_PATH
   host_lookup_order = bydns
   primary_hostname = myhost.test.ex
  @@ -43,7 +45,7 @@
     command_timeout = 1s
     hosts = 127.0.0.1
     port = PORT_S
  -
  +  HAP


# ----- Retry -----


  Index: 0217
  ===================================================================
  RCS file: /home/cvs/exim/exim-test/log/0217,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- 0217    9 Mar 2006 15:10:17 -0000    1.2
  +++ 0217    6 Feb 2007 14:49:13 -0000    1.3
  @@ -119,3 +119,9 @@
   1999-03-02 09:44:33 10HmbO-0005vi-00 ** CALLER@??? R=bounce: just discard
   1999-03-02 09:44:33 10HmbO-0005vi-00 CALLER@???: error ignored
   1999-03-02 09:44:33 10HmbO-0005vi-00 Completed
  +1999-03-02 09:44:33 10HmbP-0005vi-00 <= CALLER@??? U=CALLER P=local S=sss
  +1999-03-02 09:44:33 10HmbP-0005vi-00 => w@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1]
  +1999-03-02 09:44:33 10HmbP-0005vi-00 -> x@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1]
  +1999-03-02 09:44:33 10HmbP-0005vi-00 -> y@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1]
  +1999-03-02 09:44:33 10HmbP-0005vi-00 -> z@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1]
  +1999-03-02 09:44:33 10HmbP-0005vi-00 Completed


  Index: 0217
  ===================================================================
  RCS file: /home/cvs/exim/exim-test/scripts/0000-Basic/0217,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- 0217    7 Feb 2006 10:54:33 -0000    1.1
  +++ 0217    6 Feb 2007 14:49:13 -0000    1.2
  @@ -316,4 +316,30 @@
   exim -odi a b c d e 
   .
   ****
  +# Discard retry data
  +sudo rm DIR/spool/db/*
  +#
  +# Test hosts_avoid_pipelining
  +server PORT_S
  +220 Server ready
  +EHLO
  +250-OK
  +250 PIPELINING
  +MAIL FROM
  +250 OK
  +RCPT TO
  +250 OK
  +RCPT TO
  +250 OK
  +RCPT TO
  +250 OK
  +RCPT TO
  +250 OK
  +DATA
  +351 Send more
  +.
  +250 OK
  +****
  +exim -v -odi -DHAP=hosts_avoid_pipelining=127.0.0.1 w x y z
  +****
   no_msglog_check


  Index: 0217
  ===================================================================
  RCS file: /home/cvs/exim/exim-test/stderr/0217,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- 0217    9 Mar 2006 15:10:17 -0000    1.2
  +++ 0217    6 Feb 2007 14:49:14 -0000    1.3
  @@ -228,3 +228,36 @@
     CALLER@???: error ignored
   LOG: MAIN
     Completed
  +LOG: MAIN
  +  <= CALLER@??? U=CALLER P=local S=sss
  +delivering 10HmbP-0005vi-00
  +Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
  +  SMTP<< 220 Server ready
  +  SMTP>> EHLO myhost.test.ex
  +  SMTP<< 250-OK
  +         250 PIPELINING
  +  SMTP>> MAIL FROM:<CALLER@???>
  +  SMTP<< 250 OK
  +  SMTP>> RCPT TO:<w@???>
  +  SMTP<< 250 OK
  +  SMTP>> RCPT TO:<x@???>
  +  SMTP<< 250 OK
  +  SMTP>> RCPT TO:<y@???>
  +  SMTP<< 250 OK
  +  SMTP>> RCPT TO:<z@???>
  +  SMTP<< 250 OK
  +  SMTP>> DATA
  +  SMTP<< 351 Send more
  +  SMTP>> writing message and terminating "."
  +  SMTP<< 250 OK
  +  SMTP>> QUIT
  +LOG: MAIN
  +  => w@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1]
  +LOG: MAIN
  +  -> x@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1]
  +LOG: MAIN
  +  -> y@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1]
  +LOG: MAIN
  +  -> z@??? R=client T=send_to_server H=127.0.0.1 [127.0.0.1]
  +LOG: MAIN
  +  Completed


  Index: 0217
  ===================================================================
  RCS file: /home/cvs/exim/exim-test/stdout/0217,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- 0217    7 Feb 2006 10:47:37 -0000    1.1
  +++ 0217    6 Feb 2007 14:49:14 -0000    1.2
  @@ -289,3 +289,31 @@
   RCPT TO:<b@???>
   550 NO
   End of script
  +Listening on port 1224 ... 
  +Connection request from [127.0.0.1]
  +220 Server ready
  +EHLO myhost.test.ex
  +250-OK
  +250 PIPELINING
  +MAIL FROM:<CALLER@???>
  +250 OK
  +RCPT TO:<w@???>
  +250 OK
  +RCPT TO:<x@???>
  +250 OK
  +RCPT TO:<y@???>
  +250 OK
  +RCPT TO:<z@???>
  +250 OK
  +DATA
  +351 Send more
  +Received: from CALLER by myhost.test.ex with local (Exim x.yz)
  +    (envelope-from <CALLER@???>)
  +    id 10HmbP-0005vi-00; Tue, 2 Mar 1999 09:44:33 +0000
  +Message-Id: <E10HmbP-0005vi-00@???>
  +From: CALLER_NAME <CALLER@???>
  +Date: Tue, 2 Mar 1999 09:44:33 +0000
  +
  +.
  +250 OK
  +End of script