From: Andreas Gustafsson Date: Tue, 12 Sep 2000 19:16:00 +0000 (+0000) Subject: pullup: X-Git-Tag: v9.0.0rc6~10 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=ec2d44c7cd84f9703fb018692d3bfd4e92877d88;p=thirdparty%2Fbind9.git pullup: 441. [bug] Nodes obscured by a DNAME were inaccessible even when DNS_DBFIND_GLUEOK was set. --- diff --git a/CHANGES b/CHANGES index 9b3a9ae5c68..bfbe6504c62 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,9 @@ 442. [bug] TSIG signed messages that did not match any view crashed the server. [RT #290] + 441. [bug] Nodes obscured by a DNAME were inaccessible even + when DNS_DBFIND_GLUEOK was set. + 436. [bug] If recvmsg() returned EHOSTUNREACH or ENETUNREACH, which sometimes happens on Linux, named would enter a busy loop. Also, unexpected socket errors were diff --git a/lib/dns/rbtdb.c b/lib/dns/rbtdb.c index 4df1b66032c..1891a5835e0 100644 --- a/lib/dns/rbtdb.c +++ b/lib/dns/rbtdb.c @@ -15,7 +15,7 @@ * SOFTWARE. */ -/* $Id: rbtdb.c,v 1.108.2.2 2000/09/12 19:14:20 gson Exp $ */ +/* $Id: rbtdb.c,v 1.108.2.3 2000/09/12 19:16:00 gson Exp $ */ /* * Principal Author: Bob Halley @@ -1083,24 +1083,11 @@ zone_zonecut_callback(dns_rbtnode_t *node, dns_name_t *name, void *arg) { * may clear search->wild. */ search->wild = ISC_FALSE; - if (found->type == dns_rdatatype_dname) { - /* - * Finding a DNAME stops all further searching. - * - * Note: We return DNS_R_PARTIALMATCH instead of - * DNS_R_DNAME here because that way zone_find() - * does fewer result code comparisions. - */ - result = DNS_R_PARTIALMATCH; - } else if ((search->options & DNS_DBFIND_GLUEOK) == 0) { + if ((search->options & DNS_DBFIND_GLUEOK) == 0) { /* * If the caller does not want to find glue, then * this is the best answer and the search should * stop now. - * - * Note: We return DNS_R_PARTIALMATCH instead of - * DNS_R_DELEGATION here because that way zone_find() - * does fewer result code comparisions. */ result = DNS_R_PARTIALMATCH; } else {