From: Evan Hunt Date: Fri, 19 May 2023 05:02:06 +0000 (-0700) Subject: prevent query_coveringnsec() from running twice X-Git-Tag: v9.19.17~39^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0ae8b2e056c3e24df0746541c505bc358352f7fa;p=thirdparty%2Fbind9.git prevent query_coveringnsec() from running twice when synthesizing a new CNAME, we now check whether the target matches the query already being processed. if so, we do not restart the query; this prevents a waste of resources. --- diff --git a/lib/ns/query.c b/lib/ns/query.c index 8edfc9814ce..0b3d359d17a 100644 --- a/lib/ns/query.c +++ b/lib/ns/query.c @@ -9870,6 +9870,12 @@ query_synthcnamewildcard(query_ctx_t *qctx, dns_rdataset_t *rdataset, RUNTIME_CHECK(result == ISC_R_SUCCESS); dns_rdata_reset(&rdata); + if (dns_name_equal(qctx->client->query.qname, &cname.cname)) { + dns_message_puttempname(qctx->client->message, &tname); + dns_rdata_freestruct(&cname); + return (ISC_R_SUCCESS); + } + dns_name_copy(&cname.cname, tname); dns_rdata_freestruct(&cname);