diff options
author | 2023-03-23 11:34:11 -0400 | |
---|---|---|
committer | 2023-03-23 11:34:11 -0400 | |
commit | 48c40ae1cd4e0c0a2b6aaf0141c7111822ac7cd3 (patch) | |
tree | d69c4840517673ec9c0b2f6bd17b7ea65f14fc9a /plugin/clouddns/clouddns.go | |
parent | c2d56581b5b90dcf5b60a012b25c0101090ba40b (diff) | |
download | coredns-48c40ae1cd4e0c0a2b6aaf0141c7111822ac7cd3.tar.gz coredns-48c40ae1cd4e0c0a2b6aaf0141c7111822ac7cd3.tar.zst coredns-48c40ae1cd4e0c0a2b6aaf0141c7111822ac7cd3.zip |
fix: clouddns plugin answers limited to one response (#5986)
* inserts all records in the loop. checks for insert errors. adds test. fixes #5985
Signed-off-by: Marcos Mendez <marcos_mendez@homedepot.com>
Diffstat (limited to 'plugin/clouddns/clouddns.go')
-rw-r--r-- | plugin/clouddns/clouddns.go | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/plugin/clouddns/clouddns.go b/plugin/clouddns/clouddns.go index e09c247be..0e31a40cd 100644 --- a/plugin/clouddns/clouddns.go +++ b/plugin/clouddns/clouddns.go @@ -161,16 +161,18 @@ func updateZoneFromRRS(rrs *gcp.ResourceRecordSetsListResponse, z *file.Zone) er if rr.Type == "CNAME" || rr.Type == "PTR" { value = dns.Fqdn(value) } - // Assemble RFC 1035 conforming record to pass into dns scanner. rfc1035 = fmt.Sprintf("%s %d IN %s %s", dns.Fqdn(rr.Name), rr.Ttl, rr.Type, value) r, err = dns.NewRR(rfc1035) if err != nil { return fmt.Errorf("failed to parse resource record: %v", err) } - } - z.Insert(r) + err = z.Insert(r) + if err != nil { + return fmt.Errorf("failed to insert record: %v", err) + } + } } return nil } |