]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
fix(dnsdist): Check OPT owner in `locateEDNSOptRR`
authorPieter Lexis <pieter.lexis@powerdns.com>
Tue, 17 Mar 2026 11:56:23 +0000 (12:56 +0100)
committerPieter Lexis <pieter.lexis@powerdns.com>
Thu, 19 Mar 2026 14:11:29 +0000 (15:11 +0100)
pdns/dnsdistdist/dnsdist-ecs.cc

index 031d250c5b1d3b258f7b105358a7eae2c97f6bf8..17f121e75275fa265e4a483208d8b576d178361b 100644 (file)
@@ -20,6 +20,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 #include "dns.hh"
+#include "dnsname.hh"
 #include "dolog.hh"
 #include "dnsdist.hh"
 #include "dnsdist-dnsparser.hh"
@@ -307,7 +308,7 @@ int locateEDNSOptRR(const PacketBuffer& packet, uint16_t* optStart, size_t* optL
     rrname = packetReader.getName();
     packetReader.getDnsrecordheader(recordHeader);
 
-    if (recordHeader.d_type == QType::OPT) {
+    if (rrname == g_rootdnsname && recordHeader.d_type == QType::OPT) {
       *optStart = start;
       *optLen = (packetReader.getPosition() - start) + recordHeader.d_clen;