From 4d214d7f5235010eb9bd1ba2a7170ad08442767c Mon Sep 17 00:00:00 2001 From: Yannik Sembritzki Date: Fri, 2 Mar 2018 14:58:39 +0100 Subject: [PATCH] return cname if requested RR was not found and cname exists --- dns.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dns.go b/dns.go index 3e687a4..86c883c 100644 --- a/dns.go +++ b/dns.go @@ -52,7 +52,11 @@ func answer(q dns.Question) ([]dns.RR, int, error) { var rtype = q.Qtype r, ok := RR.Records[rtype][domain] if !ok { - rcode = dns.RcodeNameError + r, ok = RR.Records[dns.TypeCNAME][domain] + if !ok { + rcode = dns.RcodeNameError + } + } log.WithFields(log.Fields{"qtype": dns.TypeToString[rtype], "domain": domain, "rcode": dns.RcodeToString[rcode]}).Debug("Answering question for domain") return r, rcode, nil