diff options
author | Martin Polden <mpolden@mpolden.no> | 2019-12-28 17:17:11 +0100 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2019-12-28 17:53:58 +0100 |
commit | 5b8188dc1958064590db918b7cd0938139ad3b9b (patch) | |
tree | 8f77fbed5d5ff29e62eddce737fbba48d25de235 /cache/cache.go | |
parent | 381cb4961eea01e59a15a870f576d582eaa08781 (diff) |
Fix expiry check
Diffstat (limited to 'cache/cache.go')
-rw-r--r-- | cache/cache.go | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/cache/cache.go b/cache/cache.go index e1d540a..167ff08 100644 --- a/cache/cache.go +++ b/cache/cache.go @@ -182,13 +182,8 @@ func (c *Cache) evictExpired() { } func (c *Cache) isExpired(v *Value) bool { - now := c.now() - for _, answer := range v.msg.Answer { - if now.After(v.CreatedAt.Add(ttl(answer))) { - return true - } - } - return false + expiresAt := v.CreatedAt.Add(minTTL(v.msg)) + return c.now().After(expiresAt) } func min(x, y uint32) uint32 { @@ -215,8 +210,3 @@ func canCache(m *dns.Msg) bool { } return m.Rcode == dns.RcodeSuccess || m.Rcode == dns.RcodeNameError } - -func ttl(rr dns.RR) time.Duration { - ttlSecs := rr.Header().Ttl - return time.Duration(ttlSecs) * time.Second -} |