commit 16fb0dea8a6bd2b750ffd7f706401125f18d222a from: Oliver Lowe date: Fri Dec 17 08:36:58 2021 UTC recursor: set more correct header bits in response This is what quad9 and google's dns resolver do commit - a7c06b85bf15297629c13f8aae6cf51c828119b2 commit + 16fb0dea8a6bd2b750ffd7f706401125f18d222a blob - 22a93824298b83d275c54c8a58450244b4037ec9 blob + d452495bebba48c909a222b91c286b153ca7caed --- cmd/recursor/recursor.go +++ cmd/recursor/recursor.go @@ -26,6 +26,7 @@ func handler(w dns.ResponseWriter, qmsg *dnsmessage.Me 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.Me w.WriteMsg(rmsg) return } + rmsg.RecursionDesired = true q := qmsg.Questions[0] cache.RLock()