aboutsummaryrefslogtreecommitdiff
path: root/plugin/cache/handler.go
diff options
context:
space:
mode:
authorGravatar Arthur Outhenin-Chalandre <arthur@cri.epita.fr> 2023-01-27 17:35:24 +0100
committerGravatar GitHub <noreply@github.com> 2023-01-27 11:35:24 -0500
commitbf7c2cf37bf35ba3a7596cb32c5a3607d896f95d (patch)
tree83a2dc9ae6ec2bd04074f42dd0d5f1962f916f68 /plugin/cache/handler.go
parentd3e4fc78c3b80c1768b0f95ad849b07ba9968ba5 (diff)
downloadcoredns-bf7c2cf37bf35ba3a7596cb32c5a3607d896f95d.tar.gz
coredns-bf7c2cf37bf35ba3a7596cb32c5a3607d896f95d.tar.zst
coredns-bf7c2cf37bf35ba3a7596cb32c5a3607d896f95d.zip
plugin/cache: add a new keepttl option (#5879)
adds a new option `keepttl` to the cache plugin Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@proton.ch>
Diffstat (limited to 'plugin/cache/handler.go')
-rw-r--r--plugin/cache/handler.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/plugin/cache/handler.go b/plugin/cache/handler.go
index e60637af8..de7cae456 100644
--- a/plugin/cache/handler.go
+++ b/plugin/cache/handler.go
@@ -71,6 +71,11 @@ func (c *Cache) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg)
})
}
+ if c.keepttl {
+ // If keepttl is enabled we fake the current time to the stored
+ // one so that we always get the original TTL
+ now = i.stored
+ }
resp := i.toMsg(r, now, do, ad)
w.WriteMsg(resp)
return dns.RcodeSuccess, nil