39 lines
1.4 KiB
Plaintext
39 lines
1.4 KiB
Plaintext
--- dns/server.go
|
|
+++ dns/server.go
|
|
@@ -605,6 +605,8 @@ func (s *Server) checkRequestConditions(w dns.ResponseWriter, r *dns.Msg, startT
|
|
if r.RecursionDesired == false {
|
|
se := new(dns.Msg)
|
|
se.SetReply(r)
|
|
+// 设置递归可用标志
|
|
+response.RecursionAvailable = true
|
|
不再硬编码 RecursionAvailable,使用默认值或上游返回的值
|
|
se.SetRcode(r, dns.RcodeRefused)
|
|
se)
|
|
@@ -1010,6 +1012,8 @@ func (s *Server) handleHostsResponse(w dns.ResponseWriter, r *dns.Msg, ip string
|
|
func handleHostsResponse(w dns.ResponseWriter, r *dns.Msg, ip string) {
|
|
response := new(dns.Msg)
|
|
response.SetReply(r)
|
|
+// 设置递归可用标志(因为我们的 DNS 服务器支持递归查询)
|
|
+response.RecursionAvailable = true
|
|
// 不再硬编码 RecursionAvailable,使用默认值或上游返回的值
|
|
|
|
if len(r.Question) > 0 {
|
|
@@ -1051,6 +1055,8 @@ func (s *Server) handleGFWListResponse(w dns.ResponseWriter, r *dns.Msg, domain
|
|
|
|
response := new(dns.Msg)
|
|
response.SetReply(r)
|
|
+// 设置递归可用标志
|
|
+response.RecursionAvailable = true
|
|
|
|
if len(r.Question) > 0 {
|
|
:= r.Question[0]
|
|
@@ -1082,6 +1088,8 @@ func (s *Server) handleBlockedResponse(w dns.ResponseWriter, r *dns.Msg, domain
|
|
|
|
response := new(dns.Msg)
|
|
response.SetReply(r)
|
|
+// 设置递归可用标志
|
|
+response.RecursionAvailable = true
|
|
// 不再硬编码 RecursionAvailable,使用默认值或上游返回的值
|
|
|
|
// 获取屏蔽方法配置
|