diff --git a/CHANGES b/CHANGES index 9b3a9ae5c6..bfbe6504c6 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 4df1b66032..1891a5835e 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 {