aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--middleware/cache/cache.go6
-rw-r--r--middleware/cache/item.go3
2 files changed, 8 insertions, 1 deletions
diff --git a/middleware/cache/cache.go b/middleware/cache/cache.go
index 6249b8faa..fd804d445 100644
--- a/middleware/cache/cache.go
+++ b/middleware/cache/cache.go
@@ -74,7 +74,7 @@ func (c *CachingResponseWriter) WriteMsg(res *dns.Msg) error {
func (c *CachingResponseWriter) set(m *dns.Msg, key string, mt middleware.MsgType) {
if key == "" {
- // logger the log? TODO(miek)
+ log.Printf("[ERROR] Caching called with empty cache key")
return
}
@@ -94,6 +94,10 @@ func (c *CachingResponseWriter) set(m *dns.Msg, key string, mt middleware.MsgTyp
i := newItem(m, duration)
c.cache.Set(key, i, duration)
+ case middleware.OtherError:
+ // don't cache these
+ default:
+ log.Printf("[WARNING] Caching called with unknown middleware MsgType: %d", mt)
}
}
diff --git a/middleware/cache/item.go b/middleware/cache/item.go
index 6f0190c52..544de3c9a 100644
--- a/middleware/cache/item.go
+++ b/middleware/cache/item.go
@@ -74,6 +74,9 @@ func setCap(m *dns.Msg, ttl uint32) {
r.Header().Ttl = uint32(ttl)
}
for _, r := range m.Extra {
+ if r.Header().Rrtype == dns.TypeOPT {
+ continue
+ }
r.Header().Ttl = uint32(ttl)
}
}