From 3e0f0715b23edb6601795683362da2ef09b88007 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C5=A0t=C4=9Bp=C3=A1n=20Bal=C3=A1=C5=BEik?= Date: Thu, 4 Feb 2021 17:04:16 +0100 Subject: [PATCH] iterate.c: remove workaround in process_authority AA means AA, we terminate the resolution. --- lib/layer/iterate.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/lib/layer/iterate.c b/lib/layer/iterate.c index 94342cfb5..7812b24ed 100644 --- a/lib/layer/iterate.c +++ b/lib/layer/iterate.c @@ -398,27 +398,11 @@ static int process_authority(knot_pkt_t *pkt, struct kr_request *req) const knot_pktsection_t *ns = knot_pkt_section(pkt, KNOT_AUTHORITY); const knot_pktsection_t *an = knot_pkt_section(pkt, KNOT_ANSWER); -#ifdef STRICT_MODE /* AA, terminate resolution chain. */ if (knot_wire_get_aa(pkt->wire)) { return KR_STATE_CONSUME; } -#else - /* Work around servers sending back CNAME with different delegation and no AA. */ - if (an->count > 0 && ns->count > 0) { - const knot_rrset_t *rr = knot_pkt_rr(an, 0); - if (rr->type == KNOT_RRTYPE_CNAME) { - return KR_STATE_CONSUME; - } - /* Work around for these NSs which are authoritative both for - * parent and child and mixes data from both zones in single answer */ - if (knot_wire_get_aa(pkt->wire) && - (rr->type == qry->stype) && - (knot_dname_is_equal(rr->owner, qry->sname))) { - return KR_STATE_CONSUME; - } - } -#endif + /* Remember current bailiwick for NS processing. */ const knot_dname_t *current_zone_cut = qry->zone_cut.name; bool ns_record_exists = false; -- 2.47.2