s4-dns: Ignore zones that shouldn't be returned currently
authorMatthieu Patou <mat@matws.net>
Tue, 2 Oct 2012 04:36:34 +0000 (21:36 -0700)
committerMatthieu Patou <mat@matws.net>
Mon, 8 Oct 2012 05:11:48 +0000 (22:11 -0700)
RootDNSServers should never be returned (Windows DNS server don't)
..TrustAnchors should never be returned as is, (Windows returns
TrustAnchors) and for the moment we don't support DNSSEC so we'd better
not return this zone.

source4/dns_server/dns_server.c

index 003dd4ecde8c99a06fca3c861f39771b5d75cde1..e750e33e19ab832ee530803b4cc7ecf37ec1c121 100644 (file)
@@ -833,7 +833,13 @@ static void dns_task_init(struct task_server *task)
 
                z->name = ldb_msg_find_attr_as_string(res->msgs[i], "name", NULL);
                z->dn = talloc_move(z, &res->msgs[i]->dn);
-
+               /* Ignore the RootDNSServers zone and zones that we don't support yet */
+               if ((strcmp(z->name, "RootDNSServers") == 0) ||
+                       (strcmp(z->name, "..TrustAnchors") == 0)) {
+                       DEBUG(10, ("Ignoring zone %s\n", z->name));
+                       talloc_free(z);
+                       continue;
+               }
                DLIST_ADD_END(dns->zones, z, NULL);
        }