diff options
author | 2018-02-17 19:45:52 +0100 | |
---|---|---|
committer | 2018-02-17 19:45:52 +0100 | |
commit | 8cce06cba10c42ce501a57bd3b7d06ca6064d774 (patch) | |
tree | 8b5058915fe0dc06580c1a81a3f795449e17a508 /plugin/cache/item.go | |
parent | 9719a47c1bc0bf0098ee07fd004e4d2d2ee139d9 (diff) | |
download | coredns-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.go | 5 |
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 { |