]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
fix(dnsdist): actually pad responses when requested
authorPieter Lexis <pieter.lexis@powerdns.com>
Tue, 7 Apr 2026 13:21:00 +0000 (15:21 +0200)
committerPieter Lexis <pieter.lexis@powerdns.com>
Tue, 7 Apr 2026 15:40:28 +0000 (17:40 +0200)
pdns/dnsdistdist/dnsdist-edns.cc

index 9eaa6114cea4eb1563fb52da24be623e3547f5c7..e9c8ff817cb5f8f56b2d61687c22998c3d18b0a6 100644 (file)
@@ -109,8 +109,9 @@ bool addEDNSPadding(PacketBuffer& packet, size_t maximumPacketSize)
     return false;
   }
 
-  if (packet.size() < maximumPacketSize - 4) {
-    return true;
+  if (packet.size() + 4 > maximumPacketSize) {
+    /* Can not pad, as we can't add the PADDING EDNS Option */
+    return false;
   }
 
   size_t remaining = maximumPacketSize - (packet.size() + 4);
@@ -142,4 +143,5 @@ bool addEDNSPadding(PacketBuffer& packet, size_t maximumPacketSize)
   packet = std::move(newContent);
   return true;
 }
-}
+
+} // namespace dnsdist::edns