diff --git a/dnscrypt-proxy/dnsutils.go b/dnscrypt-proxy/dnsutils.go index 6ee90b7c..0fc217d1 100644 --- a/dnscrypt-proxy/dnsutils.go +++ b/dnscrypt-proxy/dnsutils.go @@ -73,3 +73,21 @@ func getMinTTL(msg *dns.Msg, minTTL uint32, maxTTL uint32, negCacheMinTTL uint32 } return time.Duration(ttl) * time.Second } + +func setMaxTTL(msg *dns.Msg, ttl uint32) { + for _, rr := range msg.Answer { + if ttl < rr.Header().Ttl { + rr.Header().Ttl = ttl + } + } + for _, rr := range msg.Ns { + if ttl < rr.Header().Ttl { + rr.Header().Ttl = ttl + } + } + for _, rr := range msg.Extra { + if ttl < rr.Header().Ttl { + rr.Header().Ttl = ttl + } + } +}