[Exim] $domain_data sometimes unavailable during callout?

Top Page
Delete this message
Reply to this message
Author: David Woodhouse
Date:  
To: exim-users
Subject: [Exim] $domain_data sometimes unavailable during callout?
I have a router basically as follows, and was advised that I could use
$domain_data instead of $address_data in it. However it didn't work
during callouts.

The important part of the router is:

domainlist dns_virtual_domains = lsearch;CONFDIR/dns-virtual-domains

dns_virtual_domains:
domains = +dns_virtual_domains
address_data = ${lookup{$domain}lsearch{CONFDIR/dns-virtual-domains}}

I do two recipient verifications in my ACL -- one without a callout, and
the second with a callout, under certain circumstances. I find that the
first routing attempt sets $domain_data OK and everything works, but on
the _second_ I see $domain_data is NULL.

Full working config at http://www.infradead.org/~dwmw2/eximconf

Test logs with working ($address_data) and non-working ($domain_data)
at http://www.infradead.org/~dwmw2/address and
http://www.infradead.org/~dwmw2/domain respectively. Yes, I _did_
remember to replace _all_ instances of $address_data with $domain_data.

This is the important part when it fails...

    --------> dns_virtual_domains router <--------
    local_part=asdasd domain=infradead.org
    checking domains
    cached yes match for +dns_virtual_domains
    cached lookup data = NULL


Yet the cached lookup data should be 'infradead.org.mail' and indeed was
earlier in the same log.

--
dwmw2