From a255190005ad6f44a48b3523023415b19aa78a1d Mon Sep 17 00:00:00 2001 From: Knut Ahlers Date: Tue, 30 Jan 2018 17:01:13 +0100 Subject: [PATCH] Force record TTL on alias records Signed-off-by: Knut Ahlers --- alias.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/alias.go b/alias.go index f1a9997..3b8db63 100644 --- a/alias.go +++ b/alias.go @@ -45,10 +45,14 @@ func (r *ResponseModifier) WriteMsg(res *dns.Msg) error { } // Find and delete CNAME record on that zone, storing the canonical name. - var cname string + var ( + cname string + ttl uint32 + ) for i, rr := range res.Answer { if rr.Header().Rrtype == dns.TypeCNAME && rr.Header().Name == zone { cname = rr.(*dns.CNAME).Target + ttl = rr.(*dns.CNAME).Header().Ttl // Remove the CNAME record res.Answer = append(res.Answer[:i], res.Answer[i+1:]...) break @@ -59,6 +63,7 @@ func (r *ResponseModifier) WriteMsg(res *dns.Msg) error { for _, rr := range res.Answer { if rr.Header().Name == cname { rr.Header().Name = zone + rr.Header().Ttl = ttl } }