diff --git a/dnsutil.go b/dnsutil.go index 1fe7911b..2573cb96 100644 --- a/dnsutil.go +++ b/dnsutil.go @@ -214,11 +214,21 @@ func checkDNSPropagation(fqdn, value string, resolvers []string) (bool, error) { fqdn += "." } + // Initial attempt to resolve at the recursive NS + r, err := dnsQuery(fqdn, dns.TypeTXT, resolvers, true) + if err != nil { + return false, err + } + // TODO: make this configurable, maybe // if !p.requireCompletePropagation { // return true, nil // } + if r.Rcode == dns.RcodeSuccess { + fqdn = updateDomainWithCName(r, fqdn) + } + authoritativeNss, err := lookupNameservers(fqdn, resolvers) if err != nil { return false, err