mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2024-09-20 06:46:19 +08:00
CHORE: Clarify TXT string limits (#2691)
This commit is contained in:
parent
0c70048253
commit
377193926c
|
@ -73,3 +73,15 @@ func TxtLongerThan255(rc *models.RecordConfig) error {
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TxtLongerThan returns a function that audits TXT records for length
|
||||||
|
// greater than maxLength.
|
||||||
|
func TxtLongerThan(maxLength int) func(rc *models.RecordConfig) error {
|
||||||
|
return func(rc *models.RecordConfig) error {
|
||||||
|
m := maxLength
|
||||||
|
if len(rc.GetTargetTXTJoined()) > m {
|
||||||
|
return fmt.Errorf("TXT records longer than %d octets (chars)", m)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -21,8 +21,6 @@ func AuditRecords(records []*models.RecordConfig) []error {
|
||||||
|
|
||||||
a.Add("TXT", rejectif.TxtIsEmpty) // Last verified 2023-12-03
|
a.Add("TXT", rejectif.TxtIsEmpty) // Last verified 2023-12-03
|
||||||
|
|
||||||
//a.Add("TXT", rejectif.TxtLongerThan255) // Last verified 2022-06-10
|
|
||||||
|
|
||||||
return a.Audit(records)
|
return a.Audit(records)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,10 +21,6 @@ func AuditRecords(records []*models.RecordConfig) []error {
|
||||||
|
|
||||||
a.Add("TXT", rejectif.TxtHasBackslash) // Last verified 2023-11-11
|
a.Add("TXT", rejectif.TxtHasBackslash) // Last verified 2023-11-11
|
||||||
|
|
||||||
a.Add("TXT", rejectif.TxtHasDoubleQuotes) // Last verified 2021-03-01
|
|
||||||
// Double-quotes not permitted in TXT strings. I have a hunch that
|
|
||||||
// this is due to a broken parser on the DO side.
|
|
||||||
|
|
||||||
a.Add("TXT", rejectif.TxtIsEmpty) // Last verified 2023-11-11
|
a.Add("TXT", rejectif.TxtIsEmpty) // Last verified 2023-11-11
|
||||||
|
|
||||||
return a.Audit(records)
|
return a.Audit(records)
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
package loopia
|
package loopia
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
|
|
||||||
"github.com/StackExchange/dnscontrol/v4/models"
|
"github.com/StackExchange/dnscontrol/v4/models"
|
||||||
"github.com/StackExchange/dnscontrol/v4/pkg/rejectif"
|
"github.com/StackExchange/dnscontrol/v4/pkg/rejectif"
|
||||||
)
|
)
|
||||||
|
@ -15,20 +13,10 @@ func AuditRecords(records []*models.RecordConfig) []error {
|
||||||
|
|
||||||
a.Add("TXT", rejectif.TxtIsEmpty) // Last verified 2023-03-10: Loopia returns 404
|
a.Add("TXT", rejectif.TxtIsEmpty) // Last verified 2023-03-10: Loopia returns 404
|
||||||
|
|
||||||
//Loopias TXT length limit appears to be 450 octets
|
// Loopias TXT length limit appears to be 450 octets
|
||||||
a.Add("TXT", TxtHasSegmentLen450orLonger)
|
a.Add("TXT", rejectif.TxtLongerThan(450)) // Last verified 2023-03-10
|
||||||
|
|
||||||
a.Add("MX", rejectif.MxNull) // Last verified 2023-03-23
|
a.Add("MX", rejectif.MxNull) // Last verified 2023-03-23
|
||||||
|
|
||||||
return a.Audit(records)
|
return a.Audit(records)
|
||||||
}
|
}
|
||||||
|
|
||||||
// TxtHasSegmentLen450orLonger audits TXT records for strings that are >450 octets.
|
|
||||||
func TxtHasSegmentLen450orLonger(rc *models.RecordConfig) error {
|
|
||||||
for _, txt := range rc.GetTargetTXTSegmented() {
|
|
||||||
if len(txt) > 450 {
|
|
||||||
return fmt.Errorf("%q txtstring length > 450", rc.GetLabel())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ func AuditRecords(records []*models.RecordConfig) []error {
|
||||||
|
|
||||||
a.Add("TXT", rejectif.TxtHasDoubleQuotes) // Last verified 2023-02-02
|
a.Add("TXT", rejectif.TxtHasDoubleQuotes) // Last verified 2023-02-02
|
||||||
|
|
||||||
a.Add("TXT", rejectif.TxtLongerThan255) // Last verified 2023-02-02
|
a.Add("TXT", rejectif.TxtLongerThan(255)) // Last verified 2023-02-02
|
||||||
|
|
||||||
a.Add("TXT", rejectif.TxtHasSingleQuotes) // Last verified 2023-02-02
|
a.Add("TXT", rejectif.TxtHasSingleQuotes) // Last verified 2023-02-02
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue