Re: [Exim] strange effect of incorrect header_remove router …

Αρχική Σελίδα
Delete this message
Reply to this message
Συντάκτης: Philip Hazel
Ημερομηνία:  
Προς: Lutz Pressler
Υ/ο: exim-users
Αντικείμενο: Re: [Exim] strange effect of incorrect header_remove router option (bug?)
On Thu, 29 Apr 2004, Lutz Pressler wrote:

> headers_remove
> [...]
> After expansion, the string must consist of a colon-separated list of
> header names, not including the terminating colon, for example:
>
> And yes, the terminating colon does make a difference, a very subtle one.
>
> When only one router is involved, it works as intended nevertheless.
> The X-Route-Via header is removed when the message leaves exim.
>
> But - if two routers with headers_remove = "X-Route-Via:" are
> "passed" (e.g. because of an alias file), the headers stays in
> the message..


I see how this happens. The two strings from the two routers are
combined, with a separating colon. Thus, if one router specifies "a:b:c"
and the second specifies "d:e:f", what the transport sees is
"a:b:c:d:e:f". In your bad case, what the transport sees is
"X-Route-Via::X-Route-Via:". Oops. That double colon in the middle will
be interpreted as a data colon.

This is trivially fixed, of course. However it is too late for 4.33,
which I have just frozen.

Thanks for the report.

--
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