aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2019-12-28 17:17:11 +0100
committerMartin Polden <mpolden@mpolden.no>2019-12-28 17:53:58 +0100
commit5b8188dc1958064590db918b7cd0938139ad3b9b (patch)
tree8f77fbed5d5ff29e62eddce737fbba48d25de235
parent381cb4961eea01e59a15a870f576d582eaa08781 (diff)
Fix expiry check
-rw-r--r--cache/cache.go14
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
-}