On 7/30/18 3:40 AM, Alexey Brodkin wrote: > Some proxy DNS servers might not resolve IPv6 names to addresses. > Instead they reply with NOERROR while passing no real data. > That combination of NOERROR and EAI_NODATA happen because the DNS > server has a recored for requested name (example.net in our case) > but that record is not of AAAA type which was requested. > > That's what Wireshark sees in that case: > ---------------------------------->8----------------------------- > Domain Name System (response) > Transaction ID: 0x6e2e > Flags: 0x8180 Standard query response, No error > 1... .... .... .... = Response: Message is a response > .000 0... .... .... = Opcode: Standard query (0) > .... .0.. .... .... = Authoritative: Server is not an authority for domain > .... ..0. .... .... = Truncated: Message is not truncated > .... ...1 .... .... = Recursion desired: Do query recursively > .... .... 1... .... = Recursion available: Server can do recursive queries > .... .... .0.. .... = Z: reserved (0) > .... .... ..0. .... = Answer authenticated: Answer/authority portion was not authenticated by the server > .... .... ...0 .... = Non-authenticated data: Unacceptable > .... .... .... 0000 = Reply code: No error (0) > Questions: 1 > Answer RRs: 0 > Authority RRs: 0 > Additional RRs: 0 > Queries > example.net: type AAAA, class IN > Name: example.net > [Name Length: 11] > [Label Count: 2] > Type: AAAA (IPv6 Address) (28) > Class: IN (0x0001) > ---------------------------------->8----------------------------- > > And that's what we see if Google DNS server (8.8.8.8) is used instead: > ---------------------------------->8----------------------------- > Domain Name System (response) > Transaction ID: 0x3cd4 > Flags: 0x8180 Standard query response, No error > 1... .... .... .... = Response: Message is a response > .000 0... .... .... = Opcode: Standard query (0) > .... .0.. .... .... = Authoritative: Server is not an authority for domain > .... ..0. .... .... = Truncated: Message is not truncated > .... ...1 .... .... = Recursion desired: Do query recursively > .... .... 1... .... = Recursion available: Server can do recursive queries > .... .... .0.. .... = Z: reserved (0) > .... .... ..0. .... = Answer authenticated: Answer/authority portion was not authenticated by the server > .... .... ...0 .... = Non-authenticated data: Unacceptable > .... .... .... 0000 = Reply code: No error (0) > Questions: 1 > Answer RRs: 1 > Authority RRs: 0 > Additional RRs: 0 > Queries > example.net: type AAAA, class IN > Name: example.net > [Name Length: 11] > [Label Count: 2] > Type: AAAA (IPv6 Address) (28) > Class: IN (0x0001) > Answers > example.net: type AAAA, class IN, addr 2606:2800:220:1:248:1893:25c8:1946 > ---------------------------------->8----------------------------- > --- > posix/tst-getaddrinfo4.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/posix/tst-getaddrinfo4.c b/posix/tst-getaddrinfo4.c > index dc9e423448af..0139dee777a1 100644 > --- a/posix/tst-getaddrinfo4.c > +++ b/posix/tst-getaddrinfo4.c > @@ -39,6 +39,7 @@ try (const char *service, int family, int flags) > case 0: > case EAI_AGAIN: > case EAI_NONAME: > + case EAI_NODATA: > printf ("SUCCESS getaddrinfo(service=%s, family=%d, flags=%d): %s: %m\n", > service ?: "NULL", family, flags, gai_strerror (res)); > return 0; > Ping ! _______________________________________________ linux-snps-arc mailing list linux-snps-arc@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/linux-snps-arc