From cbf5ebd64caade4c483f18f43e5c12c708b9571c Mon Sep 17 00:00:00 2001 From: Tom Limoncelli Date: Thu, 16 Jun 2022 17:16:29 -0400 Subject: [PATCH] CLOUDFLAREAPI: Fix quoted TXT bug (#1538) * Cleanup * add GetTargetQuotedRFC1038 * wip! * The RFC is 1035 --- models/target.go | 4 ++++ providers/cloudflare/rest.go | 6 ++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/models/target.go b/models/target.go index f082eb50d..32146ad76 100644 --- a/models/target.go +++ b/models/target.go @@ -91,6 +91,10 @@ func (rc *RecordConfig) zoneFileQuoted() string { return full[len(header):] } +func (rc *RecordConfig) GetTargetRFC1035Quoted() string { + return rc.zoneFileQuoted() +} + // GetTargetSortable returns a string that is sortable. func (rc *RecordConfig) GetTargetSortable() string { return rc.GetTargetDebug() diff --git a/providers/cloudflare/rest.go b/providers/cloudflare/rest.go index 7548ac51b..4314a980c 100644 --- a/providers/cloudflare/rest.go +++ b/providers/cloudflare/rest.go @@ -119,7 +119,7 @@ func (c *cloudflareProvider) createRec(rec *models.RecordConfig, domainID string prio = fmt.Sprintf(" %d ", rec.MxPreference) } if rec.Type == "TXT" { - content = rec.GetTargetField() + content = rec.GetTargetRFC1035Quoted() } if rec.Type == "DS" { content = fmt.Sprintf("%d %d %d %s", rec.DsKeyTag, rec.DsAlgorithm, rec.DsDigestType, rec.DsDigest) @@ -183,9 +183,7 @@ func (c *cloudflareProvider) modifyRecord(domainID, recID string, proxied bool, TTL: int(rec.TTL), } if rec.Type == "TXT" { - if len(rec.TxtStrings) > 1 { - r.Content = `"` + strings.Join(rec.TxtStrings, `" "`) + `"` - } + r.Content = rec.GetTargetRFC1035Quoted() } if rec.Type == "SRV" { r.Data = cfSrvData(rec)