s4 dns: Handle CNAME records
authorKai Blin <kai@samba.org>
Fri, 1 Oct 2010 00:05:23 +0000 (17:05 -0700)
committerKai Blin <kai@samba.org>
Sat, 23 Oct 2010 10:17:06 +0000 (10:17 +0000)
source4/dns_server/dns_server.c

index 94a2cc995e65a063cdd59f05ecd227cdf84ac5fa..3be143067c227e8a98746447e942dc40dbfd59b5 100644 (file)
@@ -230,6 +230,21 @@ static NTSTATUS handle_question(struct dns_server *dns,
        NT_STATUS_HAVE_NO_MEMORY(ans);
 
        switch (question->question_type) {
+       case DNS_QTYPE_CNAME:
+               for (ri = 0; ri < el->num_values; ri++) {
+                       if (recs[ri].wType != question->question_type) {
+                               continue;
+                       }
+
+                       ZERO_STRUCT(ans[ai]);
+                       ans[ai].name = talloc_strdup(ans, question->name);
+                       ans[ai].rr_type = DNS_QTYPE_CNAME;
+                       ans[ai].rr_class = DNS_QCLASS_IP;
+                       ans[ai].ttl = recs[ri].dwTtlSeconds;
+                       ans[ai].rdata.cname_record = talloc_strdup(ans, recs[ri].data.cname);
+                       ai++;
+               }
+               break;
        case DNS_QTYPE_A:
                for (ri = 0; ri < el->num_values; ri++) {
                        if (recs[ri].wType != question->question_type) {