On Fri, 21 Jan 2005, Marc Sherman wrote:
> > If any condition on a warn statement cannot be completed (that is,
> > there is some sort of defer), no header is added and the configured
> > log line is not written. No further conditions or modifiers in the
> > warn statement are processed. The incident is logged, but the ACL
> > continues to be processed, from the next statement onwards.
>
> So if the ACL contains:
>
> warn message = X-Broken-Reverse-DNS: Ulch, this IP address is tainted
> !verify = reverse_host_lookup
>
> and the reverse lookup defers, there's a log message, but no header is added.
> I'd like to be able to specify on a warn that a defer should be treated as a
> failure on the !verify (which I guess makes it a "success" as far as the warn
> is concerned, due to the !, right?) and add the header.
Somebody posted some magic a while back to show how you can detect
whether a lookup deferred. Something along the lines of
warn set acl_m0 = 0
verify = reverse_host_lookup
set acl_m0 = 1
In the next ACL statement, you test $acl_m0 and $host_lookup_failed. Or
something along those lines; I can't remember exactly. Anybody have a
reference to the posting?
--
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