Re: [exim] Does not properly expand host name in verificatio…

Top Page
Delete this message
Reply to this message
Author: Magnus Holmgren
Date:  
To: exim-users
Subject: Re: [exim] Does not properly expand host name in verification
On Thursday 21 September 2006 14:33, Marc Haber took the opportunity to say:
> Hi,
>
> When I have a bare host name like "torres" as a smarthost,
> verification fails ("lookup of host "torres" failed in smarthost
> router"). I can, however, deliver e-mail through the router, since
> zugschlus.de is listed as search domain in /etc/resolv.conf and
> torres.zugschlus.de exists.
> [...]
> Looks like exim is not properly honoring the search domains when doing
> verification, but it is doing fine when actually routing.
>
> Is this an exim bug, or am I doing something wrong?


When I try, the lookup fails both when verifying and actually delivering.
Maybe dns_init() is never called in your case. In most cases it is called as
dns_init(FALSE, FALSE), which turns off RES_DEFNAMES (qualify unqualified
names) and RES_DNSRCH (search parents), but host_find_bydns() calls it with
the arguments set according to its whichrrs parameter.

manualroute_router_entry() calls rf_lookup_hostlist(), which in turn uses
host_find_byname() or host_find_bydns() depending on the options in the
routing list. In the case of bydns, rf_lookup_hostlist() calls
host_find_bydns() with the beforementioned flags in whichrrs unset, so in
that case the lookup always fails. But host_find_byname() doesn't call
dns_init() at all; thus the resolver uses the old options, whatever they may
be. That is probably a bug.

I don't know Phil's intentions, but it looks like you're supposed to use
qualified names with the manualroute router.

-- 
Magnus Holmgren        holmgren@???
                       (No Cc of list mail needed, thanks)