From 1a6fd530e055a1dd579dc6ca95c274651105dc3a Mon Sep 17 00:00:00 2001 From: Aki Tuomi Date: Fri, 29 May 2020 09:13:49 +0300 Subject: [PATCH] tinydnsbackend: Ignore duplicate SOA records tinydns data format can generate multiple SOA records, so ignore them to avoid listing same domain many times. --- modules/tinydnsbackend/tinydnsbackend.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/tinydnsbackend/tinydnsbackend.cc b/modules/tinydnsbackend/tinydnsbackend.cc index 1de99d5e02..b4d015fc60 100644 --- a/modules/tinydnsbackend/tinydnsbackend.cc +++ b/modules/tinydnsbackend/tinydnsbackend.cc @@ -163,9 +163,10 @@ void TinyDNSBackend::getAllDomains(vector *domains, bool include_dis d_cdbReader->searchAll(); DNSResourceRecord rr; + std::unordered_set dupcheck; while (get(rr)) { - if (rr.qtype.getCode() == QType::SOA) { + if (rr.qtype.getCode() == QType::SOA && dupcheck.insert(rr.qname).second) { SOAData sd; fillSOAData(rr.content, sd); -- 2.47.2