summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorKarolin Seeger <kseeger@samba.org>2018-11-27 11:06:43 +0100
committerKarolin Seeger <kseeger@samba.org>2018-11-27 11:06:43 +0100
commitdb08ec4c941d6d775d441260cd4e804bc7b4157a (patch)
tree81cfd1898c8ed02eb83b661bbefd14e89eed9294 /python
parent58c53ddef51239c9581728131b60188c663c14a6 (diff)
parentcd870beb978a334b948c6992059540c864dd2540 (diff)
downloadsamba-db08ec4c941d6d775d441260cd4e804bc7b4157a.tar.gz
Merge tag 'samba-4.8.7' into v4-8-test
samba: tag release samba-4.8.7
Diffstat (limited to 'python')
-rw-r--r--python/samba/tests/dns.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/python/samba/tests/dns.py b/python/samba/tests/dns.py
index 1b5b64da3a4..3390a3990c9 100644
--- a/python/samba/tests/dns.py
+++ b/python/samba/tests/dns.py
@@ -798,6 +798,30 @@ class TestComplexQueries(DNSTest):
self.assertEquals(response.answers[1].name, name2)
self.assertEquals(response.answers[1].rdata, name0)
+ def test_cname_loop(self):
+ cname1 = "cnamelooptestrec." + self.get_dns_domain()
+ cname2 = "cnamelooptestrec2." + self.get_dns_domain()
+ cname3 = "cnamelooptestrec3." + self.get_dns_domain()
+ self.make_dns_update(cname1, cname2, dnsp.DNS_TYPE_CNAME)
+ self.make_dns_update(cname2, cname3, dnsp.DNS_TYPE_CNAME)
+ self.make_dns_update(cname3, cname1, dnsp.DNS_TYPE_CNAME)
+
+ p = self.make_name_packet(dns.DNS_OPCODE_QUERY)
+ questions = []
+
+ q = self.make_name_question(cname1,
+ dns.DNS_QTYPE_A,
+ dns.DNS_QCLASS_IN)
+ questions.append(q)
+ self.finish_name_packet(p, questions)
+
+ (response, response_packet) =\
+ self.dns_transaction_udp(p, host=self.server_ip)
+
+ max_recursion_depth = 20
+ self.assertEquals(len(response.answers), max_recursion_depth)
+
+
class TestInvalidQueries(DNSTest):
def setUp(self):
super(TestInvalidQueries, self).setUp()