]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
add missing empty condition check on payload rank option
authorOliver Chen <oliver.chen@nokia-sbell.com>
Sat, 10 May 2025 03:56:07 +0000 (03:56 +0000)
committerOliver Chen <oliver.chen@nokia-sbell.com>
Wed, 11 Jun 2025 00:11:14 +0000 (00:11 +0000)
pdns/dnsdistdist/dnsdist-cache.cc

index 44a53b4b1acd86aa635a8a79be31ba739062be9d..0a861165c670bf82c04896f95f47adba08b8c26e 100644 (file)
@@ -466,7 +466,7 @@ uint32_t DNSDistPacketCache::getKey(const DNSName::string_t& qname, size_t qname
     throw std::range_error("Computing packet cache key for an invalid packet (" + std::to_string(packet.size()) + " < " + std::to_string(sizeof(dnsheader) + qnameWireLength) + ")");
   }
   if (packet.size() > ((sizeof(dnsheader) + qnameWireLength))) {
-    if (!d_settings.d_optionsToSkip.empty()) {
+    if (!d_settings.d_optionsToSkip.empty() || !d_settings.d_payloadRanks.empty()) {
       /* skip EDNS options if any */
       // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast)
       result = PacketCache::hashAfterQname(std::string_view(reinterpret_cast<const char*>(packet.data()), packet.size()), result, sizeof(dnsheader) + qnameWireLength, d_settings.d_optionsToSkip, d_settings.d_payloadRanks);