- DNS: filtering didn't work
This commit is contained in:
parent
06b3378fd7
commit
c16dc6cf62
|
@ -686,12 +686,12 @@ func processFilteringAfterResponse(ctx *dnsContext) int {
|
|||
d.Res.Answer = answer
|
||||
}
|
||||
|
||||
case dnsfilter.RewriteEtcHosts:
|
||||
case dnsfilter.NotFilteredWhiteList:
|
||||
// nothing
|
||||
|
||||
default:
|
||||
if !ctx.protectionEnabled {
|
||||
if !ctx.protectionEnabled || // filters are disabled: there's nothing to check for
|
||||
!ctx.responseFromUpstream { // only check response if it's from an upstream server
|
||||
break
|
||||
}
|
||||
origResp2 := d.Res
|
||||
|
@ -817,6 +817,10 @@ func (s *Server) updateStats(d *proxy.DNSContext, elapsed time.Duration, res dns
|
|||
case dnsfilter.NotFilteredWhiteList:
|
||||
fallthrough
|
||||
case dnsfilter.NotFilteredError:
|
||||
fallthrough
|
||||
case dnsfilter.ReasonRewrite:
|
||||
fallthrough
|
||||
case dnsfilter.RewriteEtcHosts:
|
||||
e.Result = stats.RNotFiltered
|
||||
|
||||
case dnsfilter.FilteredSafeBrowsing:
|
||||
|
|
|
@ -225,11 +225,15 @@ func (a *AutoHosts) update() {
|
|||
}
|
||||
|
||||
// Process - get the list of IP addresses for the hostname
|
||||
// Return nil if not found
|
||||
func (a *AutoHosts) Process(host string) []net.IP {
|
||||
var ipsCopy []net.IP
|
||||
a.lock.Lock()
|
||||
ips, _ := a.table[host]
|
||||
ipsCopy := make([]net.IP, len(ips))
|
||||
copy(ipsCopy, ips)
|
||||
if len(ips) != 0 {
|
||||
ipsCopy = make([]net.IP, len(ips))
|
||||
copy(ipsCopy, ips)
|
||||
}
|
||||
a.lock.Unlock()
|
||||
return ipsCopy
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue