1
0
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:
Tom Limoncelli
2021-03-01 21:05:21 -05:00
committed by GitHub
parent 57a1231ea1
commit a0051c2b6f
2 changed files with 9 additions and 1 deletions

View File

@ -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.

View File

@ -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{