The Samba-Bugzilla – Attachment 8314 Details for
Bug 9485
DNS server does not support MX queries
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Implement MX query support
0001-dns-Add-support-for-MX-queries.patch (text/plain), 3.25 KB, created by
Kai Blin
on 2012-12-09 19:53:11 UTC
(
hide
)
Description:
Implement MX query support
Filename:
MIME Type:
Creator:
Kai Blin
Created:
2012-12-09 19:53:11 UTC
Size:
3.25 KB
patch
obsolete
>From e6b772c3215c3cf677e0268c7283f5b0e6e75abf Mon Sep 17 00:00:00 2001 >From: Kai Blin <kai@samba.org> >Date: Mon, 10 Dec 2012 05:50:05 +1000 >Subject: [PATCH] dns: Add support for MX queries > >Due to an oversight, the internal DNS server supports MX record updates, >but not MX record queries. Add support for MX queries and tests. > >This should fix bug #9485 > >Signed-off-by: Kai Blin <kai@samba.org> >--- > source4/dns_server/dns_query.c | 8 +++++ > source4/scripting/python/samba/tests/dns.py | 42 +++++++++++++++++++++++++++ > 2 files changed, 50 insertions(+), 0 deletions(-) > >diff --git a/source4/dns_server/dns_query.c b/source4/dns_server/dns_query.c >index 54e0c7f..75f0e9f 100644 >--- a/source4/dns_server/dns_query.c >+++ b/source4/dns_server/dns_query.c >@@ -89,6 +89,14 @@ static WERROR create_response_rr(const struct dns_name_question *question, > case DNS_QTYPE_PTR: > ans[ai].rdata.ptr_record = talloc_strdup(ans, rec->data.ptr); > break; >+ case DNS_QTYPE_MX: >+ ans[ai].rdata.mx_record.preference = rec->data.mx.wPriority; >+ ans[ai].rdata.mx_record.exchange = talloc_strdup( >+ ans, rec->data.mx.nameTarget); >+ if (ans[ai].rdata.mx_record.exchange == NULL) { >+ return WERR_NOMEM; >+ } >+ break; > case DNS_QTYPE_TXT: > tmp = talloc_asprintf(ans, "\"%s\"", rec->data.txt.str[0]); > W_ERROR_HAVE_NO_MEMORY(tmp); >diff --git a/source4/scripting/python/samba/tests/dns.py b/source4/scripting/python/samba/tests/dns.py >index 49d699e..d01c8ff 100644 >--- a/source4/scripting/python/samba/tests/dns.py >+++ b/source4/scripting/python/samba/tests/dns.py >@@ -510,6 +510,48 @@ class TestDNSUpdates(DNSTest): > response = self.dns_transaction_udp(p) > self.assert_dns_rcode_equals(response, dns.DNS_RCODE_NXDOMAIN) > >+ def test_update_add_mx_record(self): >+ "test adding MX records works" >+ 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 = "%s" % self.get_dns_domain() >+ r.rr_type = dns.DNS_QTYPE_MX >+ r.rr_class = dns.DNS_QCLASS_IN >+ r.ttl = 900 >+ r.length = 0xffff >+ r.rdata = dns.mx_record() >+ r.rdata.preference = 10 >+ r.rdata.exchange = 'mail.%s' % self.get_dns_domain() >+ 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) >+ >+ p = self.make_name_packet(dns.DNS_OPCODE_QUERY) >+ questions = [] >+ >+ name = "%s" % self.get_dns_domain() >+ q = self.make_name_question(name, dns.DNS_QTYPE_MX, 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) >+ self.assertEqual(response.ancount, 1) >+ self.assertEqual(response.answers[0].rdata.preference, 10) >+ self.assertEqual(response.answers[0].rdata.exchange, 'mail.%s' % self.get_dns_domain()) >+ > > class TestComplexQueries(DNSTest): > >-- >1.7.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Flags:
metze
:
review-
Actions:
View
Attachments on
bug 9485
:
8314
|
8767
|
8903