mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2024-05-11 05:55:12 +00:00
New provider: Loopia DNS service provider (#2140)
Co-authored-by: Tom Limoncelli <tlimoncelli@stackoverflow.com>
This commit is contained in:
31
providers/loopia/auditrecords.go
Normal file
31
providers/loopia/auditrecords.go
Normal file
@@ -0,0 +1,31 @@
|
||||
package loopia
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/StackExchange/dnscontrol/v3/models"
|
||||
"github.com/StackExchange/dnscontrol/v3/pkg/rejectif"
|
||||
)
|
||||
|
||||
// AuditRecords returns a list of errors corresponding to the records
|
||||
// that aren't supported by this provider. If all records are
|
||||
// supported, an empty list is returned.
|
||||
func AuditRecords(records []*models.RecordConfig) []error {
|
||||
a := rejectif.Auditor{}
|
||||
|
||||
a.Add("TXT", rejectif.TxtIsEmpty) // Last verified 2023-03-10: Loopia returns 404
|
||||
|
||||
//Loopias TXT length limit appears to be 450 octets
|
||||
a.Add("TXT", TxtHasSegmentLen450orLonger)
|
||||
|
||||
return a.Audit(records)
|
||||
}
|
||||
|
||||
// TxtHasSegmentLen450orLonger audits TXT records for strings that are >450 octets.
|
||||
func TxtHasSegmentLen450orLonger(rc *models.RecordConfig) error {
|
||||
for _, txt := range rc.TxtStrings {
|
||||
if len(txt) > 450 {
|
||||
return fmt.Errorf("%q txtstring length > 450", rc.GetLabel())
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
Reference in New Issue
Block a user