diff --git a/pkg/txtutil/txtutil.go b/pkg/txtutil/txtutil.go index d958f3335..a6caf5e05 100644 --- a/pkg/txtutil/txtutil.go +++ b/pkg/txtutil/txtutil.go @@ -1,23 +1,5 @@ package txtutil -import "github.com/StackExchange/dnscontrol/v4/models" - -// SplitSingleLongTxt finds TXT records with a single long string and splits it -// into 255-octet chunks. This is used by providers that, when a user specifies -// one long TXT string, split it into smaller strings behind the scenes. -// This should be called from GetZoneRecordsCorrections(). -// Deprecated: SplitSingleLongTxt() is deprecated. No longer needed. -func SplitSingleLongTxt(records []*models.RecordConfig) { - // for _, rc := range records { - // if rc.HasFormatIdenticalToTXT() { - // s := rc.TxtStrings[0] - // if len(rc.TxtStrings) == 1 && len(s) > 255 { - // rc.SetTargetTXTs(splitChunks(s, 255)) - // } - // } - // } -} - // ToChunks returns the string as chunks of 255-octet strings (the last string being the remainder). func ToChunks(s string) []string { return splitChunks(s, 255) diff --git a/providers/akamaiedgedns/akamaiEdgeDnsProvider.go b/providers/akamaiedgedns/akamaiEdgeDnsProvider.go index a42fe4b52..3b6e2529b 100644 --- a/providers/akamaiedgedns/akamaiEdgeDnsProvider.go +++ b/providers/akamaiedgedns/akamaiEdgeDnsProvider.go @@ -17,7 +17,6 @@ import ( "github.com/StackExchange/dnscontrol/v4/models" "github.com/StackExchange/dnscontrol/v4/pkg/diff" "github.com/StackExchange/dnscontrol/v4/pkg/printer" - "github.com/StackExchange/dnscontrol/v4/pkg/txtutil" "github.com/StackExchange/dnscontrol/v4/providers" ) @@ -106,7 +105,6 @@ func (a *edgeDNSProvider) EnsureZoneExists(domain string) error { // GetZoneRecordsCorrections returns a list of corrections that will turn existing records into dc.Records. func (a *edgeDNSProvider) GetZoneRecordsCorrections(dc *models.DomainConfig, existingRecords models.Records) ([]*models.Correction, error) { - txtutil.SplitSingleLongTxt(existingRecords) keysToUpdate, toReport, err := diff.NewCompat(dc).ChangedGroups(existingRecords) if err != nil { diff --git a/providers/autodns/autoDnsProvider.go b/providers/autodns/autoDnsProvider.go index 6da132afe..91d6f65f8 100644 --- a/providers/autodns/autoDnsProvider.go +++ b/providers/autodns/autoDnsProvider.go @@ -11,7 +11,6 @@ import ( "github.com/StackExchange/dnscontrol/v4/models" "github.com/StackExchange/dnscontrol/v4/pkg/diff2" - "github.com/StackExchange/dnscontrol/v4/pkg/txtutil" "github.com/StackExchange/dnscontrol/v4/providers" ) @@ -68,7 +67,6 @@ func New(settings map[string]string, _ json.RawMessage) (providers.DNSServicePro // GetZoneRecordsCorrections returns a list of corrections that will turn existing records into dc.Records. func (api *autoDNSProvider) GetZoneRecordsCorrections(dc *models.DomainConfig, existingRecords models.Records) ([]*models.Correction, error) { domain := dc.Name - txtutil.SplitSingleLongTxt(dc.Records) // Autosplit long TXT records var corrections []*models.Correction diff --git a/providers/axfrddns/axfrddnsProvider.go b/providers/axfrddns/axfrddnsProvider.go index 6330e426b..a651895b5 100644 --- a/providers/axfrddns/axfrddnsProvider.go +++ b/providers/axfrddns/axfrddnsProvider.go @@ -25,7 +25,6 @@ import ( "github.com/StackExchange/dnscontrol/v4/models" "github.com/StackExchange/dnscontrol/v4/pkg/diff2" "github.com/StackExchange/dnscontrol/v4/pkg/printer" - "github.com/StackExchange/dnscontrol/v4/pkg/txtutil" "github.com/StackExchange/dnscontrol/v4/providers" "github.com/fatih/color" "github.com/miekg/dns" @@ -409,7 +408,6 @@ func hasNSDeletion(changes diff2.ChangeList) bool { // GetZoneRecordsCorrections returns a list of corrections that will turn existing records into dc.Records. func (c *axfrddnsProvider) GetZoneRecordsCorrections(dc *models.DomainConfig, foundRecords models.Records) ([]*models.Correction, error) { - txtutil.SplitSingleLongTxt(foundRecords) // Autosplit long TXT records // Ignoring the SOA, others providers don't manage it either. if len(foundRecords) >= 1 && foundRecords[0].Type == "SOA" { diff --git a/providers/azuredns/azureDnsProvider.go b/providers/azuredns/azureDnsProvider.go index 4e988c841..0ebb79a96 100644 --- a/providers/azuredns/azureDnsProvider.go +++ b/providers/azuredns/azureDnsProvider.go @@ -14,7 +14,6 @@ import ( "github.com/StackExchange/dnscontrol/v4/models" "github.com/StackExchange/dnscontrol/v4/pkg/diff2" "github.com/StackExchange/dnscontrol/v4/pkg/printer" - "github.com/StackExchange/dnscontrol/v4/pkg/txtutil" "github.com/StackExchange/dnscontrol/v4/providers" ) @@ -193,8 +192,6 @@ func (a *azurednsProvider) getExistingRecords(domain string) (models.Records, [] // GetZoneRecordsCorrections returns a list of corrections that will turn existing records into dc.Records. func (a *azurednsProvider) GetZoneRecordsCorrections(dc *models.DomainConfig, existingRecords models.Records) ([]*models.Correction, error) { - txtutil.SplitSingleLongTxt(existingRecords) // Autosplit long TXT records - var corrections []*models.Correction // Azure is a "ByRecordSet" API. diff --git a/providers/bind/bindProvider.go b/providers/bind/bindProvider.go index 91fbff062..e9c46da70 100644 --- a/providers/bind/bindProvider.go +++ b/providers/bind/bindProvider.go @@ -25,7 +25,6 @@ import ( "github.com/StackExchange/dnscontrol/v4/pkg/diff2" "github.com/StackExchange/dnscontrol/v4/pkg/prettyzone" "github.com/StackExchange/dnscontrol/v4/pkg/printer" - "github.com/StackExchange/dnscontrol/v4/pkg/txtutil" "github.com/StackExchange/dnscontrol/v4/providers" "github.com/miekg/dns" ) @@ -210,7 +209,6 @@ func ParseZoneContents(content string, zoneName string, zonefileName string) (mo // GetZoneRecordsCorrections returns a list of corrections that will turn existing records into dc.Records. func (c *bindProvider) GetZoneRecordsCorrections(dc *models.DomainConfig, foundRecords models.Records) ([]*models.Correction, error) { - txtutil.SplitSingleLongTxt(dc.Records) var corrections []*models.Correction changes := false diff --git a/providers/desec/desecProvider.go b/providers/desec/desecProvider.go index d67fa73cb..3a6e98344 100644 --- a/providers/desec/desecProvider.go +++ b/providers/desec/desecProvider.go @@ -9,7 +9,6 @@ import ( "github.com/StackExchange/dnscontrol/v4/models" "github.com/StackExchange/dnscontrol/v4/pkg/diff" "github.com/StackExchange/dnscontrol/v4/pkg/printer" - "github.com/StackExchange/dnscontrol/v4/pkg/txtutil" "github.com/StackExchange/dnscontrol/v4/providers" "github.com/miekg/dns/dnsutil" ) @@ -151,8 +150,6 @@ func PrepDesiredRecords(dc *models.DomainConfig, minTTL uint32) { // GetZoneRecordsCorrections returns a list of corrections that will turn existing records into dc.Records. func (c *desecProvider) GetZoneRecordsCorrections(dc *models.DomainConfig, existing models.Records) ([]*models.Correction, error) { - txtutil.SplitSingleLongTxt(dc.Records) - var minTTL uint32 c.mutex.Lock() if ttl, ok := c.domainIndex[dc.Name]; !ok { diff --git a/providers/digitalocean/digitaloceanProvider.go b/providers/digitalocean/digitaloceanProvider.go index 62ec0d7dd..7ae78e34a 100644 --- a/providers/digitalocean/digitaloceanProvider.go +++ b/providers/digitalocean/digitaloceanProvider.go @@ -10,7 +10,6 @@ import ( "github.com/StackExchange/dnscontrol/v4/models" "github.com/StackExchange/dnscontrol/v4/pkg/diff" - "github.com/StackExchange/dnscontrol/v4/pkg/txtutil" "github.com/StackExchange/dnscontrol/v4/providers" "github.com/digitalocean/godo" "github.com/miekg/dns/dnsutil" @@ -168,8 +167,6 @@ func (api *digitaloceanProvider) GetZoneRecords(domain string, meta map[string]s // GetZoneRecordsCorrections returns a list of corrections that will turn existing records into dc.Records. func (api *digitaloceanProvider) GetZoneRecordsCorrections(dc *models.DomainConfig, existingRecords models.Records) ([]*models.Correction, error) { - txtutil.SplitSingleLongTxt(dc.Records) // Autosplit long TXT records - ctx := context.Background() toReport, toCreate, toDelete, toModify, err := diff.NewCompat(dc).IncrementalDiff(existingRecords) diff --git a/providers/dnsmadeeasy/dnsMadeEasyProvider.go b/providers/dnsmadeeasy/dnsMadeEasyProvider.go index 3e6f1eb31..2917ad82e 100644 --- a/providers/dnsmadeeasy/dnsMadeEasyProvider.go +++ b/providers/dnsmadeeasy/dnsMadeEasyProvider.go @@ -8,7 +8,6 @@ import ( "github.com/StackExchange/dnscontrol/v4/models" "github.com/StackExchange/dnscontrol/v4/pkg/diff" - "github.com/StackExchange/dnscontrol/v4/pkg/txtutil" "github.com/StackExchange/dnscontrol/v4/providers" ) @@ -99,8 +98,6 @@ func New(settings map[string]string, _ json.RawMessage) (providers.DNSServicePro // } func (api *dnsMadeEasyProvider) GetZoneRecordsCorrections(dc *models.DomainConfig, existingRecords models.Records) ([]*models.Correction, error) { - txtutil.SplitSingleLongTxt(dc.Records) // Autosplit long TXT records - domainName := dc.Name domain, err := api.findDomain(domainName) if err != nil { diff --git a/providers/gandiv5/gandi_v5Provider.go b/providers/gandiv5/gandi_v5Provider.go index d6fb5409f..5171cee55 100644 --- a/providers/gandiv5/gandi_v5Provider.go +++ b/providers/gandiv5/gandi_v5Provider.go @@ -24,7 +24,6 @@ import ( "github.com/StackExchange/dnscontrol/v4/models" "github.com/StackExchange/dnscontrol/v4/pkg/diff2" "github.com/StackExchange/dnscontrol/v4/pkg/printer" - "github.com/StackExchange/dnscontrol/v4/pkg/txtutil" "github.com/StackExchange/dnscontrol/v4/providers" "github.com/go-gandi/go-gandi" "github.com/go-gandi/go-gandi/config" @@ -198,7 +197,6 @@ func (client *gandiv5Provider) GetZoneRecordsCorrections(dc *models.DomainConfig } PrepDesiredRecords(dc) - txtutil.SplitSingleLongTxt(dc.Records) // Autosplit long TXT records g := gandi.NewLiveDNSClient(config.Config{ APIKey: client.apikey, diff --git a/providers/gcloud/gcloudProvider.go b/providers/gcloud/gcloudProvider.go index 8fd387ee2..d2a92ac5d 100644 --- a/providers/gcloud/gcloudProvider.go +++ b/providers/gcloud/gcloudProvider.go @@ -12,7 +12,6 @@ import ( "github.com/StackExchange/dnscontrol/v4/models" "github.com/StackExchange/dnscontrol/v4/pkg/diff" "github.com/StackExchange/dnscontrol/v4/pkg/printer" - "github.com/StackExchange/dnscontrol/v4/pkg/txtutil" "github.com/StackExchange/dnscontrol/v4/providers" gauth "golang.org/x/oauth2/google" gdns "google.golang.org/api/dns/v1" @@ -259,8 +258,6 @@ type correctionValues struct { // GetZoneRecordsCorrections returns a list of corrections that will turn existing records into dc.Records. func (g *gcloudProvider) GetZoneRecordsCorrections(dc *models.DomainConfig, existingRecords models.Records) ([]*models.Correction, error) { - txtutil.SplitSingleLongTxt(dc.Records) // Autosplit long TXT records - oldRRs, ok := g.oldRRsMap[dc.Name] if !ok { return nil, fmt.Errorf("oldRRsMap: no zone named %q", dc.Name) diff --git a/providers/hedns/hednsProvider.go b/providers/hedns/hednsProvider.go index 0ee6d1485..038dee47d 100644 --- a/providers/hedns/hednsProvider.go +++ b/providers/hedns/hednsProvider.go @@ -17,7 +17,6 @@ import ( "github.com/PuerkitoBio/goquery" "github.com/StackExchange/dnscontrol/v4/models" "github.com/StackExchange/dnscontrol/v4/pkg/diff2" - "github.com/StackExchange/dnscontrol/v4/pkg/txtutil" "github.com/StackExchange/dnscontrol/v4/providers" "github.com/pquerna/otp/totp" ) @@ -191,9 +190,6 @@ func (c *hednsProvider) GetZoneRecordsCorrections(dc *models.DomainConfig, recor } } - // Normalize - txtutil.SplitSingleLongTxt(dc.Records) // Autosplit long TXT records - return c.getDiff2DomainCorrections(dc, zoneID, prunedRecords) } diff --git a/providers/hetzner/hetznerProvider.go b/providers/hetzner/hetznerProvider.go index 0c373c94c..fb638f39e 100644 --- a/providers/hetzner/hetznerProvider.go +++ b/providers/hetzner/hetznerProvider.go @@ -7,7 +7,6 @@ import ( "github.com/StackExchange/dnscontrol/v4/models" "github.com/StackExchange/dnscontrol/v4/pkg/diff" - "github.com/StackExchange/dnscontrol/v4/pkg/txtutil" "github.com/StackExchange/dnscontrol/v4/providers" ) @@ -72,8 +71,6 @@ func (api *hetznerProvider) EnsureZoneExists(domain string) error { func (api *hetznerProvider) GetZoneRecordsCorrections(dc *models.DomainConfig, existingRecords models.Records) ([]*models.Correction, error) { domain := dc.Name - txtutil.SplitSingleLongTxt(dc.Records) // Autosplit long TXT records - toReport, create, del, modify, err := diff.NewCompat(dc).IncrementalDiff(existingRecords) if err != nil { return nil, err diff --git a/providers/hexonet/records.go b/providers/hexonet/records.go index 714abf5b3..f07cb5c99 100644 --- a/providers/hexonet/records.go +++ b/providers/hexonet/records.go @@ -9,7 +9,6 @@ import ( "github.com/StackExchange/dnscontrol/v4/models" "github.com/StackExchange/dnscontrol/v4/pkg/diff" - "github.com/StackExchange/dnscontrol/v4/pkg/txtutil" ) // HXRecord covers an individual DNS resource record. @@ -58,8 +57,6 @@ func (n *HXClient) GetZoneRecords(domain string, meta map[string]string) (models // GetZoneRecordsCorrections returns a list of corrections that will turn existing records into dc.Records. func (n *HXClient) GetZoneRecordsCorrections(dc *models.DomainConfig, actual models.Records) ([]*models.Correction, error) { - txtutil.SplitSingleLongTxt(dc.Records) - toReport, create, del, mod, err := diff.NewCompat(dc).IncrementalDiff(actual) if err != nil { return nil, err diff --git a/providers/inwx/inwxProvider.go b/providers/inwx/inwxProvider.go index 2d55529be..448b3a482 100644 --- a/providers/inwx/inwxProvider.go +++ b/providers/inwx/inwxProvider.go @@ -10,7 +10,6 @@ import ( "github.com/StackExchange/dnscontrol/v4/models" "github.com/StackExchange/dnscontrol/v4/pkg/diff" "github.com/StackExchange/dnscontrol/v4/pkg/printer" - "github.com/StackExchange/dnscontrol/v4/pkg/txtutil" "github.com/StackExchange/dnscontrol/v4/providers" "github.com/nrdcg/goinwx" "github.com/pquerna/otp/totp" @@ -226,9 +225,6 @@ func checkRecords(records models.Records) error { // GetZoneRecordsCorrections returns a list of corrections that will turn existing records into dc.Records. func (api *inwxAPI) GetZoneRecordsCorrections(dc *models.DomainConfig, foundRecords models.Records) ([]*models.Correction, error) { - - txtutil.SplitSingleLongTxt(dc.Records) // Autosplit long TXT records - err := checkRecords(dc.Records) if err != nil { return nil, err diff --git a/providers/loopia/loopiaProvider.go b/providers/loopia/loopiaProvider.go index 96815a9b5..25e391e47 100644 --- a/providers/loopia/loopiaProvider.go +++ b/providers/loopia/loopiaProvider.go @@ -25,7 +25,6 @@ import ( "github.com/StackExchange/dnscontrol/v4/models" "github.com/StackExchange/dnscontrol/v4/pkg/diff" "github.com/StackExchange/dnscontrol/v4/pkg/printer" - "github.com/StackExchange/dnscontrol/v4/pkg/txtutil" "github.com/StackExchange/dnscontrol/v4/providers" "github.com/miekg/dns/dnsutil" ) @@ -272,7 +271,6 @@ func (c *APIClient) GetZoneRecordsCorrections(dc *models.DomainConfig, existingR } // Normalize - txtutil.SplitSingleLongTxt(dc.Records) // Autosplit long TXT records PrepDesiredRecords(dc) var keysToUpdate map[models.RecordKey][]string diff --git a/providers/msdns/corrections.go b/providers/msdns/corrections.go index f58e2ba20..84ad67b15 100644 --- a/providers/msdns/corrections.go +++ b/providers/msdns/corrections.go @@ -5,7 +5,6 @@ import ( "github.com/StackExchange/dnscontrol/v4/models" "github.com/StackExchange/dnscontrol/v4/pkg/diff2" - "github.com/StackExchange/dnscontrol/v4/pkg/txtutil" ) // GetZoneRecordsCorrections returns a list of corrections that will turn existing records into dc.Records. @@ -14,7 +13,6 @@ func (client *msdnsProvider) GetZoneRecordsCorrections(dc *models.DomainConfig, // Normalize models.PostProcessRecords(foundRecords) - txtutil.SplitSingleLongTxt(dc.Records) // Autosplit long TXT records changes, err := diff2.ByRecord(foundRecords, dc, nil) if err != nil { diff --git a/providers/oracle/oracleProvider.go b/providers/oracle/oracleProvider.go index 892e6cee8..aac6204fc 100644 --- a/providers/oracle/oracleProvider.go +++ b/providers/oracle/oracleProvider.go @@ -9,7 +9,6 @@ import ( "github.com/StackExchange/dnscontrol/v4/models" "github.com/StackExchange/dnscontrol/v4/pkg/diff" "github.com/StackExchange/dnscontrol/v4/pkg/printer" - "github.com/StackExchange/dnscontrol/v4/pkg/txtutil" "github.com/StackExchange/dnscontrol/v4/providers" "github.com/oracle/oci-go-sdk/v32/common" "github.com/oracle/oci-go-sdk/v32/dns" @@ -204,7 +203,6 @@ func (o *oracleProvider) GetZoneRecords(zone string, meta map[string]string) (mo // GetZoneRecordsCorrections returns a list of corrections that will turn existing records into dc.Records. func (o *oracleProvider) GetZoneRecordsCorrections(dc *models.DomainConfig, existingRecords models.Records) ([]*models.Correction, error) { var err error - txtutil.SplitSingleLongTxt(dc.Records) // Autosplit long TXT records // Ensure we don't emit changes for attempted modification of built-in apex NSs for _, rec := range dc.Records { diff --git a/providers/route53/route53Provider.go b/providers/route53/route53Provider.go index fd3e7dd1f..2c4b2cd39 100644 --- a/providers/route53/route53Provider.go +++ b/providers/route53/route53Provider.go @@ -14,7 +14,6 @@ import ( "github.com/StackExchange/dnscontrol/v4/models" "github.com/StackExchange/dnscontrol/v4/pkg/diff2" "github.com/StackExchange/dnscontrol/v4/pkg/printer" - "github.com/StackExchange/dnscontrol/v4/pkg/txtutil" "github.com/StackExchange/dnscontrol/v4/providers" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/config" @@ -278,8 +277,6 @@ func (r *route53Provider) getZoneRecords(zone r53Types.HostedZone) (models.Recor // GetZoneRecordsCorrections returns a list of corrections that will turn existing records into dc.Records. func (r *route53Provider) GetZoneRecordsCorrections(dc *models.DomainConfig, existingRecords models.Records) ([]*models.Correction, error) { - txtutil.SplitSingleLongTxt(dc.Records) // Autosplit long TXT records - zone, err := r.getZone(dc) if err != nil { return nil, err diff --git a/providers/rwth/dns.go b/providers/rwth/dns.go index 88b31e6e7..5ab10d9fc 100644 --- a/providers/rwth/dns.go +++ b/providers/rwth/dns.go @@ -5,7 +5,6 @@ import ( "github.com/StackExchange/dnscontrol/v4/models" "github.com/StackExchange/dnscontrol/v4/pkg/diff" - "github.com/StackExchange/dnscontrol/v4/pkg/txtutil" ) // RWTHDefaultNs is the default DNS NS for this provider. @@ -31,7 +30,6 @@ func (api *rwthProvider) GetNameservers(domain string) ([]*models.Nameserver, er // GetZoneRecordsCorrections returns a list of corrections that will turn existing records into dc.Records. func (api *rwthProvider) GetZoneRecordsCorrections(dc *models.DomainConfig, existingRecords models.Records) ([]*models.Correction, error) { - txtutil.SplitSingleLongTxt(dc.Records) // Autosplit long TXT records domain := dc.Name toReport, create, del, modify, err := diff.NewCompat(dc).IncrementalDiff(existingRecords)