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:
@@ -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")),
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user