[exim-cvs] cvs commit: exim/exim-doc/doc-txt ChangeLog 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-txt ChangeLog exim/exim-src/src deliver.c verify.c exim/exim-test/stdout 0104 0291
ph10 2006/06/30 16:36:08 BST

  Modified files:
    exim-doc/doc-txt     ChangeLog 
    exim-src/src         deliver.c verify.c 
    exim-test/stdout     0104 0291 
  Log:
  Indicate that duplicates shown in -bt output would not result in an
  additional delivery.


  Revision  Changes    Path
  1.365     +6 -0      exim/exim-doc/doc-txt/ChangeLog
  1.34      +6 -6      exim/exim-src/src/deliver.c
  1.37      +17 -1     exim/exim-src/src/verify.c
  1.2       +2 -2      exim/exim-test/stdout/0104
  1.2       +1 -1      exim/exim-test/stdout/0291


  Index: ChangeLog
  ===================================================================
  RCS file: /home/cvs/exim/exim-doc/doc-txt/ChangeLog,v
  retrieving revision 1.364
  retrieving revision 1.365
  diff -u -r1.364 -r1.365
  --- ChangeLog    30 Jun 2006 13:57:46 -0000    1.364
  +++ ChangeLog    30 Jun 2006 15:36:08 -0000    1.365
  @@ -1,4 +1,4 @@
  -$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.364 2006/06/30 13:57:46 ph10 Exp $
  +$Cambridge: exim/exim-doc/doc-txt/ChangeLog,v 1.365 2006/06/30 15:36:08 ph10 Exp $


   Change log file for Exim from version 4.21
   -------------------------------------------
  @@ -60,6 +60,12 @@
         security issue with \' (bugzilla #107). I could not use the
         PQescapeStringConn() function, because it needs a PGconn value as one of
         its arguments.
  +
  +PH/08 When testing addresses using -bt, indicate those final addresses that
  +      are duplicates that would not cause an additional delivery. At least one
  +      person was confused, thinking that -bt output corresponded to deliveries.
  +      (Suppressing duplicates isn't a good idea as you lose the information
  +      about possibly different redirections that led to the duplicates.)



Exim version 4.62

  Index: deliver.c
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/src/deliver.c,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- deliver.c    30 Jun 2006 14:14:46 -0000    1.33
  +++ deliver.c    30 Jun 2006 15:36:08 -0000    1.34
  @@ -1,4 +1,4 @@
  -/* $Cambridge: exim/exim-src/src/deliver.c,v 1.33 2006/06/30 14:14:46 ph10 Exp $ */
  +/* $Cambridge: exim/exim-src/src/deliver.c,v 1.34 2006/06/30 15:36:08 ph10 Exp $ */


   /*************************************************
   *     Exim - an Internet mail transport agent    *
  @@ -4372,13 +4372,13 @@
   /* This function was introduced when the test for duplicate addresses that are
   not pipes, files, or autoreplies was moved from the middle of routing to when
   routing was complete. That was to fix obscure cases when the routing history
  -affects the subsequent routing of identical addresses.
  +affects the subsequent routing of identical addresses. This function is called
  +after routing, to check that the final routed addresses are not duplicates.


-This function is called after routing, to check that the final routed addresses
-are not duplicates. If we detect a duplicate, we remember what it is a
-duplicate of. Note that pipe, file, and autoreply de-duplication is handled
-during routing, so we must leave such "addresses" alone here, as otherwise they
-will incorrectly be discarded.
+If we detect a duplicate, we remember what it is a duplicate of. Note that
+pipe, file, and autoreply de-duplication is handled during routing, so we must
+leave such "addresses" alone here, as otherwise they will incorrectly be
+discarded.

   Argument:     address of list anchor
   Returns:      nothing


  Index: verify.c
  ===================================================================
  RCS file: /home/cvs/exim/exim-src/src/verify.c,v
  retrieving revision 1.36
  retrieving revision 1.37
  diff -u -r1.36 -r1.37
  --- verify.c    4 Apr 2006 11:18:31 -0000    1.36
  +++ verify.c    30 Jun 2006 15:36:08 -0000    1.37
  @@ -1,4 +1,4 @@
  -/* $Cambridge: exim/exim-src/src/verify.c,v 1.36 2006/04/04 11:18:31 ph10 Exp $ */
  +/* $Cambridge: exim/exim-src/src/verify.c,v 1.37 2006/06/30 15:36:08 ph10 Exp $ */


   /*************************************************
   *     Exim - an Internet mail transport agent    *
  @@ -1262,9 +1262,12 @@
   discarded, usually because of the use of :blackhole: in an alias file. */


   if (allok && addr_local == NULL && addr_remote == NULL)
  +  {
     fprintf(f, "mail to %s is discarded\n", address);
  +  return yield;
  +  }


  -else for (addr_list = addr_local, i = 0; i < 2; addr_list = addr_remote, i++)
  +for (addr_list = addr_local, i = 0; i < 2; addr_list = addr_remote, i++)
     {
     while (addr_list != NULL)
       {
  @@ -1277,6 +1280,19 @@
       if(addr->p.srs_sender)
         fprintf(f, "    [srs = %s]", addr->p.srs_sender);
   #endif
  +
  +    /* If the address is a duplicate, show something about it. */
  +
  +    if (!testflag(addr, af_pfr))
  +      {
  +      tree_node *tnode;
  +      if ((tnode = tree_search(tree_duplicates, addr->unique)) != NULL)
  +        fprintf(f, "   [duplicate, would not be delivered]");
  +      else tree_add_duplicate(addr->unique, addr);
  +      }
  +
  +    /* Now show its parents */
  +
       while (p != NULL)
         {
         fprintf(f, "\n    <-- %s", p->address);


  Index: 0104
  ===================================================================
  RCS file: /home/cvs/exim/exim-test/stdout/0104,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- 0104    7 Feb 2006 10:47:37 -0000    1.1
  +++ 0104    30 Jun 2006 15:36:08 -0000    1.2
  @@ -1,6 +1,6 @@
   xxx@???
     router = all, transport = appendfile
  -xxx@???
  +xxx@???   [duplicate, would not be delivered]
     router = all, transport = appendfile
  -xxx@???
  +xxx@???   [duplicate, would not be delivered]
     router = all, transport = appendfile


  Index: 0291
  ===================================================================
  RCS file: /home/cvs/exim/exim-test/stdout/0291,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- 0291    7 Feb 2006 10:47:37 -0000    1.1
  +++ 0291    30 Jun 2006 15:36:08 -0000    1.2
  @@ -2,7 +2,7 @@
       <-- b@one
       <-- a@one
     router = accept, transport = unset
  -c@one
  +c@one   [duplicate, would not be delivered]
       <-- b@one
     router = accept, transport = unset
   b@two