Re: [exim] Re: Bug in Exim - duplicating messages

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Russell Stuart
CC: exim-users
New-Topics: 4.51?, WAS: Re: [exim] Re: Bug in Exim - duplicating messages
Subject: Re: [exim] Re: Bug in Exim - duplicating messages
On Sun, 27 Feb 2005, Russell Stuart wrote:

> Well, it did fix the original problem, but it also introduced a new
> one. Hopefully the patch below does the job properly. No doubt
> others will review this code - if you find a problem let me know as
> I have deployed it!


I have now got round to reviewing it, and checking out the
circumstances. It turns out that it is in fact a bug in a fix for a
previous problem (ChangeLog 4.11/85). It also turns out that there is a
neater patch than the one you posted (it doesn't produce any debugging
output, however). I'll copy it below (for 4.50).

Thanks for the diagnosis. It made my job a lot easier.

Philip

-- 
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.



*** exim-4.50/src/deliver.c Thu Feb 17 14:49:11 2005
--- deliver.c    Tue Mar 15 12:27:54 2005
***************
*** 2080,2085 ****
--- 2080,2086 ----
      same characteristics. These are:


        same transport
+       not previously delivered (see comment about 50 lines above)
        same local part if the transport's configuration contains $local_part
        same domain if the transport's configuration contains $domain
        same errors address
***************
*** 2093,2098 ****
--- 2094,2100 ----
        {
        BOOL ok =
          tp == next->transport &&
+         !previously_transported(next) &&
          (!uses_lp  || Ustrcmp(next->local_part, addr->local_part) == 0) &&
          (!uses_dom || Ustrcmp(next->domain, addr->domain) == 0) &&
          same_strings(next->p.errors_address, addr->p.errors_address) &&