mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2025-02-26 00:23:00 +08:00
* Move the registrar features to a separate file * Prepare the testing framework * Roughed out functions * Fix up structs * WIP! * First tests pass * wip! * Flesh out remaining rTypes, get nameservers, etc * Fix TXT records * Clean up code * More cleanups. Fix CAA/SRV * Linting * Cleanups/linting * Fix CAA [more] and more cleanups * CSC does not like very long txt records * Use timer only when interactive * Disable CAA for now * Update docs * Remove debug printf * add go-isatty * cleanups
40 lines
1.1 KiB
Go
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.TxtNoLen255(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
|
|
}
|