On Sat, 3 Aug 2002, Brian Candler wrote:
> (1) Section 11.4 says about $h_xxx expansions:
>
> "Only header lines that are common to all copies of a message are visible to
> this mechanism. These are the original header lines that are received with
> the message, and any that are added by a system filter. Header lines that
> are added to a particular copy of a message by a router or transport are not
> accessible."
>
> It doesn't mention headers added by the 'warn' verb of ACLs - maybe it
> should. I presume they _are_ visible via this mechanism, since section 37.6
> says:
Yes, it should mention headers added by ACLs. Thanks.
> (and therefore presumably later too). But what about RCPT ACL invocations
> for subsequent recipients of this same message? Can they see the headers
> added by a previous RCPT?
No. You can't see any headers during RCPT. The reason is that the
memory structure for holding headers doesn't get created until the DATA
phase is reached. (This is, I guess, basically because of the way the
code developed from Exim 3, rather than for any fundamental reason.)
> (2) Section 37.6 says of the 'warn' verb:
>
> "If the same header line is requested several times (provoked, for example,
> by multiple RCPT commands), only one copy is actually added to the message."
>
> Does that mean two different instances of the same header, or two exactly
> identical headers? For example, if the first recipient adds warn message
Two exactly identical headers, character for character.
> X-Spam-Threshold: 5
>
> and the second adds
>
> X-Spam-Threshold: 10
>
> will I get both headers ($h_x-spam-threshold = "5\n10"), or just the first
> one?
Both (and probably in that order, though I don't specify that). I'll
change "the same" to "an identical".
> Finally, I think this is fairly clear, but I just want to confirm: the
> headers_add option of routers does _not_ have any effect when a router is
> being used for address verification?
Correct.
Philip
--
Philip Hazel University of Cambridge Computing Service,
ph10@??? Cambridge, England. Phone: +44 1223 334714.