1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-11 05:18:09 +03:00

s4 dns: Update requests with QCLASS != IN or ALL trigger NOTIMPLEMENTED errors

Autobuild-User: Kai Blin <kai@samba.org>
Autobuild-Date: Fri Dec  9 03:32:28 CET 2011 on sn-devel-104
This commit is contained in:
Kai Blin 2011-12-09 01:26:39 +01:00
parent 358a81eff5
commit c01efc1207
2 changed files with 17 additions and 0 deletions

View File

@ -142,6 +142,11 @@ WERROR dns_server_process_update(struct dns_server *dns,
zone = &in->questions[0];
if (zone->question_class != DNS_QCLASS_IN &&
zone->question_class != DNS_QCLASS_ANY) {
return DNS_ERR(NOT_IMPLEMENTED);
}
if (zone->question_type != DNS_QTYPE_SOA) {
return DNS_ERR(FORMAT_ERROR);
}

View File

@ -204,6 +204,18 @@ class DNSTest(TestCase):
response = self.dns_transaction_udp(p)
self.assert_dns_rcode_equals(response, dns.DNS_RCODE_FORMERR)
def test_update_wrong_qclass(self):
"create update with DNS_QCLASS_NONE"
p = self.make_name_packet(dns.DNS_OPCODE_UPDATE)
updates = []
name = self.get_dns_domain()
u = self.make_name_question(name, dns.DNS_QTYPE_A, dns.DNS_QCLASS_NONE)
updates.append(u)
self.finish_name_packet(p, updates)
response = self.dns_transaction_udp(p)
self.assert_dns_rcode_equals(response, dns.DNS_RCODE_NOTIMP)
if __name__ == "__main__":
import unittest