Fix: dns return empty success for AAAA & recursion in fake ip mode (#663)
This commit is contained in:
parent
41a9488cfa
commit
7d51ab5846
1 changed files with 11 additions and 2 deletions
|
@ -18,7 +18,14 @@ func withFakeIP(fakePool *fakeip.Pool) middleware {
|
||||||
q := r.Question[0]
|
q := r.Question[0]
|
||||||
|
|
||||||
if q.Qtype == D.TypeAAAA {
|
if q.Qtype == D.TypeAAAA {
|
||||||
D.HandleFailed(w, r)
|
msg := &D.Msg{}
|
||||||
|
msg.Answer = []D.RR{}
|
||||||
|
|
||||||
|
msg.SetRcode(r, D.RcodeSuccess)
|
||||||
|
msg.Authoritative = true
|
||||||
|
msg.RecursionAvailable = true
|
||||||
|
|
||||||
|
w.WriteMsg(msg)
|
||||||
return
|
return
|
||||||
} else if q.Qtype != D.TypeA {
|
} else if q.Qtype != D.TypeA {
|
||||||
next(w, r)
|
next(w, r)
|
||||||
|
@ -39,8 +46,10 @@ func withFakeIP(fakePool *fakeip.Pool) middleware {
|
||||||
msg.Answer = []D.RR{rr}
|
msg.Answer = []D.RR{rr}
|
||||||
|
|
||||||
setMsgTTL(msg, 1)
|
setMsgTTL(msg, 1)
|
||||||
msg.SetRcode(r, msg.Rcode)
|
msg.SetRcode(r, D.RcodeSuccess)
|
||||||
msg.Authoritative = true
|
msg.Authoritative = true
|
||||||
|
msg.RecursionAvailable = true
|
||||||
|
|
||||||
w.WriteMsg(msg)
|
w.WriteMsg(msg)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue