[exim-cvs] cvs commit: exim/exim-doc/doc-misc WishList exim…

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-misc WishList exim/exim-doc/doc-txt ChangeLog NewStuff exim/exim-src/src acl.c globals.c globals.h smtp_in.c exim/exim-test/confs 3400 exim/exim-test/scrip
ph10 2006/03/02 12:25:48 GMT

  Modified files:
    exim-doc/doc-misc    WishList 
    exim-doc/doc-txt     ChangeLog NewStuff 
    exim-src/src         acl.c globals.c globals.h smtp_in.c 
    exim-test/confs      3400 
    exim-test/scripts/3400-plaintext 3400 
    exim-test/stderr     3400 
    exim-test/stdout     3400 
  Log:
  Implemented control=allow_auth_unadvertised.


  Revision  Changes    Path
  1.62      +0 -7      exim/exim-doc/doc-misc/WishList
  1.321     +3 -0      exim/exim-doc/doc-txt/ChangeLog
  1.94      +13 -0     exim/exim-doc/doc-txt/NewStuff
  1.56      +69 -41    exim/exim-src/src/acl.c
  1.52      +1 -0      exim/exim-src/src/globals.c
  1.36      +1 -0      exim/exim-src/src/globals.h
  1.34      +12 -7     exim/exim-src/src/smtp_in.c
  1.3       +6 -0      exim/exim-test/confs/3400
  1.2       +17 -1     exim/exim-test/scripts/3400-plaintext/3400
  1.3       +35 -0     exim/exim-test/stderr/3400
  1.2       +15 -0     exim/exim-test/stdout/3400


  Index: WishList
  ===================================================================
  RCS file: /home/cvs/exim/exim-doc/doc-misc/WishList,v
  retrieving revision 1.61
  retrieving revision 1.62
  diff -u -r1.61 -r1.62
  --- WishList    2 Mar 2006 11:24:25 -0000    1.61
  +++ WishList    2 Mar 2006 12:25:48 -0000    1.62
  @@ -1,4 +1,4 @@
  -$Cambridge: exim/exim-doc/doc-misc/WishList,v 1.61 2006/03/02 11:24:25 ph10 Exp $
  +$Cambridge: exim/exim-doc/doc-misc/WishList,v 1.62 2006/03/02 12:25:48 ph10 Exp $


EXIM 4 WISH LIST
----------------
@@ -1995,13 +1995,6 @@
variables that are included in the data. This has to be done inside the lookup
code, because of caching. Probably means we have to invent ewildlsearch and
enwildlsearch.
-------------------------------------------------------------------------------
-
-(348) 17-Nov-05 S Option to allow AUTH when not advertised.
-
-It seems that there are clients that send AUTH when it hasn't been advertised,
-some even after HELO, not even EHLO. Sigh. Possibly this should be an ACL
-control, to enable it to be restricted to certain hosts.
------------------------------------------------------------------------------

(350) 28-Feb-06 S Additional errors for retry rules

  Index: ChangeLog
  ===================================================================
  RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
  retrieving revision 1.320
  retrieving revision 1.321
  diff -u -r1.320 -r1.321
  --- ChangeLog    1 Mar 2006 16:07:16 -0000    1.320
  +++ ChangeLog    2 Mar 2006 12:25:48 -0000    1.321
  @@ -1,4 +1,4 @@
  -$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.320 2006/03/01 16:07:16 ph10 Exp $
  +$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.321 2006/03/02 12:25:48 ph10 Exp $


   Change log file for Exim from version 4.21
   -------------------------------------------
  @@ -271,6 +271,9 @@
         sender, but the error was temporary, then after the final timeout, only
         "retry timeout exceeded" was returned. Now it returns the full error as
         well as "retry timeout exceeded".
  +
  +PH/54 Added control=allow_auth_unadvertised, as it seems there are clients that
  +      do this, and (what is worse) MTAs that accept it.



