Set RecursionAvailable in static responses (#404)

This commit is contained in:
Frank Olbricht
2024-08-11 08:11:46 +02:00
committed by GitHub
parent 78f9e4a5dc
commit dfa62e284b
4 changed files with 4 additions and 0 deletions
+1
View File
@@ -141,6 +141,7 @@ func (r *Blocklist) Resolve(q *dns.Msg, ci ClientInfo) (*dns.Msg, error) {
answer := new(dns.Msg)
answer.SetReply(q)
answer.RecursionAvailable = q.RecursionDesired
// We have an IP address to return, make sure it's of the right type. If not return NXDOMAIN.
var spoof []dns.RR
+1
View File
@@ -56,6 +56,7 @@ func responseWithCode(q *dns.Msg, rcode int) *dns.Msg {
func ptr(q *dns.Msg, names []string) *dns.Msg {
a := new(dns.Msg)
a.SetReply(q)
a.RecursionAvailable = q.RecursionDesired
answer := make([]dns.RR, 0, len(names))
for _, name := range names {
rr := &dns.PTR{
+1
View File
@@ -54,6 +54,7 @@ func NewStaticTemplateResolver(id string, opt StaticResolverOptions) (*StaticTem
func (r *StaticTemplateResolver) Resolve(q *dns.Msg, ci ClientInfo) (*dns.Msg, error) {
answer := new(dns.Msg)
answer.SetReply(q)
answer.RecursionAvailable = q.RecursionDesired
log := logger(r.id, q, ci)
answer.Answer = r.processRRTemplates(q, ci, r.answer...)
+1
View File
@@ -66,6 +66,7 @@ func NewStaticResolver(id string, opt StaticResolverOptions) (*StaticResolver, e
func (r *StaticResolver) Resolve(q *dns.Msg, ci ClientInfo) (*dns.Msg, error) {
answer := new(dns.Msg)
answer.SetReply(q)
answer.RecursionAvailable = q.RecursionDesired
log := logger(r.id, q, ci)
// Update the name of every answer record to match that of the query