From 296f7356e0b01a99898e358480f837bd4d913e9f Mon Sep 17 00:00:00 2001 From: lordwelch Date: Tue, 23 Jun 2020 00:19:07 -0700 Subject: [PATCH] Set the recursion available flag --- internal/dns/dns.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/internal/dns/dns.go b/internal/dns/dns.go index 0f1a69a..46a870c 100644 --- a/internal/dns/dns.go +++ b/internal/dns/dns.go @@ -480,6 +480,7 @@ func (s *Server) handleInternal(w dns.ResponseWriter, r *dns.Msg) { if err == errEmpty { m := new(dns.Msg) m.SetReply(r) + m.RecursionAvailable = true w.WriteMsg(m) return } @@ -488,6 +489,7 @@ func (s *Server) handleInternal(w dns.ResponseWriter, r *dns.Msg) { if rr != nil { m := new(dns.Msg) m.SetReply(r) + m.RecursionAvailable = true m.Answer = append(m.Answer, rr) w.WriteMsg(m) return @@ -495,6 +497,7 @@ func (s *Server) handleInternal(w dns.ResponseWriter, r *dns.Msg) { // Send an authoritative NXDOMAIN for local: m := new(dns.Msg) m.SetReply(r) + m.RecursionAvailable = true m.SetRcode(r, dns.RcodeNameError) w.WriteMsg(m) } @@ -582,6 +585,7 @@ func (s *Server) subnameHandler(hostname lcHostname) func(w dns.ResponseWriter, if err == errEmpty { m := new(dns.Msg) m.SetReply(r) + m.RecursionAvailable = true w.WriteMsg(m) return } @@ -591,6 +595,7 @@ func (s *Server) subnameHandler(hostname lcHostname) func(w dns.ResponseWriter, s.promInc("local", r) m := new(dns.Msg) m.SetReply(r) + m.RecursionAvailable = true m.Answer = append(m.Answer, rr) w.WriteMsg(m) return @@ -601,6 +606,7 @@ func (s *Server) subnameHandler(hostname lcHostname) func(w dns.ResponseWriter, s.promInc("local", r) m := new(dns.Msg) m.SetReply(r) + m.RecursionAvailable = true m.SetRcode(r, dns.RcodeNameError) w.WriteMsg(m) return