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

トップ ページ
このメッセージを削除
このメッセージに返信
著者: Philip Hazel
日付:  
To: exim-cvs
題目: [exim-cvs] cvs commit: exim/exim-doc/doc-txt ChangeLog exim/exim-src/src smtp_in.c exim/exim-test/confs 0541 exim/exim-test/scripts/0000-Basic 0541 exim/exim-test/stdout 0541
ph10 2006/10/23 11:55:10 BST

  Modified files:
    exim-doc/doc-txt     ChangeLog 
    exim-src/src         smtp_in.c 
  Added files:
    exim-test/confs      0541 
    exim-test/scripts/0000-Basic 0541 
    exim-test/stdout     0541 
  Log:
  Fix crash for verify=helo when no IP address (-bs).


  Revision  Changes    Path
  1.412     +4 -0      exim/exim-doc/doc-txt/ChangeLog
  1.46      +11 -1     exim/exim-src/src/smtp_in.c
  1.1       +25 -0     exim/exim-test/confs/0541 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0541 (new)
  1.1       +3 -0      exim/exim-test/stdout/0541 (new)


  Index: ChangeLog
  ===================================================================
  RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
  retrieving revision 1.411
  retrieving revision 1.412
  diff -u -r1.411 -r1.412
  --- ChangeLog    18 Oct 2006 08:55:37 -0000    1.411
  +++ ChangeLog    23 Oct 2006 10:55:10 -0000    1.412
  @@ -1,4 +1,4 @@
  -$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.411 2006/10/18 08:55:37 ph10 Exp $
  +$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.412 2006/10/23 10:55:10 ph10 Exp $


Change log file for Exim from version 4.21
-------------------------------------------
@@ -157,6 +157,10 @@

   PH/23 Testing for tls_required and lost_connection in a retry rule didn't work
         if any retry times were supplied.
  +
  +PH/24 Exim crashed if verify=helo was activated during an incoming -bs
  +      connection, where there is no client IP address to check. In this
  +      situation, the verify now always succeeds.



Exim version 4.63

  Index: smtp_in.c
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/src/smtp_in.c,v
  retrieving revision 1.45
  retrieving revision 1.46
  diff -u -r1.45 -r1.46
  --- smtp_in.c    9 Oct 2006 14:36:25 -0000    1.45
  +++ smtp_in.c    23 Oct 2006 10:55:10 -0000    1.46
  @@ -1,4 +1,4 @@
  -/* $Cambridge: exim/exim-src/src/smtp_in.c,v 1.45 2006/10/09 14:36:25 ph10 Exp $ */
  +/* $Cambridge: exim/exim-src/src/smtp_in.c,v 1.46 2006/10/23 10:55:10 ph10 Exp $ */


   /*************************************************
   *     Exim - an Internet mail transport agent    *
  @@ -2054,6 +2054,16 @@
     HDEBUG(D_receive) debug_printf("no EHLO/HELO command was issued\n");
     }


  +/* Deal with the case of -bs without an IP address */
  +
  +else if (sender_host_address == NULL)
  +  {
  +  HDEBUG(D_receive) debug_printf("no client IP address: assume success\n");
  +  helo_verified = TRUE;
  +  }
  +
  +/* Deal with the more common case when there is a sending IP address */
  +
   else if (sender_helo_name[0] == '[')
     {
     helo_verified = Ustrncmp(sender_helo_name+1, sender_host_address,
  @@ -2139,7 +2149,7 @@
       }
     }


-if (!helo_verified) helo_verify_failed = FALSE; /* We've tried ... */
+if (!helo_verified) helo_verify_failed = TRUE; /* We've tried ... */
return yield;
}


Index: 0541
====================================================================
# Exim test configuration 0541

exim_path = EXIM_PATH
host_lookup_order = bydns
primary_hostname = myhost.test.ex
rfc1413_query_timeout = 0s
spool_directory = DIR/spool
log_file_path = DIR/spool/log/%slog
gecos_pattern = ""
gecos_name = CALLER_NAME

# ----- Main settings -----

acl_smtp_helo = check_helo


# ----- ACLs -----

begin acl

  check_helo:
    require verify = helo
    accept


# End

Index: 0541
====================================================================
# verify=helo with no IP address
exim -bs
helo a.b.c.d
quit
****

Index: 0541
====================================================================
220 myhost.test.ex ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
250 myhost.test.ex Hello CALLER at a.b.c.d
221 myhost.test.ex closing connection