mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2024-05-11 05:55:12 +00:00
Attempt to add NAPTR support.
This commit is contained in:
@ -32,6 +32,7 @@ func generateFeatureMatrix() error {
|
||||
{"ALIAS", "Provider supports some kind of ALIAS, ANAME or flattened CNAME record type"},
|
||||
{"CAA", "Provider can manage CAA records"},
|
||||
{"PTR", "Provider supports adding PTR records for reverse lookup zones"},
|
||||
{"NAPTR", "Provider can manage NAPTR records"},
|
||||
{"SRV", "Driver has explicitly implemented SRV record management"},
|
||||
{"SSHFP", "Provider can manage SSHFP records"},
|
||||
{"TLSA", "Provider can manage TLSA records"},
|
||||
@ -74,6 +75,7 @@ func generateFeatureMatrix() error {
|
||||
setCap("ALIAS", providers.CanUseAlias)
|
||||
setCap("CAA", providers.CanUseCAA)
|
||||
setCap("PTR", providers.CanUsePTR)
|
||||
setCap("NAPTR", providers.CanUseNAPTR)
|
||||
setCap("SRV", providers.CanUseSRV)
|
||||
setCap("SSHFP", providers.CanUseSSHFP)
|
||||
setCap("TLSA", providers.CanUseTLSA)
|
||||
|
@ -254,6 +254,16 @@ func ptr(name, target string) *rec {
|
||||
return makeRec(name, target, "PTR")
|
||||
}
|
||||
|
||||
func naptr(name string, order uint16, preference uint16, flags string, service string, regexp string, target string) *rec {
|
||||
r := makeRec(name, target, "NAPTR")
|
||||
r.NaptrOrder = order
|
||||
r.NaptrPreference = preference
|
||||
r.NaptrFlags = flags
|
||||
r.NaptrService = service
|
||||
r.NaptrRegexp = regexp
|
||||
return r
|
||||
}
|
||||
|
||||
func srv(name string, priority, weight, port uint16, target string) *rec {
|
||||
r := makeRec(name, target, "SRV")
|
||||
r.SrvPriority = priority
|
||||
@ -417,6 +427,23 @@ func makeTests(t *testing.T) []*TestCase {
|
||||
)
|
||||
}
|
||||
|
||||
// NAPTR
|
||||
if !providers.ProviderHasCabability(*providerToRun, providers.CanUseNAPTR) {
|
||||
t.Log("Skipping NAPTR Tests because provider does not support them")
|
||||
} else {
|
||||
tests = append(tests, tc("Empty"),
|
||||
tc("NAPTR record", naptr("example", 100, 10, "U", "E2U+sip", "!^.*$!sip:customer-service@example.com!", "foo.com")),
|
||||
tc("NAPTR second record", naptr("example", 102, 10, "U", "E2U+email", "!^.*$!mailto:information@example.com!", "foo.com.")),
|
||||
tc("NAPTR delete record", naptr("example", 102, 10, "U", "E2U+email", "!^.*$!mailto:information@example.com!", "foo.com.")),
|
||||
tc("NAPTR change target", naptr("example", 102, 10, "U", "E2U+email", "!^.*$!mailto:information@example.com!", "foo2.com.")),
|
||||
tc("NAPTR change order", naptr("example", 103, 10, "U", "E2U+email", "!^.*$!mailto:information@example.com!", "foo2.com.")),
|
||||
tc("NAPTR change preference", naptr("example", 103, 20, "U", "E2U+email", "!^.*$!mailto:information@example.com!", "foo2.com.")),
|
||||
tc("NAPTR change flags", naptr("example", 103, 20, "A", "E2U+email", "!^.*$!mailto:information@example.com!", "foo2.com.")),
|
||||
tc("NAPTR change service", naptr("example", 103, 20, "A", "E2U+sip", "!^.*$!mailto:information@example.com!", "foo2.com.")),
|
||||
tc("NAPTR change regexp", naptr("example", 103, 20, "A", "E2U+sip", "!^.*$!sip:customer-service@example.com!", "foo2.com.")),
|
||||
)
|
||||
}
|
||||
|
||||
// SRV
|
||||
if !providers.ProviderHasCabability(*providerToRun, providers.CanUseSRV) {
|
||||
t.Log("Skipping SRV Tests because provider does not support them")
|
||||
@ -433,7 +460,7 @@ func makeTests(t *testing.T) []*TestCase {
|
||||
)
|
||||
}
|
||||
|
||||
// SSHFP
|
||||
// SSHFP
|
||||
if !providers.ProviderHasCabability(*providerToRun, providers.CanUseSSHFP) {
|
||||
t.Log("Skipping SSHFP Tests because provider does not support them")
|
||||
} else {
|
||||
|
BIN
models/.record.go.swp
Normal file
BIN
models/.record.go.swp
Normal file
Binary file not shown.
@ -80,7 +80,7 @@ func (dc *DomainConfig) Punycode() error {
|
||||
}
|
||||
rec.SetLabelFromFQDN(t, dc.Name)
|
||||
switch rec.Type { // #rtype_variations
|
||||
case "ALIAS", "MX", "NS", "CNAME", "PTR", "SRV", "URL", "URL301", "FRAME", "R53_ALIAS":
|
||||
case "ALIAS", "MX", "NS", "CNAME", "PTR", "NAPTR", "SRV", "URL", "URL301", "FRAME", "R53_ALIAS":
|
||||
// These rtypes are hostnames, therefore need to be converted (unlike, for example, an AAAA record)
|
||||
t, err := idna.ToASCII(rec.GetTargetField())
|
||||
rec.SetTarget(t)
|
||||
|
@ -21,6 +21,7 @@ import (
|
||||
// MX
|
||||
// NS
|
||||
// PTR
|
||||
// NAPTR
|
||||
// SRV
|
||||
// SSHFP
|
||||
// TLSA
|
||||
@ -75,6 +76,13 @@ type RecordConfig struct {
|
||||
SrvPort uint16 `json:"srvport,omitempty"`
|
||||
CaaTag string `json:"caatag,omitempty"`
|
||||
CaaFlag uint8 `json:"caaflag,omitempty"`
|
||||
NaptrOrder uint16 `json:"naptrorder,omitempty"`
|
||||
NaptrPreference uint16 `json:"naptrpreference,omitempty"`
|
||||
NaptrFlags string `json:"naptrflags,omitempty"`
|
||||
NaptrService string `json:"naptrservice,omitempty"`
|
||||
NaptrRegexp string `json:"naptrregexp,omitempty"`
|
||||
//NaptrReplacement string `json:"naptrreplacement,omitempty"`
|
||||
NaptrReplacement string `json:"target"`
|
||||
SshfpAlgorithm uint8 `json:"sshfpalgorithm,omitempty"`
|
||||
SshfpFingerprint uint8 `json:"sshfpfingerprint,omitempty"`
|
||||
TlsaUsage uint8 `json:"tlsausage,omitempty"`
|
||||
@ -201,6 +209,14 @@ func (rc *RecordConfig) ToRR() dns.RR {
|
||||
rr.(*dns.CNAME).Target = rc.GetTargetField()
|
||||
case dns.TypePTR:
|
||||
rr.(*dns.PTR).Ptr = rc.GetTargetField()
|
||||
case dns.TypeNAPTR:
|
||||
rr.(*dns.NAPTR).Order = rc.NaptrOrder
|
||||
rr.(*dns.NAPTR).Preference = rc.NaptrPreference
|
||||
rr.(*dns.NAPTR).Flags = rc.NaptrFlags
|
||||
rr.(*dns.NAPTR).Service = rc.NaptrService
|
||||
rr.(*dns.NAPTR).Regexp = rc.NaptrRegexp
|
||||
//rr.(*dns.NAPTR).Replacement = rc.GetTargetField()
|
||||
rr.(*dns.NAPTR).Replacement = rc.NaptrReplacement
|
||||
case dns.TypeMX:
|
||||
rr.(*dns.MX).Preference = rc.MxPreference
|
||||
rr.(*dns.MX).Mx = rc.GetTargetField()
|
||||
@ -300,7 +316,7 @@ func downcase(recs []*RecordConfig) {
|
||||
r.Name = strings.ToLower(r.Name)
|
||||
r.NameFQDN = strings.ToLower(r.NameFQDN)
|
||||
switch r.Type { // #rtype_variations
|
||||
case "ANAME", "CNAME", "MX", "NS", "PTR", "SRV":
|
||||
case "ANAME", "CNAME", "MX", "NS", "PTR", "NAPTR", "SRV":
|
||||
// These record types have a target that is case insensitive, so we downcase it.
|
||||
r.Target = strings.ToLower(r.Target)
|
||||
case "A", "AAAA", "ALIAS", "CAA", "IMPORT_TRANSFORM", "TLSA", "TXT", "SOA", "SSHFP", "CF_REDIRECT", "CF_TEMP_REDIRECT":
|
||||
|
48
models/t_naptr.go
Normal file
48
models/t_naptr.go
Normal file
@ -0,0 +1,48 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
// SetTargetNAPTR sets the NAPTR fields.
|
||||
func (rc *RecordConfig) SetTargetNAPTR(order uint16, preference uint16, flags string, service string, regexp string, target string) error {
|
||||
rc.NaptrOrder = order
|
||||
rc.NaptrPreference = preference
|
||||
rc.NaptrFlags = flags
|
||||
rc.NaptrService = service
|
||||
rc.NaptrRegexp = regexp
|
||||
rc.NaptrReplacement = target
|
||||
if rc.Type == "" {
|
||||
rc.Type = "NAPTR"
|
||||
}
|
||||
if rc.Type != "NAPTR" {
|
||||
panic("assertion failed: SetTargetNAPTR called when .Type is not NAPTR")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// SetTargetNAPTRStrings is like SetTargetNAPTR but accepts strings.
|
||||
func (rc *RecordConfig) SetTargetNAPTRStrings(order, preference, flags string, service string, regexp string, target string) error {
|
||||
i64order, err := strconv.ParseUint(order, 10, 16)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "NAPTR order does not fit in 16 bits")
|
||||
}
|
||||
i64preference, err := strconv.ParseUint(preference, 10, 16)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "NAPTR preference does not fit in 16 bits")
|
||||
}
|
||||
return rc.SetTargetNAPTR(uint16(i64order), uint16(i64preference), flags, service, regexp, target)
|
||||
}
|
||||
|
||||
// SetTargetNAPTRString is like SetTargetNAPTR but accepts one big string.
|
||||
func (rc *RecordConfig) SetTargetNAPTRString(s string) error {
|
||||
part := strings.Fields(s)
|
||||
if len(part) != 6 {
|
||||
return errors.Errorf("NAPTR value does not contain 6 fields: (%#v)", s)
|
||||
}
|
||||
return rc.SetTargetNAPTRStrings(part[0], part[1], part[2], part[3], part[4], StripQuotes(part[5]))
|
||||
}
|
@ -38,6 +38,8 @@ func (r *RecordConfig) PopulateFromString(rtype, contents, origin string) error
|
||||
return r.SetTarget(contents)
|
||||
case "CAA":
|
||||
return r.SetTargetCAAString(contents)
|
||||
case "NAPTR":
|
||||
return r.SetTargetNAPTRString(contents)
|
||||
case "MX":
|
||||
return r.SetTargetMXString(contents)
|
||||
case "SRV":
|
||||
|
@ -77,6 +77,8 @@ func (rc *RecordConfig) GetTargetDebug() string {
|
||||
switch rc.Type { // #rtype_variations
|
||||
case "A", "AAAA", "CNAME", "NS", "PTR", "TXT":
|
||||
// Nothing special.
|
||||
case "NAPTR":
|
||||
content += fmt.Sprintf(" naptrorder=%d naptrpreference=%d naptrflags=%s naptrservice=%s naptrregexp=%s naptrreplacement=%s", rc.NaptrOrder, rc.NaptrPreference, rc.NaptrFlags, rc.NaptrService, rc.NaptrRegexp, rc.NaptrReplacement)
|
||||
case "MX":
|
||||
content += fmt.Sprintf(" pref=%d", rc.MxPreference)
|
||||
case "SOA":
|
||||
|
@ -217,6 +217,28 @@ var CNAME = recordBuilder('CNAME');
|
||||
// PTR(name,target, recordModifiers...)
|
||||
var PTR = recordBuilder('PTR');
|
||||
|
||||
// NAPTR(name,order,preference,flags,service,regexp,target, recordModifiers...)
|
||||
var NAPTR = recordBuilder('NAPTR', {
|
||||
args: [
|
||||
['name', _.isString],
|
||||
['order', _.isNumber],
|
||||
['preference', _.isNumber],
|
||||
['flags', _.isString],
|
||||
['service', _.isString],
|
||||
['regexp', _.isString],
|
||||
['target', _.isString],
|
||||
],
|
||||
transform: function(record, args, modifiers) {
|
||||
record.name = args.name;
|
||||
record.naptrorder = args.order;
|
||||
record.naptrpreference = args.preference;
|
||||
record.naptrflags = args.flags;
|
||||
record.naptrservice = args.service;
|
||||
record.naptrregexp = args.regexp;
|
||||
record.target = args.target;
|
||||
},
|
||||
});
|
||||
|
||||
// SRV(name,priority,weight,port,target, recordModifiers...)
|
||||
var SRV = recordBuilder('SRV', {
|
||||
args: [
|
||||
|
4
pkg/js/parse_tests/023-naptr.js
Normal file
4
pkg/js/parse_tests/023-naptr.js
Normal file
@ -0,0 +1,4 @@
|
||||
D("foo.com","none",
|
||||
NAPTR("foo.com",100,10,"U","E2U+sip","!^.*$!sip:customer-service@example.com!","example"),
|
||||
NAPTR("foo.com",102,10,"U","E2U+email","!^.*$!mailto:information@example.com!","example")
|
||||
);
|
31
pkg/js/parse_tests/023-naptr.json
Normal file
31
pkg/js/parse_tests/023-naptr.json
Normal file
@ -0,0 +1,31 @@
|
||||
{
|
||||
"registrars": [],
|
||||
"dns_providers": [],
|
||||
"domains": [
|
||||
{
|
||||
"name": "foo.com",
|
||||
"registrar": "none",
|
||||
"dnsProviders": {},
|
||||
"records": [
|
||||
{
|
||||
"type": "NAPTR",
|
||||
"order": 100,
|
||||
"preference": 10,
|
||||
"flags": "U",
|
||||
"service": "E2U+sip",
|
||||
"regexp": "!^.*$!sip:customer-service@example.com!",
|
||||
"target": "example"
|
||||
},
|
||||
{
|
||||
"type": "NAPTR",
|
||||
"order": 102,
|
||||
"preference": 10,
|
||||
"flags": "U",
|
||||
"service": "E2U+email",
|
||||
"regexp": "!^.*$!mailto:information@example.com!",
|
||||
"target": "example"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
171
pkg/js/static.go
171
pkg/js/static.go
@ -192,92 +192,95 @@ var _escData = map[string]*_escFile{
|
||||
|
||||
"/helpers.js": {
|
||||
local: "pkg/js/helpers.js",
|
||||
size: 18516,
|
||||
size: 19673,
|
||||
modtime: 0,
|
||||
compressed: `
|
||||
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
|
||||
`,
|
||||
},
|
||||
|
||||
|
@ -62,6 +62,7 @@ func validateRecordTypes(rec *models.RecordConfig, domain string, pTypes []strin
|
||||
"TXT": true,
|
||||
"NS": true,
|
||||
"PTR": true,
|
||||
"NAPTR": true,
|
||||
"ALIAS": false,
|
||||
}
|
||||
_, ok := validTypes[rec.Type]
|
||||
@ -170,6 +171,8 @@ func checkTargets(rec *models.RecordConfig, domain string) (errs []error) {
|
||||
}
|
||||
case "PTR":
|
||||
check(checkTarget(target))
|
||||
case "NAPTR":
|
||||
check(checkTarget(target))
|
||||
case "ALIAS":
|
||||
check(checkTarget(target))
|
||||
case "SRV":
|
||||
|
@ -33,6 +33,7 @@ import (
|
||||
var features = providers.DocumentationNotes{
|
||||
providers.CanUseCAA: providers.Can(),
|
||||
providers.CanUsePTR: providers.Can(),
|
||||
providers.CanUseNAPTR: providers.Can(),
|
||||
providers.CanUseSRV: providers.Can(),
|
||||
providers.CanUseSSHFP: providers.Can(),
|
||||
providers.CanUseTLSA: providers.Can(),
|
||||
|
@ -19,6 +19,9 @@ const (
|
||||
// CanUsePTR indicates the provider can handle PTR records
|
||||
CanUsePTR
|
||||
|
||||
// CanUseNAPTR indicates the provider can handle PTR records
|
||||
CanUseNAPTR
|
||||
|
||||
// CanUseSRV indicates the provider can handle SRV records
|
||||
CanUseSRV
|
||||
|
||||
|
Reference in New Issue
Block a user