summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2009-07-26 12:16:24 -0700
committerUlrich Drepper <drepper@redhat.com>2009-07-26 12:16:24 -0700
commite28b969b49811a30887e7a252ac1804a055fe297 (patch)
tree04c74c2225e9e86f0cfbf856143a87a5e0d6abdb
parent889f847e4a031e620cfd89c8bc6f6ae919caf200 (diff)
downloadglibc-e28b969b49811a30887e7a252ac1804a055fe297.tar.gz
glibc-e28b969b49811a30887e7a252ac1804a055fe297.tar.xz
glibc-e28b969b49811a30887e7a252ac1804a055fe297.zip
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.
-rw-r--r--ChangeLog4
-rw-r--r--resolv/res_send.c6
2 files changed, 5 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index a49ccbfc97..977f0f8936 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +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.
+
 	* elf/elf.h: Define NT_GNU_GOLD_VERSION.
 
 2009-07-25  Ulrich Drepper  <drepper@redhat.com>
diff --git a/resolv/res_send.c b/resolv/res_send.c
index 971a4afb6f..4c14db1bf5 100644
--- a/resolv/res_send.c
+++ b/resolv/res_send.c
@@ -1278,14 +1278,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