mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2024-05-11 05:55:12 +00:00
Nameserver overhaul (#17)
* go changes to support nameservers_from * clear nameservers before giving to dsp. * work * work * nameserver updates. * remove unused * name.com stinks at NS records. * whitespace * removing web(belongs in own repo). First sketch of DSP vs NAMESERVER_FROM * add DEFAULTS to replace defaultDsps. * initial gcloud provider. Simple records work. * namedotcom can do subdomain ns records now. * fix for mx and txt * kill dsp acronym
This commit is contained in:
@@ -2,6 +2,8 @@ package namedotcom
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"strings"
|
||||
|
||||
"github.com/miekg/dns/dnsutil"
|
||||
|
||||
@@ -17,7 +19,6 @@ var defaultNameservers = []*models.Nameserver{
|
||||
}
|
||||
|
||||
func (n *nameDotCom) GetDomainCorrections(dc *models.DomainConfig) ([]*models.Correction, error) {
|
||||
dc.Nameservers = defaultNameservers
|
||||
records, err := n.getRecords(dc.Name)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -27,12 +28,19 @@ func (n *nameDotCom) GetDomainCorrections(dc *models.DomainConfig) ([]*models.Co
|
||||
actual[i] = records[i]
|
||||
}
|
||||
|
||||
desired := make([]diff.Record, len(dc.Records))
|
||||
for i, rec := range dc.Records {
|
||||
desired := make([]diff.Record, 0, len(dc.Records))
|
||||
for _, rec := range dc.Records {
|
||||
if rec.TTL == 0 {
|
||||
rec.TTL = 300
|
||||
}
|
||||
desired[i] = rec
|
||||
if rec.Type == "NS" && rec.NameFQDN == dc.Name {
|
||||
// name.com does change base domain NS records. dnscontrol will print warnings if you try to set them to anything besides the name.com defaults.
|
||||
if !strings.HasSuffix(rec.Target, ".name.com.") {
|
||||
log.Printf("Warning: name.com does not allow NS records on base domain to be modified. %s will not be added.", rec.Target)
|
||||
}
|
||||
continue
|
||||
}
|
||||
desired = append(desired, rec)
|
||||
}
|
||||
|
||||
_, create, del, mod := diff.IncrementalDiff(actual, desired)
|
||||
@@ -117,10 +125,8 @@ func (n *nameDotCom) getRecords(domain string) ([]*nameComRecord, error) {
|
||||
for _, rc := range result.Records {
|
||||
if rc.Type == "CNAME" || rc.Type == "MX" || rc.Type == "NS" {
|
||||
rc.Content = rc.Content + "."
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return result.Records, nil
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user