Re: [exim] Bug in duplicate detection?

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Harald Schueler
CC: exim-users
New-Topics: Re: [exim] Bug in duplicate detection?
Subject: Re: [exim] Bug in duplicate detection?
On Tue, 18 Jan 2005, Harald Schueler wrote:

> The problem here is that after 2 routing steps the generated address list
> contains a duplicate address, but they are at different stages of processing,


Exim just isn't clever enough to handle that. It has just a single
global list of "addresses I've already handled" that is used to
eliminate duplicates as soon as they are generated. This is not
per-router.

> To put it simple, it looks to me as if the first address sets up a trap in the
> oldserver router, is then shot by duplicate elimination (but the trap
> survives) and then the winning incarnation of the adress falls into the trap.


The order of routing top-level and generated addresses is not specified,
so I expect that complicates things as well.

> As I said, I tried to invent a simpler configuration with this problem, but
> the ones that came to my mind were all real loops.


I will try to find time to look at and comment on your configuration,
but I cannot promise anything except that there will definitely NOT be
any change before the 4.50 release. Also, I may not have time before I
go away.

The whole area of handling duplicates is quite tricky, I seem to recall
from previous work on the routing code. The original premise was "if
this address has previously been routed, then routing it again will give
the same result". I suspect that the facilities that have been
subsquently added to Exim, such as header addition and the preservation
of $address_data and the like, may have broken the underlying
assumption. However, making any changes would amount to a complete
routing re-design, I suspect.


-- 
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.
Get the Exim 4 book:    http://www.uit.co.uk/exim-book