[PATCH] Two small dns server fixes
Volker Lendecke
Volker.Lendecke at SerNet.DE
Sat Aug 1 16:03:46 UTC 2015
Hi!
Review&push appreciated!
Thanks,
Volker
--
SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
http://www.sernet.de, mailto:kontakt at sernet.de
-------------- next part --------------
From 058a19e2571bb6bd21b95c0e9610d2059a261bd2 Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Sat, 1 Aug 2015 17:53:56 +0200
Subject: [PATCH 1/2] dns_server: Add NULL check
Signed-off-by: Volker Lendecke <vl at samba.org>
---
source4/dns_server/dns_query.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/source4/dns_server/dns_query.c b/source4/dns_server/dns_query.c
index 4e3c6cc..de0a433 100644
--- a/source4/dns_server/dns_query.c
+++ b/source4/dns_server/dns_query.c
@@ -91,6 +91,7 @@ static WERROR create_response_rr(const struct dns_name_question *question,
break;
case DNS_QTYPE_PTR:
ans[ai].rdata.ptr_record = talloc_strdup(ans, rec->data.ptr);
+ W_ERROR_HAVE_NO_MEMORY(ans[ai].rdata.ptr_record);
break;
case DNS_QTYPE_MX:
ans[ai].rdata.mx_record.preference = rec->data.mx.wPriority;
--
1.7.9.5
From 87bd1c32482931a775914729be5da6897b169985 Mon Sep 17 00:00:00 2001
From: Volker Lendecke <vl at samba.org>
Date: Sat, 1 Aug 2015 17:59:14 +0200
Subject: [PATCH 2/2] dns_server: Fix CNAME handling
recs[i].wtype is == DNS_TYPE_CNAME, and my understanding of the union is that
data.cname is filled. We get away with this, because ipv4 and ipv6 have the
same char * representation, but it's confusing.
Signed-off-by: Volker Lendecke <vl at samba.org>
---
source4/dns_server/dns_query.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/source4/dns_server/dns_query.c b/source4/dns_server/dns_query.c
index de0a433..3cafc23 100644
--- a/source4/dns_server/dns_query.c
+++ b/source4/dns_server/dns_query.c
@@ -309,11 +309,7 @@ static WERROR handle_question(struct dns_server *dns,
/* First build up the new question */
new_q->question_type = question->question_type;
new_q->question_class = question->question_class;
- if (new_q->question_type == DNS_QTYPE_A) {
- new_q->name = talloc_strdup(new_q, recs[ri].data.ipv4);
- } else if (new_q->question_type == DNS_QTYPE_AAAA) {
- new_q->name = talloc_strdup(new_q, recs[ri].data.ipv6);
- }
+ new_q->name = talloc_strdup(new_q, recs[ri].data.cname);
if (new_q->name == NULL) {
TALLOC_FREE(new_q);
return WERR_NOMEM;
--
1.7.9.5
More information about the samba-technical
mailing list