mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2025-09-04 20:24:23 +08:00
Fix deSEC long TXT bug (#997)
* Fix deSEC long TXT bug * Update convert.go
This commit is contained in:
parent
57a1231ea1
commit
a0051c2b6f
2 changed files with 9 additions and 1 deletions
|
@ -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{
|
||||
|
|
Loading…
Add table
Reference in a new issue