dns

DNS client and server implementations using the Go project's dnsmessage package
Log | Files | Refs | README | LICENSE

commit 16fb0dea8a6bd2b750ffd7f706401125f18d222a
parent a7c06b85bf15297629c13f8aae6cf51c828119b2
Author: Oliver Lowe <o@olowe.co>
Date:   Fri, 17 Dec 2021 19:36:58 +1100

recursor: set more correct header bits in response

This is what quad9 and google's dns resolver do

Diffstat:
Mcmd/recursor/recursor.go | 2++
1 file changed, 2 insertions(+), 0 deletions(-)

diff --git a/cmd/recursor/recursor.go b/cmd/recursor/recursor.go @@ -26,6 +26,7 @@ func handler(w dns.ResponseWriter, qmsg *dnsmessage.Message) { var rmsg dnsmessage.Message rmsg.Header.ID = qmsg.Header.ID rmsg.Header.Response = true + rmsg.Header.RecursionAvailable = true rmsg.Questions = qmsg.Questions if reject, rc := shouldReject(qmsg); reject { @@ -33,6 +34,7 @@ func handler(w dns.ResponseWriter, qmsg *dnsmessage.Message) { w.WriteMsg(rmsg) return } + rmsg.RecursionDesired = true q := qmsg.Questions[0] cache.RLock()