Always set RecursionAvailable even on error

This commit is contained in:
Star Brilliant
2017-11-30 17:25:22 +08:00
parent c42303e93e
commit 32e3cfa636

View File

@@ -39,6 +39,7 @@ func PrepareReply(req *dns.Msg) *dns.Msg {
reply.Response = true
reply.Opcode = reply.Opcode
reply.RecursionDesired = req.RecursionDesired
reply.RecursionAvailable = req.RecursionDesired
reply.CheckingDisabled = req.CheckingDisabled
reply.Rcode = dns.RcodeServerFailure
reply.Compress = true
@@ -52,7 +53,6 @@ func Unmarshal(msg *dns.Msg, resp *Response, udpSize uint16, ednsClientNetmask u
reply := msg.Copy()
reply.Truncated = resp.TC
reply.RecursionAvailable = resp.RA
reply.AuthenticatedData = resp.AD
reply.CheckingDisabled = resp.CD
reply.Rcode = dns.RcodeServerFailure