From: Ulrich Drepper Date: Sat, 9 May 2009 16:12:41 +0000 (+0000) Subject: [BZ #10128] X-Git-Tag: cvs/fedora-glibc-20090509T1828~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cf4f16cc889a74002d471c26a7b21aab04a9b25d;p=thirdparty%2Fglibc.git [BZ #10128] 2009-05-05 Aurelien Jarno [BZ #10128] * resolv/res_query.c (__libc_res_nquery): If one query returns NOTIMP or FORMERR and the other NOERROR, don't raise an error. --- diff --git a/ChangeLog b/ChangeLog index 4dca208ceb6..e1316a0d4ea 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2009-05-05 Aurelien Jarno + + [BZ #10128] + * resolv/res_query.c (__libc_res_nquery): If one query returns NOTIMP + or FORMERR and the other NOERROR, don't raise an error. + 2009-05-06 Ryan S. Arnold [BZ #10118] diff --git a/resolv/res_query.c b/resolv/res_query.c index 6ac33ce64cc..9ffb3e36853 100644 --- a/resolv/res_query.c +++ b/resolv/res_query.c @@ -289,6 +289,13 @@ __libc_res_nquery(res_state statp, break; case FORMERR: case NOTIMP: + /* Servers must not reply to AAAA queries with + NOTIMP etc but some of them do. */ + if ((hp->rcode == NOERROR && ntohs (hp->ancount) != 0) + || (hp2->rcode == NOERROR + && ntohs (hp2->ancount) != 0)) + goto success; + /* FALLTHROUGH */ case REFUSED: default: RES_SET_H_ERRNO(statp, NO_RECOVERY);