} else if (!allow_unverified) {
/* Records not present under any TA don't have their security
* verified at all, so we also accept low ranks in that case. */
- const bool ta_covers = kr_ta_covers_qry(qry->request->ctx, name, type);
+ const bool ta_covers = kr_ta_closest(qry->request->ctx, name, type);
/* ^ TODO: performance? TODO: stype - call sites */
if (ta_covers) {
return KR_RANK_INSECURE | KR_RANK_AUTH;
const knot_dname_t * kr_ta_closest(const struct kr_context *ctx, const knot_dname_t *name,
const uint16_t type);
-/**
- * A trivial wrapper around kr_ta_closest
- *
- * TODO: drop it? The name doesn't feel very suitable either.
- */
-static inline
-bool kr_ta_covers_qry(struct kr_context *ctx, const knot_dname_t *name,
- const uint16_t type)
-{
- return kr_ta_closest(ctx, name, type) != NULL;
-}
-
/**
* Remove TA from trust store.
* @param trust_anchors trust store
next->cname_parent = query;
/* Want DNSSEC if and only if it's posible to secure
* this name (i.e. iff it is covered by a TA) */
- if (kr_ta_covers_qry(req->ctx, cname, query->stype)) {
+ if (kr_ta_closest(req->ctx, cname, query->stype)) {
next->flags.DNSSEC_WANT = true;
} else {
next->flags.DNSSEC_WANT = false;
}
if (!knot_dname_is_equal(qry->zone_cut.name, rr->owner)/*optim.*/
- && !kr_ta_covers_qry(qry->request->ctx, rr->owner, rr->type)) {
+ && !kr_ta_closest(qry->request->ctx, rr->owner, rr->type)) {
/* We have NTA "between" our (perceived) zone cut and the RR. */
kr_rank_set(&entry->rank, KR_RANK_INSECURE);
continue;
qry->flags.DNSSEC_WANT = false;
qry->flags.DNSSEC_INSECURE = true;
VERBOSE_MSG(qry, "=> going insecure because parent query is insecure\n");
- } else if (kr_ta_covers_qry(req->ctx, qry->zone_cut.name, KNOT_RRTYPE_NS)) {
+ } else if (kr_ta_closest(req->ctx, qry->zone_cut.name, KNOT_RRTYPE_NS)) {
qry->flags.DNSSEC_WANT = true;
} else {
qry->flags.DNSSEC_WANT = false;
/* Zonecut name can change, check it again
* to prevent unnecessary DS & DNSKEY queries */
if (!(qry->flags.DNSSEC_INSECURE) &&
- kr_ta_covers_qry(req->ctx, cut_found.name, KNOT_RRTYPE_NS)) {
+ kr_ta_closest(req->ctx, cut_found.name, KNOT_RRTYPE_NS)) {
qry->flags.DNSSEC_WANT = true;
} else {
qry->flags.DNSSEC_WANT = false;
qry->flags.AWAIT_CUT = true;
/* Want DNSSEC if it's posible to secure this name (e.g. is covered by any TA) */
if ((knot_wire_get_ad(packet->wire) || knot_pkt_has_dnssec(packet)) &&
- kr_ta_covers_qry(request->ctx, qry->sname, qtype)) {
+ kr_ta_closest(request->ctx, qry->sname, qtype)) {
qry->flags.DNSSEC_WANT = true;
}
}