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

Página Inicial
Delete this message
Reply to this message
Autor: Philip Hazel
Data:  
Para: exim-cvs
Assunto: [exim-cvs] cvs commit: exim/exim-doc/doc-txt ChangeLog exim/exim-src/src/transports smtp.c exim/exim-test-orig/AutoTest/confs 606 exim/exim-test-orig/AutoTest/log 606 exim/exim-test-orig/AutoTest/r
ph10 2005/04/06 16:26:52 BST

  Modified files:
    exim-doc/doc-txt     ChangeLog 
    exim-src/src/transports smtp.c 
  Added files:
    exim-test-orig/AutoTest/confs 606 
    exim-test-orig/AutoTest/log 606 
    exim-test-orig/AutoTest/rejectlog 606 
    exim-test-orig/AutoTest/scripts 606 
  Log:
  Fix logging bug when two addresses to the same host list go to different
  hosts with different TLS usage within the same delivery process.


  Revision  Changes    Path
  1.117     +10 -0     exim/exim-doc/doc-txt/ChangeLog
  1.9       +5 -2      exim/exim-src/src/transports/smtp.c
  1.1       +63 -0     exim/exim-test-orig/AutoTest/confs/606 (new)
  1.1       +13 -0     exim/exim-test-orig/AutoTest/log/606 (new)
  1.1       +1 -0      exim/exim-test-orig/AutoTest/rejectlog/606 (new)
  1.1       +15 -0     exim/exim-test-orig/AutoTest/scripts/606 (new)


  Index: ChangeLog
  ===================================================================
  RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
  retrieving revision 1.116
  retrieving revision 1.117
  diff -u -r1.116 -r1.117
  --- ChangeLog    6 Apr 2005 14:40:23 -0000    1.116
  +++ ChangeLog    6 Apr 2005 15:26:52 -0000    1.117
  @@ -1,4 +1,4 @@
  -$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.116 2005/04/06 14:40:23 ph10 Exp $
  +$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.117 2005/04/06 15:26:52 ph10 Exp $


   Change log file for Exim from version 4.21
   -------------------------------------------
  @@ -179,6 +179,16 @@
   PH/29 Installed patch from the Sieve maintainer that adds the options
         sieve_useraddress and sieve_subaddress to the redirect router.


  +PH/30 In these circumstances:
  +        . Two addresses routed to the same list of hosts;
  +        . First host does not offer TLS;
  +        . First host accepts first address;
  +        . First host gives temporary error to second address;
  +        . Second host offers TLS and a TLS session is established;
  +        . Second host accepts second address.
  +      Exim incorrectly logged both deliveries with the TLS parameters (cipher
  +      and peerdn, if requested) that were in fact used only for the second
  +      address.



A note about Exim versions 4.44 and 4.50

  Index: smtp.c
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/src/transports/smtp.c,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- smtp.c    22 Mar 2005 15:45:35 -0000    1.8
  +++ smtp.c    6 Apr 2005 15:26:52 -0000    1.9
  @@ -1,4 +1,4 @@
  -/* $Cambridge: exim/exim-src/src/transports/smtp.c,v 1.8 2005/03/22 15:45:35 ph10 Exp $ */
  +/* $Cambridge: exim/exim-src/src/transports/smtp.c,v 1.9 2005/04/06 15:26:52 ph10 Exp $ */


   /*************************************************
   *     Exim - an Internet mail transport agent    *
  @@ -1020,8 +1020,11 @@


       for (addr = addrlist; addr != NULL; addr = addr->next)
         {
  -      addr->cipher = tls_cipher;
  -      addr->peerdn = tls_peerdn;
  +      if (addr->transport_return == PENDING_DEFER)
  +        {
  +        addr->cipher = tls_cipher;
  +        addr->peerdn = tls_peerdn;
  +        }
         }
       }
     }


Index: 606
====================================================================
# Exim test configuration 606

# Macros are set externally in order to get the path
# of the Exim that is being tested, and the directory
# in which the test data lives.

exim_path = EXIM_PATH
primary_hostname = myhost.test.ex
spool_directory = DIR/spool

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

acl_smtp_rcpt = check_rcpt
log_selector = +tls_peerdn

tls_advertise_hosts = ::::1
tls_certificate = DIR/aux/cert1
tls_privatekey = DIR/aux/cert1


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

begin acl

  check_rcpt:
    accept  local_parts = philip


    defer   local_parts = hazel
            hosts       = 127.0.0.1


    accept   



# ----- Routers -----

begin routers

  r0:
    driver = accept
    condition = ${if !eq {$sender_host_address}{}}
    transport = t2  


  r1:
    driver = accept
    transport = t1  



# ----- Transports -----

begin transports

  t1:
    driver = smtp
    hosts = 127.0.0.1 : ::::1 
    port = 1225 
    allow_localhost 


  t2:
    driver = appendfile
    file = /dev/null
    user = CALLER   


# End

Index: 606
====================================================================
1999-03-02 09:44:33 exim x.yz daemon started: pid=pppp, no queue runs, listening for SMTP on port 1225 (IPv6 and IPv4)
1999-03-02 09:44:33 10HmaX-0005vi-00 <= ph10@??? U=ph10 P=local S=242
1999-03-02 09:44:33 H=localhost (myhost.test.ex) [127.0.0.1] U=exim F=<ph10@???> temporarily rejected RCPT <hazel@???>
1999-03-02 09:44:33 10HmaX-0005vi-00 SMTP error from remote mailer after RCPT TO:<hazel@???>: host 127.0.0.1 [127.0.0.1]: 451 Temporary local problem - please try later
1999-03-02 09:44:33 10HmaY-0005vi-00 <= ph10@??? H=localhost (myhost.test.ex) [127.0.0.1] U=exim P=esmtp S=436 id=E10HmaX-0005vi-00@???
1999-03-02 09:44:33 10HmaZ-0005vi-00 <= ph10@??? H=localhost (myhost.test.ex) [::1] P=esmtps X=TLSv1:AES256-SHA:256 S=442 id=E10HmaX-0005vi-00@???
1999-03-02 09:44:33 10HmaY-0005vi-00 => philip <philip@???> R=r0 T=t2
1999-03-02 09:44:33 10HmaY-0005vi-00 Completed
1999-03-02 09:44:33 10HmaZ-0005vi-00 => hazel <hazel@???> R=r0 T=t2
1999-03-02 09:44:33 10HmaZ-0005vi-00 Completed
1999-03-02 09:44:33 10HmaX-0005vi-00 => philip@??? R=r1 T=t1 H=127.0.0.1 [127.0.0.1]
1999-03-02 09:44:33 10HmaX-0005vi-00 => hazel@??? R=r1 T=t1 H=::1 [::1] X=TLSv1:AES256-SHA:256 DN="/C=UK/L=Cambridge/O=University of Cambridge/OU=Computing Service/CN=Philip Hazel"
1999-03-02 09:44:33 10HmaX-0005vi-00 Completed

Index: 606
====================================================================
1999-03-02 09:44:33 H=localhost (myhost.test.ex) [127.0.0.1] U=exim F=<ph10@???> temporarily rejected RCPT <hazel@???>

Index: 606
====================================================================
0 logging of TLS parameters for 2 different recipients
exim -DSERVER=server -bd -oX 1225
****
0
sleep 1
****
0
exim -odi philip hazel
****
0
sleep 1
****
0
killdaemon
****