From 2f7f6390d003b3f1508ba95f88db587609e57725 Mon Sep 17 00:00:00 2001 From: angeloxx Date: Mon, 26 Feb 2024 22:27:13 +0100 Subject: [PATCH] Update implemented. --- provider/rfc2136/rfc2136.go | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/provider/rfc2136/rfc2136.go b/provider/rfc2136/rfc2136.go index 27934485d..27d71d841 100644 --- a/provider/rfc2136/rfc2136.go +++ b/provider/rfc2136/rfc2136.go @@ -262,12 +262,6 @@ func (r rfc2136Provider) RemoveReverseRecord(ip string, hostname string) error { return r.ApplyChanges(context.Background(), &plan.Changes{Delete: changes}) } -// @TODO: Implement UpdateReverseRecord -func (r rfc2136Provider) UpdateReverseRecord(ip string, hostname string) error { - changes := r.GenerateReverseRecord(ip, hostname) - return r.ApplyChanges(context.Background(), &plan.Changes{UpdateNew: changes}) -} - func (r rfc2136Provider) GenerateReverseRecord(ip string, hostname string) []*endpoint.Endpoint { // Find the zone for the PTR record // zone := findMsgZone(&endpoint.Endpoint{DNSName: ip}, p.ptrZoneNames) @@ -352,6 +346,10 @@ func (r rfc2136Provider) ApplyChanges(ctx context.Context, changes *plan.Changes m[zone].SetUpdate(zone) r.UpdateRecord(m[zone], changes.UpdateOld[i], ep) + if r.createPTR && (ep.RecordType == "A" || ep.RecordType == "AAAA") { + r.RemoveReverseRecord(changes.UpdateOld[i].Targets[0], ep.DNSName) + r.AddReverseRecord(ep.Targets[0], ep.DNSName) + } } // only send if there are records available