mirror of
https://github.com/samba-team/samba.git
synced 2025-02-25 17:57:42 +03:00
CVE-2016-0771: tests/dns: Modify dns tests to match new IDL
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11128 BUG: https://bugzilla.samba.org/show_bug.cgi?id=11686 Signed-off-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
parent
d22a9f427c
commit
e09544de63
@ -20,12 +20,19 @@ import struct
|
||||
import random
|
||||
import socket
|
||||
import samba.ndr as ndr
|
||||
import samba.dcerpc.dns as dns
|
||||
from samba import credentials, param
|
||||
from samba.tests import TestCase
|
||||
from samba.dcerpc import dnsp, dnsserver
|
||||
from samba.dcerpc import dns, dnsp, dnsserver
|
||||
|
||||
|
||||
def make_txt_record(records):
|
||||
rdata_txt = dns.txt_record()
|
||||
s_list = dnsp.string_list()
|
||||
s_list.count = len(records)
|
||||
s_list.str = records
|
||||
rdata_txt.txt = s_list
|
||||
return rdata_txt
|
||||
|
||||
class DNSTest(TestCase):
|
||||
|
||||
def errstr(self, errcode):
|
||||
@ -411,8 +418,7 @@ class TestDNSUpdates(DNSTest):
|
||||
r.rr_class = dns.DNS_QCLASS_IN
|
||||
r.ttl = 900
|
||||
r.length = 0xffff
|
||||
rdata = dns.txt_record()
|
||||
rdata.txt = '"This is a test"'
|
||||
rdata = make_txt_record(['"This is a test"'])
|
||||
r.rdata = rdata
|
||||
updates.append(r)
|
||||
p.nscount = len(updates)
|
||||
@ -432,7 +438,7 @@ class TestDNSUpdates(DNSTest):
|
||||
response = self.dns_transaction_udp(p)
|
||||
self.assert_dns_rcode_equals(response, dns.DNS_RCODE_OK)
|
||||
self.assertEquals(response.ancount, 1)
|
||||
self.assertEquals(response.answers[0].rdata.txt, '"This is a test"')
|
||||
self.assertEquals(response.answers[0].rdata.txt.str[0], '"This is a test"')
|
||||
|
||||
def test_update_add_two_txt_records(self):
|
||||
"test adding two txt records works"
|
||||
@ -452,8 +458,8 @@ class TestDNSUpdates(DNSTest):
|
||||
r.rr_class = dns.DNS_QCLASS_IN
|
||||
r.ttl = 900
|
||||
r.length = 0xffff
|
||||
rdata = dns.txt_record()
|
||||
rdata.txt = '"This is a test" "and this is a test, too"'
|
||||
rdata = make_txt_record(['"This is a test"',
|
||||
'"and this is a test, too"'])
|
||||
r.rdata = rdata
|
||||
updates.append(r)
|
||||
p.nscount = len(updates)
|
||||
@ -473,7 +479,8 @@ class TestDNSUpdates(DNSTest):
|
||||
response = self.dns_transaction_udp(p)
|
||||
self.assert_dns_rcode_equals(response, dns.DNS_RCODE_OK)
|
||||
self.assertEquals(response.ancount, 1)
|
||||
self.assertEquals(response.answers[0].rdata.txt, '"This is a test" "and this is a test, too"')
|
||||
self.assertEquals(response.answers[0].rdata.txt.str[0], '"This is a test"')
|
||||
self.assertEquals(response.answers[0].rdata.txt.str[1], '"and this is a test, too"')
|
||||
|
||||
def test_delete_record(self):
|
||||
"Test if deleting records works"
|
||||
@ -497,8 +504,7 @@ class TestDNSUpdates(DNSTest):
|
||||
r.rr_class = dns.DNS_QCLASS_IN
|
||||
r.ttl = 900
|
||||
r.length = 0xffff
|
||||
rdata = dns.txt_record()
|
||||
rdata.txt = '"This is a test"'
|
||||
rdata = make_txt_record(['"This is a test"'])
|
||||
r.rdata = rdata
|
||||
updates.append(r)
|
||||
p.nscount = len(updates)
|
||||
@ -534,8 +540,7 @@ class TestDNSUpdates(DNSTest):
|
||||
r.rr_class = dns.DNS_QCLASS_NONE
|
||||
r.ttl = 0
|
||||
r.length = 0xffff
|
||||
rdata = dns.txt_record()
|
||||
rdata.txt = '"This is a test"'
|
||||
rdata = make_txt_record(['"This is a test"'])
|
||||
r.rdata = rdata
|
||||
updates.append(r)
|
||||
p.nscount = len(updates)
|
||||
@ -577,8 +582,7 @@ class TestDNSUpdates(DNSTest):
|
||||
r.rr_class = dns.DNS_QCLASS_IN
|
||||
r.ttl = 900
|
||||
r.length = 0xffff
|
||||
rdata = dns.txt_record()
|
||||
rdata.txt = '"This is a test"'
|
||||
rdata = make_txt_record(['"This is a test"'])
|
||||
r.rdata = rdata
|
||||
updates.append(r)
|
||||
p.nscount = len(updates)
|
||||
@ -614,8 +618,7 @@ class TestDNSUpdates(DNSTest):
|
||||
r.rr_class = dns.DNS_QCLASS_NONE
|
||||
r.ttl = 0
|
||||
r.length = 0xffff
|
||||
rdata = dns.txt_record()
|
||||
rdata.txt = '"This is a test"'
|
||||
rdata = make_txt_record(['"This is a test"'])
|
||||
r.rdata = rdata
|
||||
updates.append(r)
|
||||
p.nscount = len(updates)
|
||||
@ -652,8 +655,7 @@ class TestDNSUpdates(DNSTest):
|
||||
r.rr_class = dns.DNS_QCLASS_IN
|
||||
r.ttl = 900
|
||||
r.length = 0xffff
|
||||
rdata = dns.txt_record()
|
||||
rdata.txt = '"This is a test"'
|
||||
rdata = make_txt_record(['"This is a test"'])
|
||||
r.rdata = rdata
|
||||
updates.append(r)
|
||||
p.nscount = len(updates)
|
||||
|
Loading…
x
Reference in New Issue
Block a user