1
0
mirror of https://github.com/StackExchange/dnscontrol.git synced 2024-05-11 05:55:12 +00:00

DIGITALOCEAN: Improve TXT record handling (#2128)

This commit is contained in:
Tom Limoncelli
2023-03-08 07:59:35 -08:00
committed by GitHub
parent 3d3f15d1d0
commit eb4af05d31
2 changed files with 9 additions and 11 deletions

View File

@@ -843,19 +843,18 @@ func makeTests(t *testing.T) []*TestGroup {
// of record. When the provider fixes the bug or changes behavior, // of record. When the provider fixes the bug or changes behavior,
// update the AuditRecords(). // update the AuditRecords().
tc("TXT with 0-octel string", txt("foo1", "")), // NB(tlim) 2023-03-07: Removing this test. Nobody does this.
//tc("TXT with 0-octel string", txt("foo1", "")),
// https://github.com/StackExchange/dnscontrol/issues/598 // https://github.com/StackExchange/dnscontrol/issues/598
// RFC1035 permits this, but rarely do provider support it. // RFC1035 permits this, but rarely do provider support it.
//clear(), //clear(),
//tc("a 255-byte TXT", txt("foo255", strings.Repeat("C", 255))),
tc("a 255-byte TXT", txt("foo255", strings.Repeat("C", 255))),
//clear(), //clear(),
tc("a 256-byte TXT", txt("foo256", strings.Repeat("D", 256))), //tc("a 256-byte TXT", txt("foo256", strings.Repeat("D", 256))),
//clear(), //clear(),
//tc("a 512-byte TXT", txt("foo512", strings.Repeat("C", 512))),
tc("a 512-byte TXT", txt("foo512", strings.Repeat("C", 512))),
//clear(), //clear(),
tc("a 513-byte TXT", txt("foo513", strings.Repeat("D", 513))), //tc("a 513-byte TXT", txt("foo513", strings.Repeat("D", 513))),
//clear(), //clear(),
tc("TXT with 1 single-quote", txt("foosq", "quo'te")), tc("TXT with 1 single-quote", txt("foosq", "quo'te")),

View File

@@ -277,12 +277,11 @@ func toRc(domain string, r *godo.DomainRecord) *models.RecordConfig {
CaaFlag: uint8(r.Flags), CaaFlag: uint8(r.Flags),
} }
t.SetLabelFromFQDN(name, domain) t.SetLabelFromFQDN(name, domain)
t.SetTarget(target)
switch rtype := r.Type; rtype { switch rtype := r.Type; rtype {
case "TXT": case "TXT":
t.SetTargetTXTfromRFC1035Quoted(target) t.SetTargetTXT(target)
default: default:
// nothing additional required t.SetTarget(target)
} }
return t return t
} }
@@ -304,7 +303,7 @@ func toReq(dc *models.DomainConfig, rc *models.RecordConfig) *godo.DomainRecordE
priority = int(rc.SrvPriority) priority = int(rc.SrvPriority)
case "TXT": case "TXT":
// TXT records are the one place where DO combines many items into one field. // TXT records are the one place where DO combines many items into one field.
target = rc.GetTargetField() target = rc.GetTargetTXTJoined()
default: default:
// no action required // no action required
} }