diff options
Diffstat (limited to 'plugin/cache')
-rw-r--r-- | plugin/cache/cache.go | 2 | ||||
-rw-r--r-- | plugin/cache/cache_test.go | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/plugin/cache/cache.go b/plugin/cache/cache.go index cb7a10140..2967e1b34 100644 --- a/plugin/cache/cache.go +++ b/plugin/cache/cache.go @@ -171,7 +171,7 @@ func (w *ResponseWriter) set(m *dns.Msg, key int, mt response.Type, duration tim case response.OtherError: // don't cache these default: - log.Printf("[WARNING] Caching called with unknown classification: %d", mt) + log.Printf("[WARNING] Caching called with unknown typification: %d", mt) } } diff --git a/plugin/cache/cache_test.go b/plugin/cache/cache_test.go index b475f3473..63b0989b3 100644 --- a/plugin/cache/cache_test.go +++ b/plugin/cache/cache_test.go @@ -22,6 +22,7 @@ type cacheTestCase struct { Authoritative bool RecursionAvailable bool Truncated bool + Response bool shouldCache bool } @@ -112,6 +113,15 @@ var cacheTestCases = []cacheTestCase{ shouldCache: false, }, { + // Response with only something in the additional, this should not be cached. + Response: true, + in: test.Case{ + Qname: "example.org.", Qtype: dns.TypeMX, + Extra: []dns.RR{test.MX("example.org. 1800 IN MX 1 mx.example.org.")}, + }, + shouldCache: false, + }, + { RecursionAvailable: true, Authoritative: true, Case: test.Case{ Qname: "example.org.", Qtype: dns.TypeMX, @@ -140,6 +150,7 @@ func cacheMsg(m *dns.Msg, tc cacheTestCase) *dns.Msg { m.AuthenticatedData = tc.AuthenticatedData m.Authoritative = tc.Authoritative m.Rcode = tc.Rcode + m.Response = tc.Response m.Truncated = tc.Truncated m.Answer = tc.in.Answer m.Ns = tc.in.Ns |