aboutsummaryrefslogtreecommitdiff
path: root/plugin/cache/item.go
diff options
context:
space:
mode:
authorGravatar Miek Gieben <miek@miek.nl> 2018-02-17 19:45:52 +0100
committerGravatar GitHub <noreply@github.com> 2018-02-17 19:45:52 +0100
commit8cce06cba10c42ce501a57bd3b7d06ca6064d774 (patch)
tree8b5058915fe0dc06580c1a81a3f795449e17a508 /plugin/cache/item.go
parent9719a47c1bc0bf0098ee07fd004e4d2d2ee139d9 (diff)
downloadcoredns-8cce06cba10c42ce501a57bd3b7d06ca6064d774.tar.gz
coredns-8cce06cba10c42ce501a57bd3b7d06ca6064d774.tar.zst
coredns-8cce06cba10c42ce501a57bd3b7d06ca6064d774.zip
Type.extra (#1538)
* Revert "pkg/typify: empty messages are OtherError (#1531)" This reverts commit fc1d73ffa9ae193c4cfca4adc194ae43f9360dbb. * plugin/cache: add failsafeTTL If we can not see what TTL we should put on a message to be cached, use 5 seconds as minimal TTL. We used to apply the maximum TTL to these messages.
Diffstat (limited to 'plugin/cache/item.go')
-rw-r--r--plugin/cache/item.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/plugin/cache/item.go b/plugin/cache/item.go
index 3943ff4ae..55d618a39 100644
--- a/plugin/cache/item.go
+++ b/plugin/cache/item.go
@@ -95,6 +95,11 @@ func minMsgTTL(m *dns.Msg, mt response.Type) time.Duration {
return 0
}
+ // No data to examine, return a short ttl as a fail safe.
+ if len(m.Answer)+len(m.Ns) == 0 {
+ return failSafeTTL
+ }
+
minTTL := maxTTL
for _, r := range append(m.Answer, m.Ns...) {
switch mt {