From: Grigorii Demidov Date: Tue, 17 May 2016 08:45:11 +0000 (+0200) Subject: layer/iterate, layer/pktcache: fix dupplicate records in replies X-Git-Tag: v1.0.0~17^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a51c0397ef7bcc3364ced1e5d444a7a40524f696;p=thirdparty%2Fknot-resolver.git layer/iterate, layer/pktcache: fix dupplicate records in replies --- diff --git a/lib/layer/iterate.c b/lib/layer/iterate.c index 99abc5483..0b3d6a502 100644 --- a/lib/layer/iterate.c +++ b/lib/layer/iterate.c @@ -415,17 +415,14 @@ static int process_answer(knot_pkt_t *pkt, struct kr_request *req) DEBUG_MSG("<= too long cname chain\n"); return KNOT_STATE_FAIL; } - /* If secure, don't use pending_cname immediately. - * There are can be RRSIG for "old" cname. + /* Don't use pending_cname immediately. + * There are can be records for "old" cname. */ if (query->flags & QUERY_DNSSEC_WANT) { /* Follow chain only within current cut (if secure). */ if (pending_cname && !knot_dname_in(query->zone_cut.name, pending_cname)) { pending_cname = NULL; } - } else { - /* Try to find next cname */ - cname = pending_cname; } } } diff --git a/lib/layer/pktcache.c b/lib/layer/pktcache.c index 205653ce7..25cb92175 100644 --- a/lib/layer/pktcache.c +++ b/lib/layer/pktcache.c @@ -219,7 +219,7 @@ static int pktcache_stash(knot_layer_t *ctx, knot_pkt_t *pkt) } /* Set cache flags */ - if (qry->flags & QUERY_DNSSEC_WANT) { + if (qry->flags & QUERY_DNSSEC_WEXPAND) { header.flags |= KR_CACHE_FLAG_WCARD_PROOF; }