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:
parent
358a81eff5
commit
c01efc1207
@ -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);
|
||||
}
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user