for (header = node->data; header != NULL; header = header->next)
{
if (header->serial <= search->serial &&
- !IGNORE(header) && EXISTS(header)) {
+ !IGNORE(header) && EXISTS(header) &&
+ !ANCIENT(header))
+ {
break;
}
}
for (header = wnode->data; header != NULL;
header = header->next) {
if (header->serial <= search->serial &&
- !IGNORE(header) && EXISTS(header)) {
+ !IGNORE(header) && EXISTS(header) &&
+ !ANCIENT(header))
+ {
break;
}
}
&header_prev)) {
/* Do nothing. */
} else if (header->type == dns_rdatatype_dname &&
- EXISTS(header)) {
+ EXISTS(header) && !ANCIENT(header))
+ {
dname_header = header;
header_prev = header;
} else if (header->type == RBTDB_RDATATYPE_SIGDNAME &&
- EXISTS(header)) {
+ EXISTS(header) && !ANCIENT(header))
+ {
sigdname_header = header;
header_prev = header;
} else {
if (check_stale_header(node, header, &locktype, lock,
search, &header_prev)) {
/* Do nothing. */
- } else if (EXISTS(header)) {
+ } else if (EXISTS(header) && !ANCIENT(header)) {
/*
* We've found an extant rdataset. See if
* we're interested in it.
if (check_stale_header(node, header, &locktype, lock, &search,
&header_prev)) {
/* Do nothing. */
- } else if (EXISTS(header)) {
+ } else if (EXISTS(header) && !ANCIENT(header)) {
/*
* If we found a type we were looking for, remember
* it.