mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2025-11-10 16:30:38 +08:00
CLOUDFLAREAPI: Prevent web UI from displaying warnings about TXT records
This commit is contained in:
parent
6ef0648778
commit
1ca48e2bd6
4 changed files with 12 additions and 6 deletions
|
|
@ -84,6 +84,8 @@ func TestTxtEncode(t *testing.T) {
|
||||||
data []string
|
data []string
|
||||||
expected string
|
expected string
|
||||||
}{
|
}{
|
||||||
|
{[]string{"simple"}, `"simple"`},
|
||||||
|
{[]string{`"quoted"`}, `"\"quoted\""`},
|
||||||
{[]string{}, `""`},
|
{[]string{}, `""`},
|
||||||
{[]string{``}, `""`},
|
{[]string{``}, `""`},
|
||||||
{[]string{`foo`}, `"foo"`},
|
{[]string{`foo`}, `"foo"`},
|
||||||
|
|
|
||||||
|
|
@ -11,9 +11,7 @@ import (
|
||||||
func AuditRecords(records []*models.RecordConfig) []error {
|
func AuditRecords(records []*models.RecordConfig) []error {
|
||||||
a := rejectif.Auditor{}
|
a := rejectif.Auditor{}
|
||||||
|
|
||||||
a.Add("TXT", rejectif.TxtHasTrailingSpace) // Last verified 2022-06-18
|
a.Add("TXT", rejectif.TxtIsEmpty) // Last verified 2024-10-27
|
||||||
|
|
||||||
a.Add("TXT", rejectif.TxtIsEmpty) // Last verified 2022-06-18
|
|
||||||
|
|
||||||
return a.Audit(records)
|
return a.Audit(records)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ import (
|
||||||
"github.com/StackExchange/dnscontrol/v4/pkg/diff2"
|
"github.com/StackExchange/dnscontrol/v4/pkg/diff2"
|
||||||
"github.com/StackExchange/dnscontrol/v4/pkg/printer"
|
"github.com/StackExchange/dnscontrol/v4/pkg/printer"
|
||||||
"github.com/StackExchange/dnscontrol/v4/pkg/transform"
|
"github.com/StackExchange/dnscontrol/v4/pkg/transform"
|
||||||
|
"github.com/StackExchange/dnscontrol/v4/pkg/txtutil"
|
||||||
"github.com/StackExchange/dnscontrol/v4/pkg/zonecache"
|
"github.com/StackExchange/dnscontrol/v4/pkg/zonecache"
|
||||||
"github.com/StackExchange/dnscontrol/v4/providers"
|
"github.com/StackExchange/dnscontrol/v4/providers"
|
||||||
"github.com/StackExchange/dnscontrol/v4/providers/cloudflare/rtypes/cfsingleredirect"
|
"github.com/StackExchange/dnscontrol/v4/providers/cloudflare/rtypes/cfsingleredirect"
|
||||||
|
|
@ -871,7 +872,11 @@ func (c *cloudflareProvider) nativeToRecord(domain string, cr cloudflare.DNSReco
|
||||||
return nil, fmt.Errorf("unparsable SRV record received from cloudflare: %w", err)
|
return nil, fmt.Errorf("unparsable SRV record received from cloudflare: %w", err)
|
||||||
}
|
}
|
||||||
case "TXT":
|
case "TXT":
|
||||||
err := rc.SetTargetTXT(cr.Content)
|
s, err := txtutil.ParseQuoted(cr.Content)
|
||||||
|
if err != nil {
|
||||||
|
return rc, err
|
||||||
|
}
|
||||||
|
err = rc.SetTargetTXT(s)
|
||||||
return rc, err
|
return rc, err
|
||||||
default:
|
default:
|
||||||
if err := rc.PopulateFromString(rType, cr.Content, domain); err != nil {
|
if err := rc.PopulateFromString(rType, cr.Content, domain); err != nil {
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import (
|
||||||
"golang.org/x/net/idna"
|
"golang.org/x/net/idna"
|
||||||
|
|
||||||
"github.com/StackExchange/dnscontrol/v4/models"
|
"github.com/StackExchange/dnscontrol/v4/models"
|
||||||
|
"github.com/StackExchange/dnscontrol/v4/pkg/txtutil"
|
||||||
"github.com/StackExchange/dnscontrol/v4/providers/cloudflare/rtypes/cfsingleredirect"
|
"github.com/StackExchange/dnscontrol/v4/providers/cloudflare/rtypes/cfsingleredirect"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -154,7 +155,7 @@ func (c *cloudflareProvider) createRecDiff2(rec *models.RecordConfig, domainID s
|
||||||
prio = fmt.Sprintf(" %d ", rec.MxPreference)
|
prio = fmt.Sprintf(" %d ", rec.MxPreference)
|
||||||
}
|
}
|
||||||
if rec.Type == "TXT" {
|
if rec.Type == "TXT" {
|
||||||
content = rec.GetTargetTXTJoined()
|
content = txtutil.EncodeQuoted(rec.GetTargetTXTJoined())
|
||||||
}
|
}
|
||||||
if rec.Type == "DS" {
|
if rec.Type == "DS" {
|
||||||
content = fmt.Sprintf("%d %d %d %s", rec.DsKeyTag, rec.DsAlgorithm, rec.DsDigestType, rec.DsDigest)
|
content = fmt.Sprintf("%d %d %d %s", rec.DsKeyTag, rec.DsAlgorithm, rec.DsDigestType, rec.DsDigest)
|
||||||
|
|
@ -229,7 +230,7 @@ func (c *cloudflareProvider) modifyRecord(domainID, recID string, proxied bool,
|
||||||
TTL: int(rec.TTL),
|
TTL: int(rec.TTL),
|
||||||
}
|
}
|
||||||
if rec.Type == "TXT" {
|
if rec.Type == "TXT" {
|
||||||
r.Content = rec.GetTargetTXTJoined()
|
r.Content = txtutil.EncodeQuoted(rec.GetTargetTXTJoined())
|
||||||
}
|
}
|
||||||
if rec.Type == "SRV" {
|
if rec.Type == "SRV" {
|
||||||
r.Data = cfSrvData(rec)
|
r.Data = cfSrvData(rec)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue