RE: [Exim] DNS problem with Exim 4.20 under RedHat-9

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Stanier, Alan M
CC: exim-users
Subject: RE: [Exim] DNS problem with Exim 4.20 under RedHat-9
On Mon, 22 Sep 2003, Stanier, Alan M wrote:

> So, 4.05 didn't do a DNS lookup, 4.20 did, and failed.


That's the clue. These are the relevant changes, from 4.11, I suspect:

89. When a host was looked up using gethostbyname() (or the more recent
    getipnodebyname() on IPv6 systems), Exim was not inspecting the error code
    on failure. Thus, any failure was treated as "host not found". Exim now
    checks for temporary errors, so the behaviour of "byname" and "bydns"
    lookups in this respect should be the same. However, on some OS it has been
    observed that getipnodebyname() gives HOST_NOT_FOUND for names for which a
    DNS lookup gives TRY_AGAIN. See also change 125 below.


125. Changed the default way of finding an IP address in both the manualroute
     and queryprogram routers. Exim now does a DNS lookup; if that yields
     HOST_NOT_FOUND, it tries calling getipnodebyname() (or gethostbyname()).
     See also change 89 above.


In 4.05, as there's no DNS lookup, Exim just used gethostbyname, and it
must have found the host in your /etc/hosts file.

Interesting, though, that your debug shows that when the DNS lookup
failed for 4.20, it tried getipnodebyname, and that then failed.

Have you upgraded your OS between building 4.05 and 4.20? Have you added
IPv6 support to Exim? I'm wondering if 4.05 is using gethostbyname() and
4.20 is using getipnodebyname(), and these are behaving differently.

One thing you can try is adding "byname" to the manualroute
configuration, to avoid doing the DNS lookup.

Philip

--
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