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

Góra strony
Delete this message
Reply to this message
Autor: Philip Hazel
Data:  
Dla: exim-cvs
Temat: [exim-cvs] cvs commit: exim/exim-doc/doc-txt ChangeLog exim/exim-src/src dns.c exim/exim-test/confs 0545 exim/exim-test/scripts/0000-Basic 0545 exim/exim-test/src fakens.c exim/exim-test/stderr 054
ph10 2006/11/07 14:13:19 GMT

  Modified files:
    exim-doc/doc-txt     ChangeLog 
    exim-src/src         dns.c 
    exim-test/src        fakens.c 
  Added files:
    exim-test/confs      0545 
    exim-test/scripts/0000-Basic 0545 
    exim-test/stderr     0545 
    exim-test/stdout     0545 
  Log:
  Stop rewriting addresses as a consequence of CNAMEs, as Exim isn't
  supposed to do that (it must have crept in accidentally).


  Revision  Changes    Path
  1.427     +3 -0      exim/exim-doc/doc-txt/ChangeLog
  1.15      +5 -5      exim/exim-src/src/dns.c
  1.1       +32 -0     exim/exim-test/confs/0545 (new)
  1.1       +5 -0      exim/exim-test/scripts/0000-Basic/0545 (new)
  1.3       +0 -12     exim/exim-test/src/fakens.c
  1.1       +121 -0    exim/exim-test/stderr/0545 (new)
  1.1       +7 -0      exim/exim-test/stdout/0545 (new)


  Index: ChangeLog
  ===================================================================
  RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
  retrieving revision 1.426
  retrieving revision 1.427
  diff -u -r1.426 -r1.427
  --- ChangeLog    7 Nov 2006 11:28:05 -0000    1.426
  +++ ChangeLog    7 Nov 2006 14:13:18 -0000    1.427
  @@ -1,4 +1,4 @@
  -$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.426 2006/11/07 11:28:05 ph10 Exp $
  +$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.427 2006/11/07 14:13:18 ph10 Exp $


   Change log file for Exim from version 4.21
   -------------------------------------------
  @@ -251,6 +251,9 @@
         remote server are returned as part of bounce messages. This was not
         happening for LMTP over a pipe (the lmtp transport), but now it is the
         same for both kinds of LMTP.
  +
  +PH/38 Despite being documented as not happening, Exim was rewriting addresses
  +      in header lines that were in fact CNAMEs. This is no longer the case.



Exim version 4.63

  Index: dns.c
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/src/dns.c,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- dns.c    16 Feb 2006 10:05:33 -0000    1.14
  +++ dns.c    7 Nov 2006 14:13:19 -0000    1.15
  @@ -1,4 +1,4 @@
  -/* $Cambridge: exim/exim-src/src/dns.c,v 1.14 2006/02/16 10:05:33 ph10 Exp $ */
  +/* $Cambridge: exim/exim-src/src/dns.c,v 1.15 2006/11/07 14:13:19 ph10 Exp $ */


   /*************************************************
   *     Exim - an Internet mail transport agent    *
  @@ -677,12 +677,10 @@
       else if (rr->type == T_CNAME) cname_rr = *rr;
       }


- /* If a CNAME was found, take the fully qualified name from it; otherwise
- from the first data record, if present. For testing, there is a magic name
- that gets its casing adjusted, because my resolver doesn't seem to pass back
- upper case letters in domain names. */
+ /* For the first time round this loop, if a CNAME was found, take the fully
+ qualified name from it; otherwise from the first data record, if present. */

  -  if (fully_qualified_name != NULL)
  +  if (i == 0 && fully_qualified_name != NULL)
       {
       if (cname_rr.data != NULL)
         {
  @@ -712,6 +710,8 @@
       cname_rr.data, (DN_EXPAND_ARG4_TYPE)data, 256);
     if (datalen < 0) return DNS_FAIL;
     name = data;
  +
  +  DEBUG(D_dns) debug_printf("CNAME found: change to %s\n", name);
     }       /* Loop back to do another lookup */


