Revert "Set ECS prefix as scope"

This reverts commit 82c793d78d.
This commit is contained in:
Star Brilliant
2017-10-04 14:27:02 +08:00
parent 15e6ec1491
commit 1668f0f18c
2 changed files with 10 additions and 3 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)
fullReply := jsonDNS.Unmarshal(reply, &respJson, udpSize, ednsClientNetmask)
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) *dns.Msg {
func Unmarshal(msg *dns.Msg, resp *Response, udpSize uint16, ednsClientNetmask uint8) *dns.Msg {
now := time.Now().UTC()
reply := msg.Copy()
@@ -110,10 +110,17 @@ func Unmarshal(msg *dns.Msg, resp *Response, udpSize uint16) *dns.Msg {
}
}
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 = ednsClientScope
edns0Subnet.SourceNetmask = ednsClientNetmask
edns0Subnet.SourceScope = ednsClientScope
edns0Subnet.Address = ednsClientAddress
opt.Option = append(opt.Option, edns0Subnet)