Re: [Exim] order of headers add

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Petr Cech
CC: EXIM users list
Subject: Re: [Exim] order of headers add
On Mon, 8 May 2000, Petr Cech wrote:

> Delivered-to: cech@???
> Delivered-to: g@???
> Delivered-to: f@???
> Delivered-to: e@???
>
> which is IMHO bad. This affects the whole section of directors, because new
> address is added at the start of extra_headers. I can see the reason, it's
> easier to code and faster too. But since I've needed it and it was a good
> exercise in understanding exim, I've done a patch to correct it.


Unfortunately, your patch does not always work. Try it out on a message
addressed to the local part "a" with an alias file like this:

a: b, bb
b: c
bb: e
c: d
d: ph10
e: mug99

where ph10 and mu99 are local users. You will find that the delivery to
mug99 contains

X-Delivered-To: a@???
X-Delivered-To: bb@???
X-Delivered-To: b@???
X-Delivered-To: e@???
X-Delivered-To: c@???
X-Delivered-To: mug99@???
X-Delivered-To: d@???
X-Delivered-To: ph10@???

This is because, if there is a tree of addresses generated from one
original, they share the lists of added headers by pointing back to
them. So if you build the lists by adding on the end, they all get
amalgamated.

I have solved the problem in my testing version, by modifying the code
that outputs the headers to do so in reverse order. That was the least
disturbance.


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