return (FindNodeResult(ZoneFinder::NXDOMAIN, nsec_rrset.first,
nsec_rrset.second));
}
- uint8_t ls_buf[LabelSequence::MAX_SERIALIZED_LENGTH];
-
- // Create the wildcard name (i.e. take "*" and extend it
- // with all node labels down to the wildcard node
- LabelSequence wildcard_ls(LabelSequence::WILDCARD(), ls_buf);
- const ZoneNode* extend_with = node;
- while (extend_with != NULL) {
- wildcard_ls.extend(extend_with->getLabels(), ls_buf);
- extend_with = extend_with->getUpperNode();
- }
- // Clear the node_path so that we don't keep incorrect (NSEC)
- // context
- node_path.clear();
- ZoneTree::Result result = tree.find(wildcard_ls, &node, node_path,
+ // Pass the wildcard label sequence ("*") (which is
+ // non-absolute) and the previous node_path result to this
+ // special shortcut form of find() that searches below from
+ // the node_path.
+ ZoneTree::Result result = tree.find(LabelSequence::WILDCARD(),
+ &node, node_path,
cutCallback, &state);
// Otherwise, why would the domain_flag::WILD be there if
// there was no wildcard under it?