1
0
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:
Garming Sam 2016-01-06 14:12:35 +13:00 committed by Stefan Metzmacher
parent d22a9f427c
commit e09544de63

View File

@ -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)