From fc1d73ffa9ae193c4cfca4adc194ae43f9360dbb Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Fri, 16 Feb 2018 09:43:22 +0100 Subject: pkg/typify: empty messages are OtherError (#1531) Messages with nothing in them are considered OtherError, they can not serve any purpose for normal clients (i.e. dyn update or notifies might have a use for them). Also update a test in the cache plugin, so that we explicitaly test for this case. --- plugin/cache/cache_test.go | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'plugin/cache/cache_test.go') 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 } @@ -111,6 +112,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{ @@ -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 -- cgit v1.2.3