Revert "Cache DNS lookups when resolving safebrowsing or parental servers, also cache replacement hostnames as well."

This reverts commit a5d1053520.

This cache had unintended side effects.
This commit is contained in:
Eugene Bujak 2018-11-02 12:15:30 +03:00
parent 19e30dbccc
commit 2449075bca
2 changed files with 13 additions and 33 deletions

View File

@ -41,16 +41,6 @@ func init() {
}) })
} }
type cacheEntry struct {
answer []dns.RR
lastUpdated time.Time
}
var (
lookupCacheTime = time.Minute * 30
lookupCache = map[string]cacheEntry{}
)
type plugFilter struct { type plugFilter struct {
ID int64 ID int64
Path string Path string
@ -345,29 +335,20 @@ func (p *plug) replaceHostWithValAndReply(ctx context.Context, w dns.ResponseWri
records = append(records, result) records = append(records, result)
} else { } else {
// this is a domain name, need to look it up // this is a domain name, need to look it up
cacheentry := lookupCache[val] req := new(dns.Msg)
if time.Since(cacheentry.lastUpdated) > lookupCacheTime { req.SetQuestion(dns.Fqdn(val), question.Qtype)
req := new(dns.Msg) req.RecursionDesired = true
req.SetQuestion(dns.Fqdn(val), question.Qtype) reqstate := request.Request{W: w, Req: req, Context: ctx}
req.RecursionDesired = true result, err := p.upstream.Lookup(reqstate, dns.Fqdn(val), reqstate.QType())
reqstate := request.Request{W: w, Req: req, Context: ctx} if err != nil {
result, err := p.upstream.Lookup(reqstate, dns.Fqdn(val), reqstate.QType()) log.Printf("Got error %s\n", err)
if err != nil { return dns.RcodeServerFailure, fmt.Errorf("plugin/dnsfilter: %s", err)
log.Printf("Got error %s\n", err) }
return dns.RcodeServerFailure, fmt.Errorf("plugin/dnsfilter: %s", err) if result != nil {
for _, answer := range result.Answer {
answer.Header().Name = question.Name
} }
if result != nil { records = result.Answer
for _, answer := range result.Answer {
answer.Header().Name = question.Name
}
records = result.Answer
cacheentry.answer = result.Answer
cacheentry.lastUpdated = time.Now()
lookupCache[val] = cacheentry
}
} else {
// get from cache
records = cacheentry.answer
} }
} }
m := new(dns.Msg) m := new(dns.Msg)

View File

@ -17,7 +17,6 @@ import (
"sync/atomic" "sync/atomic"
"time" "time"
_ "github.com/benburkert/dns/init"
"github.com/bluele/gcache" "github.com/bluele/gcache"
"golang.org/x/net/publicsuffix" "golang.org/x/net/publicsuffix"
) )