]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Handle SERVFAIL, NOTIMP, REFUSED replies from DNS server better.
authorUlrich Drepper <drepper@redhat.com>
Sun, 26 Jul 2009 19:16:24 +0000 (12:16 -0700)
committerAndreas Schwab <schwab@redhat.com>
Wed, 29 Jul 2009 09:19:39 +0000 (11:19 +0200)
When doing IPv4+6 lookups we have to pass up the error record from
send_dg.
(cherry picked from commit e28b969b49811a30887e7a252ac1804a055fe297)

ChangeLog
resolv/res_send.c

index 508c0defaedd9ce812106280d6edfdc6c247c099..7c04deedbf3ee3104b22df60b7532623152eb34b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-07-26  Ulrich Drepper  <drepper@redhat.com>
+
+       [BZ #10452]
+       * resolv/res_send.c (send_dg): Pass full SERVFAIL, NOTIMP, REFUSED
+       replies up.
+
 2009-07-16  Ulrich Drepper  <drepper@redhat.com>
 
        * nscd/cache.c (cache_add): Use atomic_compare_and_exchange_bool_rel
index 39c69da2bcc8e9713306bf565df312cc4b3d2dd4..b7ec2adda526401e52cd2ed6b147bc789ec540b8 100644 (file)
@@ -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