Exim version 4.60

  Index: NewStuff
  ===================================================================
  RCS file: /home/cvs/exim/exim-doc/doc-txt/NewStuff,v
  retrieving revision 1.93
  retrieving revision 1.94
  diff -u -r1.93 -r1.94
  --- NewStuff    1 Mar 2006 11:40:51 -0000    1.93
  +++ NewStuff    2 Mar 2006 12:25:48 -0000    1.94
  @@ -1,4 +1,4 @@
  -$Cambridge: exim/exim-doc/doc-txt/NewStuff,v 1.93 2006/03/01 11:40:51 ph10 Exp $
  +$Cambridge: exim/exim-doc/doc-txt/NewStuff,v 1.94 2006/03/02 12:25:48 ph10 Exp $


New Features in Exim
--------------------
@@ -104,6 +104,19 @@

   PH/16 The expansion ${time_eval:<string>} converts an Exim time string such as
         2d4h1m into a number of seconds.
  +
  +PH/17 The ACL modifier control=allow_auth_unadvertised can be used to permit a
  +      client host to use the SMTP AUTH command even when it has not been
  +      advertised in response to EHLO. Furthermore, because there are apparently
  +      some really broken clients that do this, Exim will even accept AUTH after
  +      HELO when this control is set. It should only be used if you really need
  +      it, and you should limit its use to those broken hosts that do not work
  +      without it. For example:
  +
  +        warn hosts   = 192.168.34.25
  +             control = allow_auth_unadvertised
  +
  +      This control is permitted only in the connection and HELO ACLs.



Version 4.60

  Index: acl.c
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/src/acl.c,v
  retrieving revision 1.55
  retrieving revision 1.56
  diff -u -r1.55 -r1.56
  --- acl.c    13 Feb 2006 12:02:59 -0000    1.55
  +++ acl.c    2 Mar 2006 12:25:48 -0000    1.56
  @@ -1,4 +1,4 @@
  -/* $Cambridge: exim/exim-src/src/acl.c,v 1.55 2006/02/13 12:02:59 ph10 Exp $ */
  +/* $Cambridge: exim/exim-src/src/acl.c,v 1.56 2006/03/02 12:25:48 ph10 Exp $ */


   /*************************************************
   *     Exim - an Internet mail transport agent    *
  @@ -132,19 +132,29 @@
   that follows! */


   enum {
  -#ifdef EXPERIMENTAL_BRIGHTMAIL
  +  CONTROL_AUTH_UNADVERTISED,
  +  #ifdef EXPERIMENTAL_BRIGHTMAIL
     CONTROL_BMI_RUN,
  -#endif
  -#ifdef EXPERIMENTAL_DOMAINKEYS
  +  #endif
  +  #ifdef EXPERIMENTAL_DOMAINKEYS
     CONTROL_DK_VERIFY,
  -#endif
  -  CONTROL_ERROR, CONTROL_CASEFUL_LOCAL_PART, CONTROL_CASELOWER_LOCAL_PART,
  -  CONTROL_ENFORCE_SYNC, CONTROL_NO_ENFORCE_SYNC, CONTROL_FREEZE,
  -  CONTROL_QUEUE_ONLY, CONTROL_SUBMISSION, CONTROL_SUPPRESS_LOCAL_FIXUPS,
  -#ifdef WITH_CONTENT_SCAN
  +  #endif
  +  CONTROL_ERROR,
  +  CONTROL_CASEFUL_LOCAL_PART,
  +  CONTROL_CASELOWER_LOCAL_PART,
  +  CONTROL_ENFORCE_SYNC,
  +  CONTROL_NO_ENFORCE_SYNC,
  +  CONTROL_FREEZE,
  +  CONTROL_QUEUE_ONLY,
  +  CONTROL_SUBMISSION,
  +  CONTROL_SUPPRESS_LOCAL_FIXUPS,
  +  #ifdef WITH_CONTENT_SCAN
     CONTROL_NO_MBOX_UNSPOOL,
  -#endif
  -  CONTROL_FAKEDEFER, CONTROL_FAKEREJECT, CONTROL_NO_MULTILINE };
  +  #endif
  +  CONTROL_FAKEDEFER,
  +  CONTROL_FAKEREJECT,
  +  CONTROL_NO_MULTILINE
  +};


