mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2024-05-11 05:55:12 +00:00
Fix deSEC long TXT bug (#997)
* Fix deSEC long TXT bug * Update convert.go
This commit is contained in:
@ -4,6 +4,7 @@ package desec
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/StackExchange/dnscontrol/v3/models"
|
||||
"github.com/StackExchange/dnscontrol/v3/pkg/printer"
|
||||
@ -24,7 +25,10 @@ func nativeToRecords(n resourceRecord, origin string) (rcs []*models.RecordConfi
|
||||
}
|
||||
rc.SetLabel(n.Subname, origin)
|
||||
switch rtype := n.Type; rtype {
|
||||
default: // "A", "AAAA", "CAA", "NS", "CNAME", "MX", "PTR", "SRV", "TXT"
|
||||
case "TXT":
|
||||
rc.SetTargetTXT(value)
|
||||
rc.TxtNormalize("multistring")
|
||||
default: // "A", "AAAA", "CAA", "NS", "CNAME", "MX", "PTR", "SRV"
|
||||
if err := rc.PopulateFromString(rtype, value, origin); err != nil {
|
||||
panic(fmt.Errorf("unparsable record received from deSEC: %w", err))
|
||||
}
|
||||
@ -58,6 +62,9 @@ func recordsToNative(rcs []*models.RecordConfig, origin string) []resourceRecord
|
||||
Subname: label,
|
||||
Records: []string{r.GetTargetCombined()},
|
||||
}
|
||||
if r.Type == "TXT" {
|
||||
zr.Records = []string{strings.Join(r.TxtStrings, "")}
|
||||
}
|
||||
zrs = append(zrs, zr)
|
||||
//keys[key] = &zr // This didn't work.
|
||||
keys[key] = &zrs[len(zrs)-1] // This does work. I don't know why.
|
||||
|
@ -48,6 +48,7 @@ var features = providers.DocumentationNotes{
|
||||
providers.CanUsePTR: providers.Can(),
|
||||
providers.CanGetZones: providers.Can(),
|
||||
providers.CanAutoDNSSEC: providers.Cannot(),
|
||||
providers.CanUseTXTMulti: providers.Can(),
|
||||
}
|
||||
|
||||
var defaultNameServerNames = []string{
|
||||
|
Reference in New Issue
Block a user