[Bug 3637] New: getaddrinfo does NOT add domain to query when receive SERVFAIL

bugzilla at busybox.net bugzilla at busybox.net
Sun Apr 17 07:21:15 UTC 2011


https://bugs.busybox.net/show_bug.cgi?id=3637

           Summary: getaddrinfo does NOT add domain to query when receive
                    SERVFAIL
           Product: uClibc
           Version: 0.9.32
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P5
         Component: Networking
        AssignedTo: unassigned at uclibc.org
        ReportedBy: aka at pxe.ru
                CC: uclibc-cvs at uclibc.org
   Estimated Hours: 0.0


Created attachment 3223
  --> https://bugs.busybox.net/attachment.cgi?id=3223
Sniff from wireshark

--- resolv.conf ---
nameserver 195.144.192.60
domain Legion-Group.local
-------------------

Command: ping dc

Sniff domain.pcap: 1-4 packets. Query "dc", got NXDOMAIN, query
"dc.Legion-Group.local". Unix bind at 195.144.192.60, right behaviour.


Ok, next test:

--- resolv.conf ---
nameserver 10.100.50.75
domain Legion-Group.local
-------------------

Command: ping dc

Sniff: 5-10 packets. Microsoft DNS at 10.100.50.75 (domain controller for
Legion-Group.local) return SERVFAIL. Query "dc", got SERVFAIL, query "dc"
again.

Bug: resolv.c does NOT add domain to query when receive SERVFAIL.

Trivial patch to libc/inet/resolv.c:

--- resolv.c-0.9.32-rc3-next    2011-04-16 13:29:51.000000000 +0000
+++ resolv.c    2011-04-16 14:34:09.000000000 +0000
@@ -1461,7 +1461,7 @@
         /* bug 660 says we treat negative response as an error
          * and retry, which is, eh, an error. :)
          * We were incurring long delays because of this. */
-        if (h.rcode == NXDOMAIN) {
+        if (h.rcode == NXDOMAIN || h.rcode == SERVFAIL) {
             /* if possible, try next search domain */
             if (!ends_with_dot) {
                 DPRINTF("variant:%d sdomains:%d\n", variant, sdomains);

-- 
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


More information about the uClibc-cvs mailing list