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) } }