dnscontrol/providers/cscglobal/auditrecords.go
Tom Limoncelli 4d768afc3d
CSCGLOBAL: Support TXT records that are long or include double-quotes (#1631)
* Remove TXT restrictions around length

* Improve get-zones "js" format.

New:

```
$ dnscontrol get-zone --format js providercredkey - stackoverflow.co.il
var DSP_PROVIDERCREDKEY = NewDnsProvider("providercredkey");
var REG_CHANGEME = NewRegistrar("none");
D("stackoverflow.co.il", REG_CHANGEME,
	DnsProvider(DSP_PROVIDERCREDKEY),
	DefaultTTL(14400),
	A('www', '165.160.15.20'),
	...
	...
	...
	...
	//NAMESERVER('dns1.cscdns.net.'),
	//NAMESERVER('dns2.cscdns.net.')
)
```

* Update test data
2022-07-19 17:48:15 -04:00

40 lines
1.1 KiB
Go

package cscglobal
import (
"github.com/StackExchange/dnscontrol/v3/models"
"github.com/StackExchange/dnscontrol/v3/pkg/recordaudit"
)
// AuditRecords returns an error if any records are not
// supportable by this provider.
func AuditRecords(records []*models.RecordConfig) error {
// Each test should be encapsulated in a function that can be tested
// individually. If the test is of general use, add it to the
// recordaudit module.
// Each test should document the last time we verified the test was
// still needed. Sometimes companies change their API.
// if err := recordaudit.TxtNoDoubleQuotes(records); err != nil {
// return err
// } // Needed as of 2022-06-10
// if err := recordaudit.TxtNoStringsLen256orLonger(records); err != nil {
// return err
// } // Needed as of 2022-06-10
if err := recordaudit.TxtNoMultipleStrings(records); err != nil {
return err
} // Needed as of 2022-06-10
if err := recordaudit.TxtNoTrailingSpace(records); err != nil {
return err
} // Needed as of 2022-06-10
if err := recordaudit.TxtNotEmpty(records); err != nil {
return err
} // Needed as of 2022-06-10
return nil
}