Set ECS prefix as scope

This commit is contained in:
Star Brilliant
2017-10-04 13:32:23 +08:00
parent dc242ed284
commit 82c793d78d
2 changed files with 3 additions and 10 deletions

View File

@@ -156,7 +156,7 @@ func (c *Client) handlerFunc(w dns.ResponseWriter, r *dns.Msg, isTCP bool) {
return
}
fullReply := jsonDNS.Unmarshal(reply, &respJson, udpSize, ednsClientNetmask)
fullReply := jsonDNS.Unmarshal(reply, &respJson, udpSize)
buf, err := fullReply.Pack()
if err != nil {
log.Println(err)

View File

@@ -42,7 +42,7 @@ func PrepareReply(req *dns.Msg) *dns.Msg {
return reply
}
func Unmarshal(msg *dns.Msg, resp *Response, udpSize uint16, ednsClientNetmask uint8) *dns.Msg {
func Unmarshal(msg *dns.Msg, resp *Response, udpSize uint16) *dns.Msg {
now := time.Now().UTC()
reply := msg.Copy()
@@ -110,17 +110,10 @@ func Unmarshal(msg *dns.Msg, resp *Response, udpSize uint16, ednsClientNetmask u
}
}
if ednsClientAddress != nil {
if ednsClientNetmask == 255 {
if ednsClientFamily == 1 {
ednsClientNetmask = 24
} else {
ednsClientNetmask = 48
}
}
edns0Subnet := new(dns.EDNS0_SUBNET)
edns0Subnet.Code = dns.EDNS0SUBNET
edns0Subnet.Family = ednsClientFamily
edns0Subnet.SourceNetmask = ednsClientNetmask
edns0Subnet.SourceNetmask = ednsClientScope
edns0Subnet.SourceScope = ednsClientScope
edns0Subnet.Address = ednsClientAddress
opt.Option = append(opt.Option, edns0Subnet)