[SCM] Samba Shared Repository - branch master updated
Kai Blin
kai at samba.org
Sun Sep 30 05:10:02 MDT 2012
The branch, master has been updated
via 8180522 s4 dns: Fix return code for deleted records
via ecb4a8a s4 dns: Get rid of deprecated allocation result check
from 7d0a9f5 selftest: use an array when starting testenv with system()
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 81805222ec7a652e188bd106199820570c9dcaad
Author: Kai Blin <kai at samba.org>
Date: Sun Sep 30 11:26:24 2012 +0200
s4 dns: Fix return code for deleted records
This fixes bug #9225. We already had a test for this scenario, but the test wasn't
correct. This patch fixes the test, and also fixes the bug.
Signed-off-by: Kai Blin <kai at samba.org>
Autobuild-User(master): Kai Blin <kai at samba.org>
Autobuild-Date(master): Sun Sep 30 13:09:14 CEST 2012 on sn-devel-104
commit ecb4a8a824faf89a442bdd0eeb5ab9f79a14fb40
Author: Kai Blin <kai at samba.org>
Date: Sun Sep 30 10:44:03 2012 +0200
s4 dns: Get rid of deprecated allocation result check
-----------------------------------------------------------------------
Summary of changes:
source4/dns_server/dns_utils.c | 6 ++-
source4/scripting/python/samba/tests/dns.py | 46 +++++++++++++++++++++++++--
2 files changed, 47 insertions(+), 5 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source4/dns_server/dns_utils.c b/source4/dns_server/dns_utils.c
index 11ded68..3988393 100644
--- a/source4/dns_server/dns_utils.c
+++ b/source4/dns_server/dns_utils.c
@@ -201,11 +201,13 @@ WERROR dns_lookup_records(struct dns_server *dns,
if (el == NULL) {
*records = NULL;
*rec_count = 0;
- return WERR_OK;
+ return DNS_ERR(NAME_ERROR);
}
recs = talloc_zero_array(mem_ctx, struct dnsp_DnssrvRpcRecord, el->num_values);
- W_ERROR_HAVE_NO_MEMORY(recs);
+ if (recs == NULL) {
+ return WERR_NOMEM;
+ }
for (ri = 0; ri < el->num_values; ri++) {
struct ldb_val *v = &el->values[ri];
enum ndr_err_code ndr_err;
diff --git a/source4/scripting/python/samba/tests/dns.py b/source4/scripting/python/samba/tests/dns.py
index 7401124..49d699e 100644
--- a/source4/scripting/python/samba/tests/dns.py
+++ b/source4/scripting/python/samba/tests/dns.py
@@ -434,6 +434,10 @@ class TestDNSUpdates(DNSTest):
def test_delete_record(self):
"Test if deleting records works"
+
+ NAME = "deleterec.%s" % self.get_dns_domain()
+
+ # First, create a record to make sure we have a record to delete.
p = self.make_name_packet(dns.DNS_OPCODE_UPDATE)
updates = []
@@ -445,7 +449,43 @@ class TestDNSUpdates(DNSTest):
updates = []
r = dns.res_rec()
- r.name = "textrec.%s" % self.get_dns_domain()
+ r.name = NAME
+ r.rr_type = dns.DNS_QTYPE_TXT
+ r.rr_class = dns.DNS_QCLASS_IN
+ r.ttl = 900
+ r.length = 0xffff
+ r.rdata = dns.txt_record()
+ r.rdata.txt = '"This is a test"'
+ updates.append(r)
+ p.nscount = len(updates)
+ p.nsrecs = updates
+
+ response = self.dns_transaction_udp(p)
+ self.assert_dns_rcode_equals(response, dns.DNS_RCODE_OK)
+
+ # Now check the record is around
+ p = self.make_name_packet(dns.DNS_OPCODE_QUERY)
+ questions = []
+ q = self.make_name_question(NAME, dns.DNS_QTYPE_TXT, dns.DNS_QCLASS_IN)
+ questions.append(q)
+
+ self.finish_name_packet(p, questions)
+ response = self.dns_transaction_udp(p)
+ self.assert_dns_rcode_equals(response, dns.DNS_RCODE_OK)
+
+ # Now delete the record
+ p = self.make_name_packet(dns.DNS_OPCODE_UPDATE)
+ updates = []
+
+ name = self.get_dns_domain()
+
+ u = self.make_name_question(name, dns.DNS_QTYPE_SOA, dns.DNS_QCLASS_IN)
+ updates.append(u)
+ self.finish_name_packet(p, updates)
+
+ updates = []
+ r = dns.res_rec()
+ r.name = NAME
r.rr_type = dns.DNS_QTYPE_TXT
r.rr_class = dns.DNS_QCLASS_NONE
r.ttl = 0
@@ -459,11 +499,11 @@ class TestDNSUpdates(DNSTest):
response = self.dns_transaction_udp(p)
self.assert_dns_rcode_equals(response, dns.DNS_RCODE_OK)
+ # And finally check it's gone
p = self.make_name_packet(dns.DNS_OPCODE_QUERY)
questions = []
- name = "textrec.%s" % self.get_dns_domain()
- q = self.make_name_question(name, dns.DNS_QTYPE_TXT, dns.DNS_QCLASS_IN)
+ q = self.make_name_question(NAME, dns.DNS_QTYPE_TXT, dns.DNS_QCLASS_IN)
questions.append(q)
self.finish_name_packet(p, questions)
--
Samba Shared Repository
More information about the samba-cvs
mailing list