Branching the discussion... On Tuesday 26 September 2006 16:33, Philip Hazel took the opportunity to say: > On Mon, 25 Sep 2006, Magnus Holmgren wrote: > > How much can be done without breaking backwards compatibility? I'm > > primarily thinking about what is visible when. How many configurations > > would break if headers_remove removed headers previously added by > > headers_add? > > My feeling is that quite a lot of configurations will break if/when the > header handling is rationalized, which is why I think it is an "Exim 5" > issue. However, I agree that it would be good to sort out the current > mess, which has been hacked up over the years and could well do with > rationalizing.
Presently, the accumulated header additions and deletions by routers and
transports are stored in the extra_headers and remove_headers fields of the
address_item_propagated struct, instead of copying the full headers, which
can be rather big, to each address_item. How about instead employing
copy-on-write to save space and copying time? address_item_propagated could
have a list of pointers to original and new header_line:s. The whole list of
pointers would still have to be copied, unless we use a second level of CoW.
--
Magnus Holmgren [EMAIL PROTECTED]
(No Cc of list mail needed, thanks)
pgpchDKPTx5gS.pgp
Description: PGP signature
-- ## List details at http://www.exim.org/mailman/listinfo/exim-users ## Exim details at http://www.exim.org/ ## Please use the Wiki with this list - http://www.exim.org/eximwiki/
