From 748e78eb6d64ba48a729e67fedb2614b39d79ff8 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Thu, 4 Sep 2014 09:40:34 +0200 Subject: [PATCH] s4-rpc: dnsserver: return DNS_RANK_NS_GLUE recors when explicitly asked for NS records should be included in the query for sub-domains. NS records got dropped when the rank for NS records was correctly set to NS_GLUE from ZONE in commit 2036cbd9249c84d9b46370f0e8cd6a0264c737ba. samba-tool dns query 172.31.9.161 s4xdom.base @ ALL => Name=glue, Records=0, Children=0 samba-tool dns query 172.31.9.161 s4xdom.base glue ALL => Name=, Records=1, Children=0 NS: glue.dns.private. (flags=40000082, serial=21, ttl=900) Bug: https://bugzilla.samba.org/show_bug.cgi?id=10751 Signed-off-by: Stefan Metzmacher Reviewed-by: Amitay Isaacs Autobuild-User(master): Amitay Isaacs Autobuild-Date(master): Thu Sep 4 14:37:51 CEST 2014 on sn-devel-104 (cherry picked from commit 0b4a3b76111411e8969932a3da4ffab989e0da4c) --- source4/rpc_server/dnsserver/dnsdata.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/source4/rpc_server/dnsserver/dnsdata.c b/source4/rpc_server/dnsserver/dnsdata.c index 4866006cdf9..f752490101a 100644 --- a/source4/rpc_server/dnsserver/dnsdata.c +++ b/source4/rpc_server/dnsserver/dnsdata.c @@ -798,6 +798,15 @@ WERROR dns_fill_records_array(TALLOC_CTX *mem_ctx, if (select_flag & DNS_RPC_VIEW_AUTHORITY_DATA) { if (dnsp_rec.rank == DNS_RANK_ZONE) { found = true; + } else if (dnsp_rec.rank == DNS_RANK_NS_GLUE) { + /* + * If branch_name is NULL, we're + * explicitly asked to also return + * DNS_RANK_NS_GLUE records + */ + if (branch_name == NULL) { + found = true; + } } } if (select_flag & DNS_RPC_VIEW_CACHE_DATA) { -- 2.11.4.GIT