From: Ulrich Drepper Date: Sun, 26 Jul 2009 19:16:24 +0000 (-0700) Subject: Handle SERVFAIL, NOTIMP, REFUSED replies from DNS server better. X-Git-Tag: fedora/glibc-2.10.1-3~4^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b1cd3047ad1b119e09f26d0408f5232281431e8d;p=thirdparty%2Fglibc.git Handle SERVFAIL, NOTIMP, REFUSED replies from DNS server better. When doing IPv4+6 lookups we have to pass up the error record from send_dg. (cherry picked from commit e28b969b49811a30887e7a252ac1804a055fe297) --- diff --git a/ChangeLog b/ChangeLog index 508c0defaed..7c04deedbf3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2009-07-26 Ulrich Drepper + + [BZ #10452] + * resolv/res_send.c (send_dg): Pass full SERVFAIL, NOTIMP, REFUSED + replies up. + 2009-07-16 Ulrich Drepper * nscd/cache.c (cache_add): Use atomic_compare_and_exchange_bool_rel diff --git a/resolv/res_send.c b/resolv/res_send.c index 39c69da2bcc..b7ec2adda52 100644 --- a/resolv/res_send.c +++ b/resolv/res_send.c @@ -1255,14 +1255,10 @@ send_dg(res_state statp, ? *thisanssiz : *thisresplen); if (recvresp1 || (buf2 != NULL && recvresp2)) - { - *resplen2 = 1; - return resplen; - } + return resplen; if (buf2 != NULL) { /* We are waiting for a possible second reply. */ - resplen = 1; if (hp->id == anhp->id) recvresp1 = 1; else