forked from TrueCloudLab/lego
NS1: use the authoritative zone and not the domain name (#463)
This commit is contained in:
parent
255296ec82
commit
771679fe3d
1 changed files with 20 additions and 1 deletions
|
@ -5,6 +5,7 @@ package ns1
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/xenolf/lego/acme"
|
"github.com/xenolf/lego/acme"
|
||||||
|
@ -75,7 +76,12 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *DNSProvider) getHostedZone(domain string) (*dns.Zone, error) {
|
func (d *DNSProvider) getHostedZone(domain string) (*dns.Zone, error) {
|
||||||
zone, _, err := d.client.Zones.Get(domain)
|
authZone, err := getAuthZone(domain)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
zone, _, err := d.client.Zones.Get(authZone)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -83,6 +89,19 @@ func (d *DNSProvider) getHostedZone(domain string) (*dns.Zone, error) {
|
||||||
return zone, nil
|
return zone, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getAuthZone(fqdn string) (string, error) {
|
||||||
|
authZone, err := acme.FindZoneByFqdn(fqdn, acme.RecursiveNameservers)
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
|
||||||
|
if strings.HasSuffix(authZone, ".") {
|
||||||
|
authZone = authZone[:len(authZone)-len(".")]
|
||||||
|
}
|
||||||
|
|
||||||
|
return authZone, err
|
||||||
|
}
|
||||||
|
|
||||||
func (d *DNSProvider) newTxtRecord(zone *dns.Zone, fqdn, value string, ttl int) *dns.Record {
|
func (d *DNSProvider) newTxtRecord(zone *dns.Zone, fqdn, value string, ttl int) *dns.Record {
|
||||||
name := acme.UnFqdn(fqdn)
|
name := acme.UnFqdn(fqdn)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue