Force record TTL on alias records
Signed-off-by: Knut Ahlers <knut@ahlers.me>pull/2/head
parent
5a79be553d
commit
a255190005
7
alias.go
7
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
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue