Copy the DO bit from questions to synthetic responses

This commit is contained in:
Frank Denis 2019-12-11 13:56:25 +01:00
parent 1674bb1742
commit 9553d7f8c5
1 changed files with 5 additions and 4 deletions

View File

@ -10,7 +10,8 @@ import (
)
func EmptyResponseFromMessage(srcMsg *dns.Msg) *dns.Msg {
dstMsg := *srcMsg
dstMsg := dns.Msg{MsgHdr: srcMsg.MsgHdr}
dstMsg.Question = srcMsg.Question
dstMsg.Response = true
if srcMsg.RecursionDesired {
dstMsg.RecursionAvailable = true
@ -18,9 +19,9 @@ func EmptyResponseFromMessage(srcMsg *dns.Msg) *dns.Msg {
dstMsg.RecursionDesired = false
dstMsg.CheckingDisabled = false
dstMsg.AuthenticatedData = false
dstMsg.Answer = make([]dns.RR, 0)
dstMsg.Ns = make([]dns.RR, 0)
dstMsg.Extra = make([]dns.RR, 0)
if edns0 := srcMsg.IsEdns0(); edns0 != nil {
dstMsg.SetEdns0(edns0.UDPSize(), edns0.Do())
}
return &dstMsg
}