55 "errors"
66 "fmt"
77 "net/http"
8+ "strings"
89 "time"
910
1011 "github.com/go-acme/lego/v4/challenge"
@@ -110,7 +111,8 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
110111func (d * DNSProvider ) Present (domain , token , keyAuth string ) error {
111112 info := dns01 .GetChallengeInfo (domain , keyAuth )
112113
113- // TODO(ldez) replace domain by FQDN to follow CNAME.
114+ domain = dns01 .UnFqdn (strings .TrimPrefix (info .EffectiveFQDN , "_acme-challenge." ))
115+
114116 domainDetails , err := d .client .GetDomain (& namecom.GetDomainRequest {DomainName : domain })
115117 if err != nil {
116118 return fmt .Errorf ("namedotcom: API call failed: %w" , err )
@@ -121,7 +123,6 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
121123 return fmt .Errorf ("namedotcom: %w" , err )
122124 }
123125
124- // TODO(ldez) replace domain by FQDN to follow CNAME.
125126 request := & namecom.Record {
126127 DomainName : domain ,
127128 Host : subDomain ,
@@ -142,15 +143,15 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
142143func (d * DNSProvider ) CleanUp (domain , token , keyAuth string ) error {
143144 info := dns01 .GetChallengeInfo (domain , keyAuth )
144145
145- // TODO(ldez) replace domain by FQDN to follow CNAME.
146+ domain = dns01 .UnFqdn (strings .TrimPrefix (info .EffectiveFQDN , "_acme-challenge." ))
147+
146148 records , err := d .getRecords (domain )
147149 if err != nil {
148150 return fmt .Errorf ("namedotcom: %w" , err )
149151 }
150152
151153 for _ , rec := range records {
152154 if rec .Fqdn == info .EffectiveFQDN && rec .Type == "TXT" {
153- // TODO(ldez) replace domain by FQDN to follow CNAME.
154155 request := & namecom.DeleteRecordRequest {
155156 DomainName : domain ,
156157 ID : rec .ID ,
0 commit comments