+2079. [bug] The lame cache was not handling multiple types
+ correctly. [RT #16361]
+
2078. [bug] dnssec-checkzone output style "default" was badly
named. It is now called "relative". [RT #16326]
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: adb.c,v 1.226 2005/11/30 03:33:48 marka Exp $ */
+/* $Id: adb.c,v 1.227 2006/08/30 23:09:18 marka Exp $ */
/*! \file
*
/*
* Order tests from least to most expensive.
+ *
+ * We do not break out of the main loop here as
+ * we use the loop for house keeping.
*/
- if (li != NULL && !is_bad) {
- if (li->qtype == qtype &&
- dns_name_equal(qname, &li->qname))
- is_bad = ISC_TRUE;
- }
+ if (li != NULL && !is_bad && li->qtype == qtype &&
+ dns_name_equal(qname, &li->qname))
+ is_bad = ISC_TRUE;
li = next_li;
}
bucket = addr->entry->lock_bucket;
LOCK(&adb->entrylocks[bucket]);
li = ISC_LIST_HEAD(addr->entry->lameinfo);
- while (li != NULL && li->qtype != qtype &&
- !dns_name_equal(qname, &li->qname))
+ while (li != NULL &&
+ (li->qtype != qtype || !dns_name_equal(qname, &li->qname)))
li = ISC_LIST_NEXT(li, plink);
if (li != NULL) {
if (expire_time > li->lame_timer)
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: resolver.c,v 1.333 2006/08/22 06:11:19 marka Exp $ */
+/* $Id: resolver.c,v 1.334 2006/08/30 23:09:18 marka Exp $ */
/*! \file */
is_lame(fctx)) {
log_lame(fctx, query->addrinfo);
result = dns_adb_marklame(fctx->adb, query->addrinfo,
- &fctx->domain, fctx->type,
+ &fctx->name, fctx->type,
now + fctx->res->lame_ttl);
if (result != ISC_R_SUCCESS)
isc_log_write(dns_lctx, DNS_LOGCATEGORY_RESOLVER,