glibc: another patch for the DNS resolver (Arch).

This commit is contained in:
Juan RP 2011-08-12 10:22:10 +02:00
parent a2902a08ad
commit 75b36814a2
3 changed files with 37 additions and 23 deletions

View file

@ -1,22 +0,0 @@
diff --git a/resolv/res_send.c b/resolv/res_send.c
index 97142b7..a001c1e 100644
--- resolv/res_send.c
+++ resolv/res_send.c
@@ -549,7 +549,7 @@ __libc_res_nsend(res_state statp, const u_char *buf, int buflen,
ns, ansp, ansp2, nansp2, resplen2);
if (n < 0)
return (-1);
- if (n == 0 && (buf2 == NULL || resplen2 == 0))
+ if (n == 0 && (buf2 == NULL || *resplen2 == 0))
goto next_ns;
} else {
/* Use datagrams. */
@@ -559,7 +559,7 @@ __libc_res_nsend(res_state statp, const u_char *buf, int buflen,
ansp2, nansp2, resplen2);
if (n < 0)
return (-1);
- if (n == 0 && (buf2 == NULL || resplen2 == 0))
+ if (n == 0 && (buf2 == NULL || *resplen2 == 0))
goto next_ns;
if (v_circuit)
// XXX Check whether both requests failed or

View file

@ -0,0 +1,36 @@
--- resolv/res_send.c 2011-06-10 18:59:03.041436996 +1000
+++ resolv/res_send.c 2011-06-10 19:08:09.379309323 +1000
@@ -549,7 +549,7 @@
ns, ansp, ansp2, nansp2, resplen2);
if (n < 0)
return (-1);
- if (n == 0 && (buf2 == NULL || resplen2 == 0))
+ if (n == 0)
goto next_ns;
} else {
/* Use datagrams. */
@@ -559,7 +559,7 @@
ansp2, nansp2, resplen2);
if (n < 0)
return (-1);
- if (n == 0 && (buf2 == NULL || resplen2 == 0))
+ if (n == 0)
goto next_ns;
if (v_circuit)
// XXX Check whether both requests failed or
@@ -1275,14 +1275,10 @@
(*thisresplenp > *thisanssizp)
? *thisanssizp : *thisresplenp);
- if (recvresp1 || (buf2 != NULL && recvresp2)) {
- *resplen2 = 0;
+ if (recvresp1 || (buf2 != NULL && recvresp2))
return resplen;
- }
if (buf2 != NULL)
{
- /* No data from the first reply. */
- resplen = 0;
/* We are waiting for a possible second reply. */
if (hp->id == anhp->id)
recvresp1 = 1;

View file

@ -1,7 +1,7 @@
# Template file for 'glibc'
pkgname=glibc
version=2.14
revision=4
revision=5
distfiles="http://ftp.gnu.org/gnu/glibc/glibc-${version}.tar.bz2"
build_style=custom-install
short_desc="The GNU C library"