/* ACL control names; keep in step with the table above! This list is used for
turning ids into names. The actual list of recognized names is in the variable
@@ -152,20 +162,27 @@
and should be tidied up. */

   static uschar *controls[] = {
  +  US"allow_auth_unadvertised",
     #ifdef EXPERIMENTAL_BRIGHTMAIL
     US"bmi_run",
     #endif
     #ifdef EXPERIMENTAL_DOMAINKEYS
     US"dk_verify",
     #endif
  -  US"error", US"caseful_local_part",
  -  US"caselower_local_part", US"enforce_sync", US"no_enforce_sync", US"freeze",
  -  US"queue_only", US"submission", US"suppress_local_fixups",
  +  US"error",
  +  US"caseful_local_part",
  +  US"caselower_local_part",
  +  US"enforce_sync",
  +  US"no_enforce_sync",
  +  US"freeze",
  +  US"queue_only",
  +  US"submission",
  +  US"suppress_local_fixups",
     #ifdef WITH_CONTENT_SCAN
     US"no_mbox_unspool",
     #endif
  -
  -  US"no_multiline"};
  +  US"no_multiline"
  +};


/* Flags to indicate for which conditions /modifiers a string expansion is done
at the outer level. In the other cases, expansion already occurs in the
@@ -453,12 +470,16 @@
specify the negation of a small number of allowed times. */

   static unsigned int control_forbids[] = {
  -#ifdef EXPERIMENTAL_BRIGHTMAIL
  +  (unsigned int)
  +  ~((1<<ACL_WHERE_CONNECT)|(1<<ACL_WHERE_HELO)),   /* allow_auth_unadvertised */
  +
  +  #ifdef EXPERIMENTAL_BRIGHTMAIL
     0,                                               /* bmi_run */
  -#endif
  -#ifdef EXPERIMENTAL_DOMAINKEYS
  +  #endif
  +
  +  #ifdef EXPERIMENTAL_DOMAINKEYS
     (1<<ACL_WHERE_DATA)|(1<<ACL_WHERE_NOTSMTP),      /* dk_verify */
  -#endif
  +  #endif


     0,                                               /* error */


  @@ -490,12 +511,12 @@
     ~((1<<ACL_WHERE_MAIL)|(1<<ACL_WHERE_RCPT)|       /* suppress_local_fixups */
       (1<<ACL_WHERE_NOTSMTP)|(1<<ACL_WHERE_PREDATA)),


  -#ifdef WITH_CONTENT_SCAN
  +  #ifdef WITH_CONTENT_SCAN
     (unsigned int)
     ~((1<<ACL_WHERE_MAIL)|(1<<ACL_WHERE_RCPT)|       /* no_mbox_unspool */
       (1<<ACL_WHERE_PREDATA)|(1<<ACL_WHERE_DATA)|
       (1<<ACL_WHERE_MIME)),
  -#endif
  +  #endif


     (unsigned int)
     ~((1<<ACL_WHERE_MAIL)|(1<<ACL_WHERE_RCPT)|       /* fakedefer */
  @@ -519,26 +540,27 @@
   } control_def;


   static control_def controls_list[] = {
  +  { US"allow_auth_unadvertised", CONTROL_AUTH_UNADVERTISED, FALSE },
   #ifdef EXPERIMENTAL_BRIGHTMAIL
  -  { US"bmi_run",                CONTROL_BMI_RUN, FALSE },
  +  { US"bmi_run",                 CONTROL_BMI_RUN, FALSE },
   #endif
   #ifdef EXPERIMENTAL_DOMAINKEYS
  -  { US"dk_verify",              CONTROL_DK_VERIFY, FALSE },
  +  { US"dk_verify",               CONTROL_DK_VERIFY, FALSE },
   #endif
  -  { US"caseful_local_part",     CONTROL_CASEFUL_LOCAL_PART, FALSE },
  -  { US"caselower_local_part",   CONTROL_CASELOWER_LOCAL_PART, FALSE },
  -  { US"enforce_sync",           CONTROL_ENFORCE_SYNC, FALSE },
  -  { US"freeze",                 CONTROL_FREEZE, TRUE },
  -  { US"no_enforce_sync",        CONTROL_NO_ENFORCE_SYNC, FALSE },
  -  { US"no_multiline_responses", CONTROL_NO_MULTILINE, FALSE },
  -  { US"queue_only",             CONTROL_QUEUE_ONLY, FALSE },
  -#ifdef WITH_CONTENT_SCAN
  -  { US"no_mbox_unspool",        CONTROL_NO_MBOX_UNSPOOL, FALSE },
  -#endif
  -  { US"fakedefer",              CONTROL_FAKEDEFER, TRUE },
  -  { US"fakereject",             CONTROL_FAKEREJECT, TRUE },
  -  { US"submission",             CONTROL_SUBMISSION, TRUE },
  -  { US"suppress_local_fixups",  CONTROL_SUPPRESS_LOCAL_FIXUPS, FALSE }
  +  { US"caseful_local_part",      CONTROL_CASEFUL_LOCAL_PART, FALSE },
  +  { US"caselower_local_part",    CONTROL_CASELOWER_LOCAL_PART, FALSE },
  +  { US"enforce_sync",            CONTROL_ENFORCE_SYNC, FALSE },
  +  { US"freeze",                  CONTROL_FREEZE, TRUE },
  +  { US"no_enforce_sync",         CONTROL_NO_ENFORCE_SYNC, FALSE },
  +  { US"no_multiline_responses",  CONTROL_NO_MULTILINE, FALSE },
  +  { US"queue_only",              CONTROL_QUEUE_ONLY, FALSE },
  +#ifdef WITH_CONTENT_SCAN
  +  { US"no_mbox_unspool",         CONTROL_NO_MBOX_UNSPOOL, FALSE },
  +#endif
  +  { US"fakedefer",               CONTROL_FAKEDEFER, TRUE },
  +  { US"fakereject",              CONTROL_FAKEREJECT, TRUE },
  +  { US"submission",              CONTROL_SUBMISSION, TRUE },
  +  { US"suppress_local_fixups",   CONTROL_SUPPRESS_LOCAL_FIXUPS, FALSE }
     };


/* Support data structures for Client SMTP Authorization. acl_verify_csa()
@@ -2430,16 +2452,22 @@

       switch(control_type)
         {
  -#ifdef EXPERIMENTAL_BRIGHTMAIL
  +      case CONTROL_AUTH_UNADVERTISED:
  +      allow_auth_unadvertised = TRUE;
  +      break;
  +
  +      #ifdef EXPERIMENTAL_BRIGHTMAIL
         case CONTROL_BMI_RUN:
         bmi_run = 1;
         break;
  -#endif
  -#ifdef EXPERIMENTAL_DOMAINKEYS
  +      #endif
  +
  +      #ifdef EXPERIMENTAL_DOMAINKEYS
         case CONTROL_DK_VERIFY:
         dk_do_verify = 1;
         break;
  -#endif
  +      #endif
  +
         case CONTROL_ERROR:
         return ERROR;


  @@ -2459,11 +2487,11 @@
         smtp_enforce_sync = FALSE;
         break;


  -#ifdef WITH_CONTENT_SCAN
  +      #ifdef WITH_CONTENT_SCAN
         case CONTROL_NO_MBOX_UNSPOOL:
         no_mbox_unspool = TRUE;
         break;
  -#endif
  +      #endif


         case CONTROL_NO_MULTILINE:
         no_multiline_responses = TRUE;


  Index: globals.c
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/src/globals.c,v
  retrieving revision 1.51
  retrieving revision 1.52
  diff -u -r1.51 -r1.52
  --- globals.c    20 Feb 2006 16:31:49 -0000    1.51
  +++ globals.c    2 Mar 2006 12:25:48 -0000    1.52
  @@ -1,4 +1,4 @@
  -/* $Cambridge: exim/exim-src/src/globals.c,v 1.51 2006/02/20 16:31:49 ph10 Exp $ */
  +/* $Cambridge: exim/exim-src/src/globals.c,v 1.52 2006/03/02 12:25:48 ph10 Exp $ */


   /*************************************************
   *     Exim - an Internet mail transport agent    *
  @@ -299,6 +299,7 @@
   int     addresslist_count      = 0;
   gid_t  *admin_groups           = NULL;
   BOOL    admin_user             = FALSE;
  +BOOL    allow_auth_unadvertised= FALSE;
   BOOL    allow_domain_literals  = FALSE;
   BOOL    allow_mx_to_ip         = FALSE;
   BOOL    allow_unqualified_recipient = TRUE;    /* For local messages */


  Index: globals.h
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/src/globals.h,v
  retrieving revision 1.35
  retrieving revision 1.36
  diff -u -r1.35 -r1.36
  --- globals.h    13 Feb 2006 12:02:59 -0000    1.35
  +++ globals.h    2 Mar 2006 12:25:48 -0000    1.36
  @@ -1,4 +1,4 @@
  -/* $Cambridge: exim/exim-src/src/globals.h,v 1.35 2006/02/13 12:02:59 ph10 Exp $ */
  +/* $Cambridge: exim/exim-src/src/globals.h,v 1.36 2006/03/02 12:25:48 ph10 Exp $ */


   /*************************************************
   *     Exim - an Internet mail transport agent    *
  @@ -143,6 +143,7 @@
   extern int     addresslist_count;      /* Number defined */
   extern gid_t  *admin_groups;           /* List of admin groups */
   extern BOOL    admin_user;             /* True if caller can do admin */
  +extern BOOL    allow_auth_unadvertised;/* As it says */
   extern BOOL    allow_domain_literals;  /* As it says */
   extern BOOL    allow_mx_to_ip;         /* Allow MX records to -> ip address */
   extern BOOL    allow_unqualified_recipient; /* As it says */


  Index: smtp_in.c
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/src/smtp_in.c,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- smtp_in.c    14 Feb 2006 14:55:37 -0000    1.33
  +++ smtp_in.c    2 Mar 2006 12:25:48 -0000    1.34
  @@ -1,4 +1,4 @@
  -/* $Cambridge: exim/exim-src/src/smtp_in.c,v 1.33 2006/02/14 14:55:37 ph10 Exp $ */
  +/* $Cambridge: exim/exim-src/src/smtp_in.c,v 1.34 2006/03/02 12:25:48 ph10 Exp $ */


   /*************************************************
   *     Exim - an Internet mail transport agent    *
  @@ -2147,10 +2147,14 @@
     switch(smtp_read_command(TRUE))
       {
       /* The AUTH command is not permitted to occur inside a transaction, and may
  -    occur successfully only once per connection, and then only when we've
  -    advertised it. Actually, that isn't quite true. When TLS is started, all
  -    previous information about a connection must be discarded, so a new AUTH is
  -    permitted at that time.
  +    occur successfully only once per connection. Actually, that isn't quite
  +    true. When TLS is started, all previous information about a connection must
  +    be discarded, so a new AUTH is permitted at that time.
  +
  +    AUTH may only be used when it has been advertised. However, it seems that
  +    there are clients that send AUTH when it hasn't been advertised, some of
  +    them even doing this after HELO. And there are MTAs that accept this. Sigh.
  +    So there's a get-out that allows this to happen.


       AUTH is initially labelled as a "nonmail command" so that one occurrence
       doesn't get counted. We change the label here so that multiple failing
  @@ -2160,7 +2164,7 @@
       authentication_failed = TRUE;
       cmd_list[CMD_LIST_AUTH].is_mail_cmd = FALSE;


  -    if (!auth_advertised)
  +    if (!auth_advertised && !allow_auth_unadvertised)
         {
         done = synprot_error(L_smtp_protocol_error, 503, NULL,
           US"AUTH command used when not advertised");
  @@ -2215,12 +2219,13 @@
         }


       /* Search for an authentication mechanism which is configured for use
  -    as a server and which has been advertised. */
  +    as a server and which has been advertised (unless, sigh, allow_auth_
  +    unadvertised is set). */


       for (au = auths; au != NULL; au = au->next)
         {
         if (strcmpic(s, au->public_name) == 0 && au->server &&
  -          au->advertised) break;
  +          (au->advertised || allow_auth_unadvertised)) break;
         }


       if (au == NULL)


  Index: 3400
  ===================================================================
  RCS file: /home/cvs/exim/exim-test/confs/3400,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- 3400    10 Feb 2006 14:25:43 -0000    1.2
  +++ 3400    2 Mar 2006 12:25:48 -0000    1.3
  @@ -17,6 +17,7 @@
   hostlist relay_hosts = 10.0.0.4
   hostlist auth_relay_hosts = 10.0.0.3 : 10.0.0.4


