Add safesearch test for dnsforward

This commit is contained in:
Aleksey Dmitrevskiy
2019-02-25 14:58:54 +03:00
parent 3916f1073d
commit d0f4f22e0d
3 changed files with 73 additions and 21 deletions

View File

@@ -637,6 +637,7 @@ func (d *Dnsfilter) checkSafeSearch(host string) (Result, error) {
return Result{}, err
}
res.IP = addrs[0]
// The next bug may occurs: LookupIP returns DNS64 mapped ipv4 address with zero-prefix
for _, i := range addrs {
if ipv4 := i.To4(); ipv4 != nil && len(i) == net.IPv6len {
@@ -645,10 +646,6 @@ func (d *Dnsfilter) checkSafeSearch(host string) (Result, error) {
}
}
if res.IP == nil || len(res.IP) == 0 {
res.IP = addrs[0]
}
// Cache result
err = safeSearchCache.Set(host, res)
if err != nil {

View File

@@ -702,6 +702,8 @@ func TestSafeSearchCacheGoogle (t *testing.T) {
t.Fatalf("SafeSearch is not enabled but there is an answer!")
}
// Enable safesearch and check host
d.SafeSearchEnabled = true
// Let's lookup for safesearch domain
safeDomain, ok := d.SafeSearchDomain(domain)
@@ -714,20 +716,13 @@ func TestSafeSearchCacheGoogle (t *testing.T) {
t.Fatalf("Failed to lookup for %s", safeDomain)
}
var ip net.IP
ip := ips[0]
for _, i := range ips {
if len(i) == net.IPv6len && i.To4() != nil {
ip = i
}
}
if ip == nil || len(ip) == 0 {
ip = ips[0]
}
// Enable safesearch and check host
d.SafeSearchEnabled = true
result, err = d.CheckHost(domain)
if err != nil {
t.Fatalf("CheckHost for safesearh domain %s failed cause %s", domain, err)