From: Remi Gacogne Date: Mon, 22 Feb 2021 17:28:20 +0000 (+0100) Subject: rec: Don't increase the number of aggressive cache entries when replacing X-Git-Tag: dnsdist-1.6.0-alpha2~12^2~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4b93ec25cbff22d28f4b4ce6e1e0847ddb5e8ba7;p=thirdparty%2Fpdns.git rec: Don't increase the number of aggressive cache entries when replacing --- diff --git a/pdns/recursordist/aggressive_nsec.cc b/pdns/recursordist/aggressive_nsec.cc index ca02233248..db0f0736ec 100644 --- a/pdns/recursordist/aggressive_nsec.cc +++ b/pdns/recursordist/aggressive_nsec.cc @@ -298,13 +298,18 @@ void AggressiveNSECCache::insertNSEC(const DNSName& zone, const DNSName& owner, /* the TTL is already a TTD by now */ if (!nsec3 && isWildcardExpanded(owner.countLabels(), signatures.at(0))) { DNSName realOwner = getNSECOwnerName(owner, signatures); - entry->d_entries.insert({record.d_content, signatures, std::move(realOwner), std::move(next), record.d_ttl}); + auto pair = entry->d_entries.insert({record.d_content, signatures, std::move(realOwner), std::move(next), record.d_ttl}); + if (pair.second) { + ++d_entriesCount; + } } else { - entry->d_entries.insert({record.d_content, signatures, owner, std::move(next), record.d_ttl}); + auto pair = entry->d_entries.insert({record.d_content, signatures, owner, std::move(next), record.d_ttl}); + if (pair.second) { + ++d_entriesCount; + } } } - ++d_entriesCount; } bool AggressiveNSECCache::getNSECBefore(time_t now, std::shared_ptr& zoneEntry, const DNSName& name, ZoneEntry::CacheEntry& entry)