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 } }