5
5
"errors"
6
6
"fmt"
7
7
"net/http"
8
+ "strings"
8
9
"time"
9
10
10
11
"github.com/go-acme/lego/v4/challenge"
@@ -110,7 +111,8 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
110
111
func (d * DNSProvider ) Present (domain , token , keyAuth string ) error {
111
112
info := dns01 .GetChallengeInfo (domain , keyAuth )
112
113
113
- // TODO(ldez) replace domain by FQDN to follow CNAME.
114
+ domain = dns01 .UnFqdn (strings .TrimPrefix (info .EffectiveFQDN , "_acme-challenge." ))
115
+
114
116
domainDetails , err := d .client .GetDomain (& namecom.GetDomainRequest {DomainName : domain })
115
117
if err != nil {
116
118
return fmt .Errorf ("namedotcom: API call failed: %w" , err )
@@ -121,7 +123,6 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
121
123
return fmt .Errorf ("namedotcom: %w" , err )
122
124
}
123
125
124
- // TODO(ldez) replace domain by FQDN to follow CNAME.
125
126
request := & namecom.Record {
126
127
DomainName : domain ,
127
128
Host : subDomain ,
@@ -142,15 +143,15 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
142
143
func (d * DNSProvider ) CleanUp (domain , token , keyAuth string ) error {
143
144
info := dns01 .GetChallengeInfo (domain , keyAuth )
144
145
145
- // TODO(ldez) replace domain by FQDN to follow CNAME.
146
+ domain = dns01 .UnFqdn (strings .TrimPrefix (info .EffectiveFQDN , "_acme-challenge." ))
147
+
146
148
records , err := d .getRecords (domain )
147
149
if err != nil {
148
150
return fmt .Errorf ("namedotcom: %w" , err )
149
151
}
150
152
151
153
for _ , rec := range records {
152
154
if rec .Fqdn == info .EffectiveFQDN && rec .Type == "TXT" {
153
- // TODO(ldez) replace domain by FQDN to follow CNAME.
154
155
request := & namecom.DeleteRecordRequest {
155
156
DomainName : domain ,
156
157
ID : rec .ID ,
0 commit comments