mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-01 15:05:23 +00:00
1799. [bug] 'rndc flushname' failed to flush negative cache
entries. [RT #13438]
This commit is contained in:
3
CHANGES
3
CHANGES
@@ -74,7 +74,8 @@
|
|||||||
1800. [bug] Changes #1719 allowed a INSIST to be triggered.
|
1800. [bug] Changes #1719 allowed a INSIST to be triggered.
|
||||||
[RT #13428]
|
[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
|
1798. [func] The server syntax has been extended to support a
|
||||||
range of servers. [RT #11132]
|
range of servers. [RT #11132]
|
||||||
|
@@ -15,7 +15,7 @@
|
|||||||
* PERFORMANCE OF THIS SOFTWARE.
|
* 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>
|
#include <config.h>
|
||||||
|
|
||||||
@@ -1021,27 +1021,10 @@ dns_cache_flushname(dns_cache_t *cache, dns_name_t *name) {
|
|||||||
dns_rdataset_init(&rdataset);
|
dns_rdataset_init(&rdataset);
|
||||||
|
|
||||||
dns_rdatasetiter_current(iter, &rdataset);
|
dns_rdatasetiter_current(iter, &rdataset);
|
||||||
|
result = dns_db_deleterdataset(cache->db, node, NULL,
|
||||||
for (result = dns_rdataset_first(&rdataset);
|
rdataset.type, rdataset.covers);
|
||||||
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;
|
|
||||||
}
|
|
||||||
dns_rdataset_disassociate(&rdataset);
|
dns_rdataset_disassociate(&rdataset);
|
||||||
if (result != ISC_R_NOMORE)
|
if (result != ISC_R_SUCCESS && result != DNS_R_UNCHANGED)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (result == ISC_R_NOMORE)
|
if (result == ISC_R_NOMORE)
|
||||||
|
Reference in New Issue
Block a user