fix dns hijacking

This commit is contained in:
Kr328
2020-04-14 02:17:07 +08:00
parent 532760e71a
commit c2280555d3

View File

@@ -35,13 +35,11 @@ func InitialResolver() {
rawResolver := resolver.DefaultResolver
if rawResolver == nil {
hijackAddress = nil
dnsHandler = nil
return
}
r, ok := rawResolver.(*dns.Resolver)
if !ok || r == nil {
hijackAddress = nil
dnsHandler = nil
return
}
@@ -54,6 +52,10 @@ func hijackTCPDNS(conn net.Conn, endpoint *binding.Endpoint) bool {
return false
}
if dnsHandler == nil {
return false
}
if !hijackAddress.Equal(net.IPv4zero) && !hijackAddress.Equal(net.IPv6zero) && !hijackAddress.Equal(endpoint.Target.IP) {
return false
}
@@ -103,6 +105,10 @@ func hijackDNS(payload []byte, endpoint *binding.Endpoint, sender redirect.UDPSe
return false
}
if dnsHandler == nil {
return false
}
if !hijackAddress.Equal(net.IPv4zero) && !hijackAddress.Equal(net.IPv6zero) && !hijackAddress.Equal(endpoint.Target.IP) {
return false
}