+acl_smtp_connect = check_connect
acl_smtp_etrn = check_etrn
acl_smtp_expn = check_expn
acl_smtp_rcpt = check_recipient
@@ -31,6 +32,11 @@
# ----- ACL -----

   begin acl
  +
  +check_connect:
  +  warn     hosts = 10.0.0.6
  +           control = allow_auth_unadvertised
  +  accept


   check_recipient:
     warn     hosts = 10.0.0.5


  Index: 3400
  ===================================================================
  RCS file: /home/cvs/exim/exim-test/scripts/3400-plaintext/3400,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- 3400    7 Feb 2006 10:54:49 -0000    1.1
  +++ 3400    2 Mar 2006 12:25:48 -0000    1.2
  @@ -150,9 +150,11 @@
   AHVzZXJ4AHNlY3JldA==
   quit
   ****
  +# 10.0.0.2 is not allowed to use AUTH when it is not advertised
  +#
   exim -bs -oMa 10.0.0.2
   ehlo test.host
  -auth expandfail
  +auth explain
   AHVzZXJ4AHNlY3JldA==
   quit
   ****
  @@ -213,6 +215,20 @@
   exim -d -odi -bs -oMa 10.0.0.5
   ehlo testing.testing
   auth mylogin dXNlcnggc2VjcmV0
  +quit
  +****
  +# 10.0.0.6 is allowed to use AUTH when it is not advertised
  +#
  +exim -bs -oMa 10.0.0.6
  +ehlo test.host
  +auth explain
  +AHVzZXJ4AHNlY3JldA==
  +quit
  +****
  +exim -bs -oMa 10.0.0.6
  +helo test.host
  +auth explain
  +AHVzZXJ4AHNlY3JldA==
   quit
   ****
   no_msglog_check


  Index: 3400
  ===================================================================
  RCS file: /home/cvs/exim/exim-test/stderr/3400,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- 3400    10 Feb 2006 14:25:44 -0000    1.2
  +++ 3400    2 Mar 2006 12:25:48 -0000    1.3
  @@ -6,6 +6,13 @@
   >>> host in helo_verify_hosts? no (option unset)
   >>> host in helo_try_verify_hosts? no (option unset)
   >>> host in helo_accept_junk_hosts? no (option unset)
  +>>> using ACL "check_connect"
  +>>> processing "warn"
  +>>> check hosts = 10.0.0.6
  +>>> host in "10.0.0.6"? no (end of list)
  +>>> warn: condition test failed
  +>>> processing "accept"
  +>>> accept: condition test succeeded
   >>> host in smtp_accept_max_nonmail_hosts? yes (matched "*")
   >>> using ACL "check_vrfy"
   >>> processing "deny"
  @@ -62,6 +69,13 @@
   >>> host in helo_verify_hosts? no (option unset)
   >>> host in helo_try_verify_hosts? no (option unset)
   >>> host in helo_accept_junk_hosts? no (option unset)
  +>>> using ACL "check_connect"
  +>>> processing "warn"
  +>>> check hosts = 10.0.0.6
  +>>> host in "10.0.0.6"? no (end of list)
  +>>> warn: condition test failed
  +>>> processing "accept"
  +>>> accept: condition test succeeded
   >>> test.host in helo_lookup_domains? no (end of list)
   >>> host in pipelining_advertise_hosts? yes (matched "*")
   >>> host in "10.0.0.1"? yes (matched "10.0.0.1")
  @@ -234,6 +248,13 @@
   >>> host in helo_verify_hosts? no (option unset)
   >>> host in helo_try_verify_hosts? no (option unset)
   >>> host in helo_accept_junk_hosts? no (option unset)
  +>>> using ACL "check_connect"
  +>>> processing "warn"
  +>>> check hosts = 10.0.0.6
  +>>> host in "10.0.0.6"? no (end of list)
  +>>> warn: condition test failed
  +>>> processing "accept"
  +>>> accept: condition test succeeded
   >>> test.host in helo_lookup_domains? no (end of list)
   >>> host in pipelining_advertise_hosts? yes (matched "*")
   >>> host in "10.0.0.1"? no (end of list)
  @@ -318,6 +339,13 @@
   >>> host in helo_verify_hosts? no (option unset)
   >>> host in helo_try_verify_hosts? no (option unset)
   >>> host in helo_accept_junk_hosts? no (option unset)
  +>>> using ACL "check_connect"
  +>>> processing "warn"
  +>>> check hosts = 10.0.0.6
  +>>> host in "10.0.0.6"? no (end of list)
  +>>> warn: condition test failed
  +>>> processing "accept"
  +>>> accept: condition test succeeded
   >>> test.host in helo_lookup_domains? no (end of list)
   >>> host in pipelining_advertise_hosts? yes (matched "*")
   >>> host in "10.0.0.1"? no (end of list)
  @@ -348,6 +376,13 @@
   host in helo_verify_hosts? no (option unset)
   host in helo_try_verify_hosts? no (option unset)
   host in helo_accept_junk_hosts? no (option unset)
  +using ACL "check_connect"
  +processing "warn"
  +check hosts = 10.0.0.6
  +host in "10.0.0.6"? no (end of list)
  +warn: condition test failed
  +processing "accept"
  +accept: condition test succeeded
   SMTP>> 220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
   smtp_setup_msg entered
   SMTP<< ehlo testing.testing


  Index: 3400
  ===================================================================
  RCS file: /home/cvs/exim/exim-test/stdout/3400,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- 3400    7 Feb 2006 10:47:37 -0000    1.1
  +++ 3400    2 Mar 2006 12:25:48 -0000    1.2
  @@ -326,3 +326,18 @@
   250 HELP
   235 Authentication succeeded
   221 myhost.test.ex closing connection
  +220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
  +250-myhost.test.ex Hello CALLER at test.host [10.0.0.6]
  +250-SIZE 52428800
  +250-ETRN
  +250-EXPN
  +250-PIPELINING
  +250 HELP
  +334 
  +235 Authentication succeeded
  +221 myhost.test.ex closing connection
  +220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
  +250 myhost.test.ex Hello CALLER at test.host [10.0.0.6]
  +334 
  +235 Authentication succeeded
  +221 myhost.test.ex closing connection