]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Make sure that any EDNS sent by the backend is removed before forwarding the response... 10814/head
authorCharles-Henri Bruyand <charles-henri.bruyand@open-xchange.com>
Wed, 6 Oct 2021 15:19:02 +0000 (17:19 +0200)
committerCharles-Henri Bruyand <charles-henri.bruyand@open-xchange.com>
Wed, 6 Oct 2021 15:50:34 +0000 (17:50 +0200)
pdns/dnsdist-lua-actions.cc
regression-tests.dnsdist/test_Advanced.py

index e600cebb55de921d33c02b031f636889fab705af..575be5a68d4fe200b5a7f2ef36b6fd550fb708c0 100644 (file)
@@ -927,6 +927,8 @@ public:
     auto& data = dq->getMutableData();
     if (generateOptRR(optRData, data, dq->getMaximumSize(), g_EdnsUDPPayloadSize, 0, false)) {
       dq->getHeader()->arcount = htons(1);
+      // make sure that any EDNS sent by the backend is removed before forwarding the response to the client
+      dq->ednsAdded = true;
     }
 
     return Action::None;
@@ -959,6 +961,8 @@ public:
     auto& data = dq->getMutableData();
     if (generateOptRR(optRData, data, dq->getMaximumSize(), g_EdnsUDPPayloadSize, 0, false)) {
       dq->getHeader()->arcount = htons(1);
+      // make sure that any EDNS sent by the backend is removed before forwarding the response to the client
+      dq->ednsAdded = true;
     }
 
     return Action::None;
index d9e3f9de4b05039b3076a0e86b5c79dc7a51ec1b..06ff70b4dde7fbff906d54b9c266a682a96a2c0c 100644 (file)
@@ -2335,5 +2335,5 @@ class TestAdvancedSetEDNSOptionAction(DNSDistTest):
             self.assertTrue(receivedResponse)
             receivedQuery.id = expectedQuery.id
             self.assertEqual(expectedQuery, receivedQuery)
-            self.assertEqual(response, receivedResponse)
+            self.checkResponseNoEDNS(response, receivedResponse)
             self.checkQueryEDNS(expectedQuery, receivedQuery)