2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-09-04 16:45:24 +00:00

the 'covers' field was not being set in dns_diff_load()

This commit is contained in:
Andreas Gustafsson
1999-11-03 00:24:47 +00:00
parent 00a2ffb4ee
commit e7e74c22de

View File

@@ -486,22 +486,26 @@ dns_diff_load(dns_diff_t *diff, dns_addrdatasetfunc_t addfunc,
name = &t->name; name = &t->name;
while (t != NULL && dns_name_equal(&t->name, name)) { while (t != NULL && dns_name_equal(&t->name, name)) {
dns_rdatatype_t type; dns_rdatatype_t type, covers;
dns_diffop_t op; dns_diffop_t op;
dns_rdatalist_t rdl; dns_rdatalist_t rdl;
dns_rdataset_t rds; dns_rdataset_t rds;
op = t->op; op = t->op;
type = t->rdata.type; type = t->rdata.type;
covers = rdata_covers(&t->rdata);
rdl.type = t->rdata.type; rdl.type = type;
rdl.covers = covers;
rdl.rdclass = t->rdata.rdclass; rdl.rdclass = t->rdata.rdclass;
rdl.ttl = t->ttl; rdl.ttl = t->ttl;
ISC_LIST_INIT(rdl.rdata); ISC_LIST_INIT(rdl.rdata);
ISC_LINK_INIT(&rdl, link); ISC_LINK_INIT(&rdl, link);
while (t != NULL && dns_name_equal(&t->name, name) && while (t != NULL && dns_name_equal(&t->name, name) &&
t->op == op && t->rdata.type == type) { t->op == op && t->rdata.type == type &&
rdata_covers(&t->rdata) == covers)
{
ISC_LIST_APPEND(rdl.rdata, &t->rdata, link); ISC_LIST_APPEND(rdl.rdata, &t->rdata, link);
t = ISC_LIST_NEXT(t, link); t = ISC_LIST_NEXT(t, link);
} }