]> git.ipfire.org Git - thirdparty/pdns.git/blobdiff - regression-tests.dnsdist/quictests.py
dnsdist: Add regression for destination address harvesting with QUIC
[thirdparty/pdns.git] / regression-tests.dnsdist / quictests.py
index 62cf24e757a47bfa63149d5c1352d0e6b9fa4a2f..743de28db561eab5374d23f7ff6dd08af8e3ebb5 100644 (file)
@@ -169,3 +169,25 @@ class QUICWithCacheTests(object):
             total += self._responsesCounter[key]
 
         self.assertEqual(total, 1)
+
+class QUICGetLocalAddressOnAnyBindTests(object):
+
+    def testGetLocalAddressOnAnyBind(self):
+        """
+        QUIC: Return CNAME containing the local address for an ANY bind
+        """
+        name = 'local-address-any.quic.tests.powerdns.com.'
+        query = dns.message.make_query(name, 'A', 'IN')
+        # dnsdist set RA = RD for spoofed responses
+        query.flags &= ~dns.flags.RD
+
+        response = dns.message.make_response(query)
+        rrset = dns.rrset.from_text(name,
+                                    60,
+                                    dns.rdataclass.IN,
+                                    dns.rdatatype.CNAME,
+                                    'address-was-127-0-0-1.local-address-any.advanced.tests.powerdns.com.')
+        response.answer.append(rrset)
+
+        (_, receivedResponse) = self.sendQUICQuery(query, response=None, useQueue=False)
+        self.assertEqual(receivedResponse, response)