forked from loweel/zabov
- BUG FIX: preserving DNS RCode in Zabov responses (SetReply(query) resets it to RcodeSuccess)
Some DNS client (such as MS Windows) misbehave in case of always positive responsesgolang-1.15-vendoring
parent
c56789e193
commit
d74f2a973e
|
@ -30,7 +30,9 @@ func ForwardQuery(query *dns.Msg, config string, nocache bool) *dns.Msg {
|
|||
if !nocache {
|
||||
if cached := GetDomainFromCache(lfqdn); cached != nil {
|
||||
go incrementStats("CacheHit", 1)
|
||||
Rcode := cached.MsgHdr.Rcode
|
||||
cached.SetReply(query)
|
||||
cached.MsgHdr.Rcode = Rcode
|
||||
cached.Authoritative = true
|
||||
if ZabovDebug {
|
||||
log.Println("ForwardQuery: CacheHit")
|
||||
|
@ -65,7 +67,9 @@ func ForwardQuery(query *dns.Msg, config string, nocache bool) *dns.Msg {
|
|||
continue
|
||||
} else {
|
||||
go incrementStats(d, 1)
|
||||
Rcode := in.MsgHdr.Rcode
|
||||
in.SetReply(query)
|
||||
in.MsgHdr.Rcode = Rcode
|
||||
in.Authoritative = true
|
||||
in.Compress = true
|
||||
go DomainCache(lfqdn, in)
|
||||
|
|
Loading…
Reference in New Issue