Article delegate-en/3198 of [1-5169] on the server localhost:119
  upper oldest olders older1 this newer1 newers latest
search
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
[Reference:<_A3197@delegate-en.ML_>]
Newsgroups: mail-lists.delegate-en

[DeleGate-En] Re: Delegate: Invalid DNS name causes infinite loop
24 Apr 2006 08:39:02 GMT feedback@delegate.org (Yutaka Sato)
The DeleGate Project


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
<URL:ftp://ftp.delegate.org/pub/DeleGate/alpha/>

Cheers,
Yutaka
--
  D G   Yutaka Sato <y.sato@delegate.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

  admin search upper oldest olders older1 this newer1 newers latest
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
@_@V