/*Control reaches here after 10 times round the CNAME loop. Something isn't

Index: 0545
====================================================================
# Exim test configuration 0545

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

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


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

begin routers

  dns:
    driver = dnslookup
    transport = smtp
    self = send



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

begin transports

  smtp:
    driver = smtp



# End

Index: 0545
====================================================================
# CNAME not rewriting
exim -d -bt userx@alias-eximtesthost
****
exim -d -bt userx@???
****

  Index: fakens.c
  ===================================================================
  RCS file: /home/cvs/exim/exim-test/src/fakens.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- fakens.c    16 Feb 2006 10:05:34 -0000    1.2
  +++ fakens.c    7 Nov 2006 14:13:19 -0000    1.3
  @@ -1,4 +1,4 @@
  -/* $Cambridge: exim/exim-test/src/fakens.c,v 1.2 2006/02/16 10:05:34 ph10 Exp $ */
  +/* $Cambridge: exim/exim-test/src/fakens.c,v 1.3 2006/11/07 14:13:19 ph10 Exp $ */


   /*************************************************
   *       fakens - A Fake Nameserver Program       *
  @@ -415,18 +415,6 @@


     rdlptr[0] = ((pk - rdlptr - 2) >> 8) & 255;
     rdlptr[1] = (pk -rdlptr - 2) & 255;
  -
  -  /* If we have just yielded a CNAME, we must change the domain name to the
  -  new domain, and re-start the scan from the beginning. */
  -
  -  if (found_cname)
  -    {
  -    domain = fcopystring("%s", p);
  -    domainlen = Ustrlen(domain);
  -    domain[domainlen - 1] = 0;       /* Removed trailing dot */
  -    rrdomain[0] = 0;                 /* No previous domain */
  -    (void)fseek(f, 0, SEEK_SET);     /* Start again at the beginning */
  -    }
     }


*pkptr = pk;

  Index: 0545
  ====================================================================
  Exim version x.yz ....
  changed uid/gid: forcing real = effective
    uid=uuuu gid=CALLER_GID pid=pppp
  configuration file is TESTSUITE/test-config
  admin user
  originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
  sender address = CALLER@???
  Address testing: uid=uuuu gid=EXIM_GID euid=uuuu egid=EXIM_GID

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

Testing userx@alias-eximtesthost
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Considering userx@alias-eximtesthost
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

  routing userx@alias-eximtesthost
  --------> dns router <--------
  local_part=userx domain=alias-eximtesthost
  calling dns router
  dns router called for userx@alias-eximtesthost
    domain = alias-eximtesthost
  DNS lookup of alias-eximtesthost (MX) using fakens
  DNS lookup of alias-eximtesthost (MX) succeeded
  CNAME found: change to eximtesthost.test.ex
  DNS lookup of eximtesthost.test.ex (MX) using fakens
  DNS lookup of eximtesthost.test.ex (MX) gave NO_DATA
  returning DNS_NODATA
  DNS lookup of alias-eximtesthost (AAAA) succeeded
  CNAME found: change to eximtesthost.test.ex
  DNS lookup of alias-eximtesthost (A) using fakens
  DNS lookup of alias-eximtesthost (A) succeeded
  CNAME found: change to eximtesthost.test.ex
  DNS lookup of eximtesthost.test.ex (A) using fakens
  DNS lookup of eximtesthost.test.ex (A) succeeded
  local host found for non-MX address
  fully qualified name = alias-eximtesthost.test.ex
  eximtesthost.test.ex ip4.ip4.ip4.ip4 mx=-1 sort=xx 
  domain changed to alias-eximtesthost.test.ex
  rewriting header lines
  re-routed to userx@???

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

