1800. [bug] Changes #1719 allowed a INSIST to be triggered.
[RT #13428]
-1799. [placeholder] rt13438
+1799. [bug] 'rndc flushname' failed to flush negative cache
+ entries. [RT #13438]
1798. [func] The server syntax has been extended to support a
range of servers. [RT #11132]
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: cache.c,v 1.57 2004/03/05 05:09:18 marka Exp $ */
+/* $Id: cache.c,v 1.58 2005/03/15 02:48:58 marka Exp $ */
#include <config.h>
dns_rdataset_init(&rdataset);
dns_rdatasetiter_current(iter, &rdataset);
-
- for (result = dns_rdataset_first(&rdataset);
- result == ISC_R_SUCCESS;
- result = dns_rdataset_next(&rdataset))
- {
- dns_rdata_t rdata = DNS_RDATA_INIT;
- dns_rdatatype_t covers;
-
- dns_rdataset_current(&rdataset, &rdata);
- if (rdata.type == dns_rdatatype_rrsig)
- covers = dns_rdata_covers(&rdata);
- else
- covers = 0;
- result = dns_db_deleterdataset(cache->db, node, NULL,
- rdata.type, covers);
- if (result != ISC_R_SUCCESS &&
- result != DNS_R_UNCHANGED)
- break;
- }
+ result = dns_db_deleterdataset(cache->db, node, NULL,
+ rdataset.type, rdataset.covers);
dns_rdataset_disassociate(&rdataset);
- if (result != ISC_R_NOMORE)
+ if (result != ISC_R_SUCCESS && result != DNS_R_UNCHANGED)
break;
}
if (result == ISC_R_NOMORE)