[exim] Odd resolver issue, I think

Top Page
Delete this message
Reply to this message
Author: Jethro R Binks
Date:  
To: exim-users
Subject: [exim] Odd resolver issue, I think
Hello esteemed colleagues,

I'm looking at an issue receiving messages from one particular site.
Exim is refusing to accept the message, after the incoming connection
fails a reverse lookup test. The site claims they sometimes get this
problem sending to other sites, but ours is most prevalent.

As far as I can see from debugging, the resolver is behaving strangely,
but I do not understand why, and I know there are cleverer minds here.

OS is FreeBSD 7.2 on these hosts, in case that's relevant.

Here's some of the exim debugging output when I fake a session with exim
-bh:

DNS lookup of 5.131.80.194.in-addr.arpa (PTR) succeeded
IP address lookup yielded uwrz46.wales.ac.uk
alias ezproxy.wales.ac.uk
alias ezproxy2.wales.ac.uk
alias *.test.wales.ac.uk
alias *.ezproxy.wales.ac.uk
alias *.ezproxy2.wales.ac.uk
alias test.wales.ac.uk
alias cymru.ac.uk
alias wales.ac.uk
alias uwrz05.cymru.ac.uk
alias uwrz15.wales.ac.uk
alias uwrz46.cymru.ac.uk
gethostbyname2(af=inet6) returned 4 (NO_DATA)
gethostbyname2 looked up these IP addresses:
name=uwrz46.wales.ac.uk address=194.80.131.5
checking addresses for uwrz46.wales.ac.uk
194.80.131.5 OK
gethostbyname2(af=inet6) returned 4 (NO_DATA)
gethostbyname2 looked up these IP addresses:
name=ezproxy.wales.ac.uk address=194.80.131.5
checking addresses for ezproxy.wales.ac.uk
194.80.131.5 OK
gethostbyname2(af=inet6) returned 4 (NO_DATA)
gethostbyname2 looked up these IP addresses:
name=ezproxy2.wales.ac.uk address=194.80.131.5
checking addresses for ezproxy2.wales.ac.uk
194.80.131.5 OK
gethostbyname2(af=inet6) returned 4 (NO_DATA)
gethostbyname2(af=inet) returned 3 (NO_RECOVERY)
no IP address found for host *.test.wales.ac.uk (during SMTP connection
from [194.80.131.5])
*.test.wales.ac.uk in dns_again_means_nonexist? no (option unset)
temporary error for host name lookup

Cranking debugging a bit higher:

;; res_nquerydomain(*.test.wales.ac.uk, <Nil>, 1, 1)
;; res_query(*.test.wales.ac.uk, 1, 1)
;; res_nmkquery(QUERY, *.test.wales.ac.uk, IN, A)
;; res_send()
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53692
;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;;      *.test.wales.ac.uk, type = A, class = IN
;; Querying server (# 1) address = 127.0.0.1
;; new DG socket
;; got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53692
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;;      *.test.wales.ac.uk, type = A, class = IN
*.test.wales.ac.uk.     41m45s IN A     194.80.131.5
wales.ac.uk.            14h54m59s IN NS  uwrz02.wales.ac.uk.
wales.ac.uk.            14h54m59s IN NS  uwrz04.wales.ac.uk.
uwrz02.wales.ac.uk.     41m45s IN A     194.80.131.2
uwrz04.wales.ac.uk.     41m45s IN A     194.80.131.6
10:39:58 23259 gethostbyname2(af=inet) returned 3 (NO_RECOVERY)


So an answer is returned, but for some reason the name lookup library
function returns NO_RECOVERY, which exim then interprets as a failure.

Can anyone explain this behaviour?

Ta,

Jethro.

. . . . . . . . . . . . . . . . . . . . . . . . .
Jethro R Binks, Network Manager,
Information Services Directorate, University Of Strathclyde, Glasgow, UK

The University of Strathclyde is a charitable body, registered in
Scotland, number SC015263.