Considering userx@???
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

  routing userx@???
  --------> dns router <--------
  local_part=userx domain=alias-eximtesthost.test.ex
  calling dns router
  dns router called for userx@???
    domain = alias-eximtesthost.test.ex
  DNS lookup of alias-eximtesthost.test.ex (MX) using fakens
  DNS lookup of alias-eximtesthost.test.ex (MX) succeeded
  CNAME found: change to eximtesthost.test.ex
  DNS lookup of eximtesthost.test.ex-MX: using cached value DNS_NODATA
  DNS lookup of alias-eximtesthost.test.ex (AAAA) succeeded
  CNAME found: change to eximtesthost.test.ex
  DNS lookup of eximtesthost.test.ex-AAAA: using cached value DNS_NODATA
  DNS lookup of alias-eximtesthost.test.ex (A) using fakens
  DNS lookup of alias-eximtesthost.test.ex (A) succeeded
  CNAME found: change to eximtesthost.test.ex
  DNS lookup of eximtesthost.test.ex (A) using fakens
  DNS lookup of eximtesthost.test.ex (A) succeeded
  local host found for non-MX address
  fully qualified name = alias-eximtesthost.test.ex
  eximtesthost.test.ex ip4.ip4.ip4.ip4 mx=-1 sort=xx 
  remote host address is the local host: alias-eximtesthost.test.ex: configured to try delivery anyway
  set transport smtp
  queued for smtp transport: local_part = userx
  domain = alias-eximtesthost.test.ex
    errors_to=NULL
    domain_data=NULL localpart_data=NULL
  routed by dns router
    envelope to: userx@???
    transport: smtp
    host eximtesthost.test.ex [ip4.ip4.ip4.ip4]
  search_tidyup called

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

  Exim version x.yz ....
  changed uid/gid: forcing real = effective
    uid=uuuu gid=CALLER_GID pid=pppp
  configuration file is TESTSUITE/test-config
  admin user
  originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
  sender address = CALLER@???
  Address testing: uid=uuuu gid=EXIM_GID euid=uuuu egid=EXIM_GID

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

Testing userx@???
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Considering userx@???
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

  routing userx@???
  --------> dns router <--------
  local_part=userx domain=alias-eximtesthost.test.ex
  calling dns router
  dns router called for userx@???
    domain = alias-eximtesthost.test.ex
  DNS lookup of alias-eximtesthost.test.ex (MX) using fakens
  DNS lookup of alias-eximtesthost.test.ex (MX) succeeded
  CNAME found: change to eximtesthost.test.ex
  DNS lookup of eximtesthost.test.ex (MX) using fakens
  DNS lookup of eximtesthost.test.ex (MX) gave NO_DATA
  returning DNS_NODATA
  DNS lookup of alias-eximtesthost.test.ex (AAAA) succeeded
  CNAME found: change to eximtesthost.test.ex
  DNS lookup of alias-eximtesthost.test.ex (A) using fakens
  DNS lookup of alias-eximtesthost.test.ex (A) succeeded
  CNAME found: change to eximtesthost.test.ex
  DNS lookup of eximtesthost.test.ex (A) using fakens
  DNS lookup of eximtesthost.test.ex (A) succeeded
  local host found for non-MX address
  fully qualified name = alias-eximtesthost.test.ex
  eximtesthost.test.ex ip4.ip4.ip4.ip4 mx=-1 sort=xx 
  remote host address is the local host: alias-eximtesthost.test.ex: configured to try delivery anyway
  set transport smtp
  queued for smtp transport: local_part = userx
  domain = alias-eximtesthost.test.ex
    errors_to=NULL
    domain_data=NULL localpart_data=NULL
  routed by dns router
    envelope to: userx@???
    transport: smtp
    host eximtesthost.test.ex [ip4.ip4.ip4.ip4]
  search_tidyup called

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


  Index: 0545
  ====================================================================
  userx@???
      <-- userx@alias-eximtesthost
    router = dns, transport = smtp
    host eximtesthost.test.ex [ip4.ip4.ip4.ip4] 
  userx@???
    router = dns, transport = smtp
    host eximtesthost.test.ex [ip4.ip4.ip4.ip4]