summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2009-07-26 12:16:24 -0700
committerAndreas Schwab <schwab@redhat.com>2009-07-29 11:19:39 +0200
commitb1cd3047ad1b119e09f26d0408f5232281431e8d (patch)
treef72854f7e4ae17ce1c75cbdb38a943bfa38e8665
parent87b8eeddb0972dc3cd7cbee1890cbc632dc38e40 (diff)
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)
-rw-r--r--ChangeLog6
-rw-r--r--resolv/res_send.c6
2 files changed, 7 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 508c0defae..7c04deedbf 100644
--- 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
diff --git a/resolv/res_send.c b/resolv/res_send.c
index 39c69da2bc..b7ec2adda5 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