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

"get zones" js/djs format should generate double quotes, not single (#2526)

This commit is contained in:
Tom Limoncelli
2023-08-21 16:16:13 -04:00
committed by GitHub
parent bdbe4768a3
commit d4f6e01e7a
10 changed files with 778 additions and 778 deletions

View File

@ -147,7 +147,7 @@ func (args *GetZoneArgs) flags() []cli.Flag {
flags = append(flags, &cli.IntFlag{
Name: "ttl",
Destination: &args.DefaultTTL,
Usage: `Default TTL (0 picks the zone's most common TTL)`,
Usage: `Default TTL (0 picks the most common TTL)`,
})
return flags
}
@ -329,9 +329,9 @@ func formatDsl(zonename string, rec *models.RecordConfig, defaultTTL uint32) str
case "CAA":
return makeCaa(rec, ttlop)
case "DS":
target = fmt.Sprintf("%d, %d, %d, '%s'", rec.DsKeyTag, rec.DsAlgorithm, rec.DsDigestType, rec.DsDigest)
target = fmt.Sprintf(`%d, %d, %d, "%s"`, rec.DsKeyTag, rec.DsAlgorithm, rec.DsDigestType, rec.DsDigest)
case "MX":
target = fmt.Sprintf("%d, '%s'", rec.MxPreference, rec.GetTargetField())
target = fmt.Sprintf(`%d, "%s"`, rec.MxPreference, rec.GetTargetField())
case "NAPTR":
target = fmt.Sprintf(`%d, %d, %s, %s, %s, %s`,
rec.NaptrOrder, // 1
@ -342,19 +342,19 @@ func formatDsl(zonename string, rec *models.RecordConfig, defaultTTL uint32) str
jsonQuoted(rec.GetTargetField()), // .
)
case "SSHFP":
target = fmt.Sprintf("%d, %d, '%s'", rec.SshfpAlgorithm, rec.SshfpFingerprint, rec.GetTargetField())
target = fmt.Sprintf(`%d, %d, "%s"`, rec.SshfpAlgorithm, rec.SshfpFingerprint, rec.GetTargetField())
case "SOA":
rec.Type = "//SOA"
target = fmt.Sprintf("'%s', '%s', %d, %d, %d, %d, %d", rec.GetTargetField(), rec.SoaMbox, rec.SoaSerial, rec.SoaRefresh, rec.SoaRetry, rec.SoaExpire, rec.SoaMinttl)
target = fmt.Sprintf(`"%s", "%s", %d, %d, %d, %d, %d`, rec.GetTargetField(), rec.SoaMbox, rec.SoaSerial, rec.SoaRefresh, rec.SoaRetry, rec.SoaExpire, rec.SoaMinttl)
case "SRV":
target = fmt.Sprintf("%d, %d, %d, '%s'", rec.SrvPriority, rec.SrvWeight, rec.SrvPort, rec.GetTargetField())
target = fmt.Sprintf(`%d, %d, %d, "%s"`, rec.SrvPriority, rec.SrvWeight, rec.SrvPort, rec.GetTargetField())
case "TLSA":
target = fmt.Sprintf("%d, %d, %d, '%s'", rec.TlsaUsage, rec.TlsaSelector, rec.TlsaMatchingType, rec.GetTargetField())
target = fmt.Sprintf(`%d, %d, %d, "%s"`, rec.TlsaUsage, rec.TlsaSelector, rec.TlsaMatchingType, rec.GetTargetField())
case "TXT":
if len(rec.TxtStrings) == 1 {
target = `'` + rec.TxtStrings[0] + `'`
target = `"` + rec.TxtStrings[0] + `"`
} else {
target = `['` + strings.Join(rec.TxtStrings, `', '`) + `']`
target = `["` + strings.Join(rec.TxtStrings, `", "`) + `"]`
}
// TODO(tlim): If this is an SPF record, generate a SPF_BUILDER().
case "NS":
@ -362,38 +362,38 @@ func formatDsl(zonename string, rec *models.RecordConfig, defaultTTL uint32) str
// DnsControl uses the API to get this info. NAMESERVER() is just
// to override that when needed.
if rec.Name == "@" {
return fmt.Sprintf("//NAMESERVER('%s')", target)
return fmt.Sprintf(`//NAMESERVER("%s")`, target)
}
target = "'" + target + "'"
target = `"` + target + `"`
case "R53_ALIAS":
return makeR53alias(rec, ttl)
default:
target = "'" + target + "'"
target = `"` + target + `"`
}
return fmt.Sprintf("%s('%s', %s%s%s)", rec.Type, rec.Name, target, cfproxy, ttlop)
return fmt.Sprintf(`%s("%s", %s%s%s)`, rec.Type, rec.Name, target, cfproxy, ttlop)
}
func makeCaa(rec *models.RecordConfig, ttlop string) string {
var target string
if rec.CaaFlag == 128 {
target = fmt.Sprintf("'%s', '%s', CAA_CRITICAL", rec.CaaTag, rec.GetTargetField())
target = fmt.Sprintf(`"%s", "%s", CAA_CRITICAL`, rec.CaaTag, rec.GetTargetField())
} else {
target = fmt.Sprintf("'%s', '%s'", rec.CaaTag, rec.GetTargetField())
target = fmt.Sprintf(`"%s", "%s"`, rec.CaaTag, rec.GetTargetField())
}
return fmt.Sprintf("%s('%s', %s%s)", rec.Type, rec.Name, target, ttlop)
return fmt.Sprintf(`%s("%s", %s%s)`, rec.Type, rec.Name, target, ttlop)
// TODO(tlim): Generate a CAA_BUILDER() instead?
}
func makeR53alias(rec *models.RecordConfig, ttl uint32) string {
items := []string{
"'" + rec.Name + "'",
"'" + rec.R53Alias["type"] + "'",
"'" + rec.GetTargetField() + "'",
`"` + rec.Name + `"`,
`"` + rec.R53Alias["type"] + `"`,
`"` + rec.GetTargetField() + `"`,
}
if z, ok := rec.R53Alias["zone_id"]; ok {
items = append(items, "R53_ZONE('"+z+"')")
items = append(items, `R53_ZONE("`+z+`")`)
}
if ttl != 0 {
items = append(items, fmt.Sprintf("TTL(%d)", ttl))