In message <_A3197@delegate-en.ML_> on 04/24/06(07:43:15) I wrote:
|It makes the loop because of you setup the loop as you described.
| query1 -> DeleGate -> query2 -> DeleGate -> ...
|I can reproduce the loop it as this:
| (setting 127.0.0.1 as the DNS server of the Windows host)
| > delegated -P53 SERVER=dns RESOLV=dns
| > nslookup _.a 127.0.0.1
|This query2 is issued by inet_pton() function which has come to be used
|in DeleGate/9.X to cope with IPv6.
|In this case, DeleGate uses inet_pton() just to test whether or not
|the given character string is an address or not. But the strange
|implementation of inet_pton() in WinSock issues a DNS query fot it,
|maybe when the string is not the dot-notation of IPv4 address.
|In this case, the DNS server is DeleGate itself, so loop starts.
|I think it should be solved by a modification not to use inet_pton() of
|WinSock, to escape issueing unnecessary DNS query by DeleGate which can
|occur in other than a DeleGate as a DNS server too.
The inet_pton() of WinSock seems to issue DNS query when the given
string contains a character which should not appear in an address.
So filtering such ones before inet_pton() will be effective.
I did it in 9.2.0-pre8 and uploaded it to
D G Yutaka Sato <firstname.lastname@example.org> http://delegate.org/y.sato/
( - ) National Institute of Advanced Industrial Science and Technology
_< >_ 1-1-4 Umezono, Tsukuba, Ibaraki, 305-8568 Japan
Do the more with the less -- B. Fuller