From 8ff6f0b0fc24785d56bcefb32d05e45c39fff9a9 Mon Sep 17 00:00:00 2001 From: Fernandez Ludovic Date: Mon, 19 Jan 2026 02:03:21 +0100 Subject: [PATCH] chore: delete old dns01 and rename dnsnew to dns01 --- challenge/{dnsnew => dns01}/client.go | 2 +- challenge/{dnsnew => dns01}/client_cache.go | 2 +- challenge/{dnsnew => dns01}/client_cname.go | 2 +- .../{cname_test.go => client_cname_test.go} | 0 challenge/{dnsnew => dns01}/client_error.go | 2 +- .../{dnsnew => dns01}/client_error_test.go | 2 +- .../{dnsnew => dns01}/client_nameservers.go | 2 +- .../client_nameservers_test.go | 2 +- .../{dnsnew => dns01}/client_timeout_unix.go | 2 +- .../client_timeout_windows.go | 2 +- challenge/{dnsnew => dns01}/client_zone.go | 2 +- .../{dnsnew => dns01}/client_zone_test.go | 2 +- challenge/dns01/cname.go | 20 - challenge/dns01/dns_challenge.go | 82 +--- challenge/dns01/dns_challenge_manual.go | 67 ---- .../dns_challenge_options.go | 2 +- .../dns_challenge_precheck.go | 2 +- .../dns_challenge_precheck_test.go | 2 +- challenge/dns01/dns_challenge_test.go | 50 +-- challenge/dns01/fqdn.go | 7 - challenge/dns01/mock_test.go | 59 ++- challenge/dns01/nameserver.go | 354 ----------------- challenge/dns01/nameserver_test.go | 365 ------------------ challenge/dns01/nameserver_unix.go | 8 - challenge/dns01/nameserver_windows.go | 8 - challenge/dns01/precheck.go | 163 -------- challenge/dns01/precheck_test.go | 145 ------- challenge/dnsnew/client_cname_test.go | 35 -- challenge/dnsnew/dns_challenge.go | 200 ---------- challenge/dnsnew/dns_challenge_test.go | 348 ----------------- challenge/dnsnew/domain.go | 24 -- challenge/dnsnew/domain_test.go | 102 ----- challenge/dnsnew/fixtures/resolv.conf.1 | 5 - challenge/dnsnew/fqdn.go | 47 --- challenge/dnsnew/fqdn_test.go | 137 ------- challenge/dnsnew/mock_test.go | 78 ---- challenge/resolver/solver_manager.go | 6 +- cmd/setup_challenges.go | 18 +- e2e/dnschallenge/dns_challenges_test.go | 12 +- providers/dns/acmedns/acmedns.go | 4 +- providers/dns/active24/active24.go | 8 +- providers/dns/alidns/alidns.go | 16 +- providers/dns/aliesa/aliesa.go | 20 +- providers/dns/allinkl/allinkl.go | 14 +- providers/dns/alwaysdata/alwaysdata.go | 18 +- providers/dns/anexia/anexia.go | 22 +- providers/dns/arvancloud/arvancloud.go | 16 +- providers/dns/auroradns/auroradns.go | 18 +- providers/dns/autodns/autodns.go | 6 +- providers/dns/axelname/axelname.go | 24 +- providers/dns/azion/azion.go | 18 +- providers/dns/azure/private.go | 14 +- providers/dns/azure/public.go | 14 +- providers/dns/azuredns/credentials.go | 4 +- providers/dns/azuredns/private.go | 12 +- providers/dns/azuredns/public.go | 12 +- providers/dns/baiducloud/baiducloud.go | 22 +- providers/dns/beget/beget.go | 18 +- providers/dns/binarylane/binarylane.go | 20 +- providers/dns/bindman/bindman.go | 10 +- providers/dns/bluecat/bluecat.go | 12 +- providers/dns/bookmyname/bookmyname.go | 16 +- providers/dns/brandit/brandit.go | 26 +- providers/dns/bunny/bunny.go | 20 +- providers/dns/checkdomain/checkdomain.go | 6 +- .../dns/checkdomain/internal/client_test.go | 4 +- providers/dns/civo/civo.go | 18 +- providers/dns/clouddns/clouddns.go | 10 +- providers/dns/cloudflare/cloudflare.go | 14 +- providers/dns/cloudflare/wrapper.go | 4 +- providers/dns/cloudns/cloudns.go | 6 +- providers/dns/cloudns/internal/client.go | 12 +- providers/dns/cloudru/cloudru.go | 14 +- providers/dns/cloudxns/cloudxns.go | 4 +- providers/dns/conoha/conoha.go | 14 +- providers/dns/conohav3/conohav3.go | 14 +- providers/dns/constellix/constellix.go | 20 +- providers/dns/corenetworks/corenetworks.go | 28 +- providers/dns/cpanel/cpanel.go | 16 +- providers/dns/ddnss/ddnss.go | 18 +- providers/dns/derak/derak.go | 14 +- providers/dns/desec/desec.go | 18 +- providers/dns/designate/designate.go | 8 +- providers/dns/digitalocean/digitalocean.go | 12 +- providers/dns/digitalocean/internal/client.go | 6 +- providers/dns/directadmin/directadmin.go | 16 +- providers/dns/dnsexit/dnsexit.go | 20 +- providers/dns/dnshomede/dnshomede.go | 12 +- providers/dns/dnsimple/dnsimple.go | 20 +- providers/dns/dnsmadeeasy/dnsmadeeasy.go | 16 +- providers/dns/dnsmadeeasy/internal/client.go | 4 +- providers/dns/dnspod/dnspod.go | 18 +- providers/dns/dode/dode.go | 12 +- providers/dns/dode/internal/client.go | 4 +- providers/dns/domeneshop/domeneshop.go | 12 +- providers/dns/dreamhost/dreamhost.go | 10 +- providers/dns/duckdns/duckdns.go | 16 +- providers/dns/duckdns/internal/client.go | 4 +- providers/dns/dyn/dyn.go | 16 +- providers/dns/dyndnsfree/dyndnsfree.go | 12 +- providers/dns/dynu/dynu.go | 22 +- providers/dns/easydns/easydns.go | 24 +- providers/dns/edgecenter/edgecenter.go | 4 +- providers/dns/edgedns/edgedns.go | 14 +- .../dns/edgedns/edgedns_integration_test.go | 4 +- providers/dns/edgedns/edgedns_test.go | 4 +- providers/dns/edgeone/edgeone.go | 8 +- providers/dns/edgeone/wrapper.go | 6 +- providers/dns/efficientip/efficientip.go | 14 +- providers/dns/epik/epik.go | 22 +- providers/dns/exec/exec.go | 10 +- providers/dns/exoscale/exoscale.go | 18 +- providers/dns/f5xc/f5xc.go | 28 +- providers/dns/freemyip/freemyip.go | 16 +- providers/dns/gandi/gandi.go | 12 +- providers/dns/gandiv5/gandiv5.go | 14 +- providers/dns/gcloud/googlecloud.go | 10 +- providers/dns/gcore/gcore.go | 4 +- providers/dns/gigahostno/gigahostno.go | 18 +- providers/dns/glesys/glesys.go | 12 +- providers/dns/godaddy/godaddy.go | 20 +- providers/dns/googledomains/googledomains.go | 4 +- providers/dns/gravity/gravity.go | 14 +- providers/dns/hetzner/hetzner.go | 4 +- .../hetzner/internal/hetznerv1/hetznerv1.go | 28 +- .../dns/hetzner/internal/legacy/hetzner.go | 20 +- providers/dns/hostingde/hostingde.go | 6 +- providers/dns/hostinger/hostinger.go | 28 +- providers/dns/hostingnl/hostingnl.go | 20 +- providers/dns/hosttech/hosttech.go | 20 +- providers/dns/httpnet/httpnet.go | 6 +- providers/dns/httpreq/httpreq.go | 10 +- providers/dns/huaweicloud/huaweicloud.go | 16 +- providers/dns/hurricane/hurricane.go | 14 +- providers/dns/hyperone/hyperone.go | 14 +- providers/dns/ibmcloud/ibmcloud.go | 12 +- providers/dns/iij/iij.go | 10 +- providers/dns/iijdpf/iijdpf.go | 6 +- providers/dns/infoblox/infoblox.go | 14 +- providers/dns/infomaniak/infomaniak.go | 12 +- providers/dns/infomaniak/internal/client.go | 4 +- providers/dns/internal/active24/provider.go | 22 +- providers/dns/internal/gcore/provider.go | 12 +- providers/dns/internal/hostingde/provider.go | 16 +- providers/dns/internal/ionos/provider.go | 10 +- .../dns/internal/rimuhosting/provider.go | 12 +- providers/dns/internal/selectel/provider.go | 8 +- .../dns/internal/tecnocratica/provider.go | 12 +- providers/dns/internal/westcn/provider.go | 16 +- providers/dns/internetbs/internetbs.go | 14 +- providers/dns/inwx/inwx.go | 20 +- providers/dns/ionos/ionos.go | 4 +- providers/dns/ionoscloud/ionoscloud.go | 16 +- providers/dns/ipv64/ipv64.go | 14 +- providers/dns/ispconfig/ispconfig.go | 14 +- providers/dns/ispconfigddns/ispconfigddns.go | 18 +- providers/dns/jdcloud/jdcloud.go | 18 +- providers/dns/joker/internal/dmapi/client.go | 6 +- providers/dns/joker/joker.go | 8 +- providers/dns/joker/provider_dmapi.go | 14 +- providers/dns/joker/provider_svc.go | 18 +- providers/dns/keyhelp/keyhelp.go | 18 +- providers/dns/liara/liara.go | 20 +- providers/dns/lightsail/lightsail.go | 10 +- providers/dns/limacity/limacity.go | 12 +- providers/dns/linode/linode.go | 16 +- providers/dns/liquidweb/liquidweb.go | 8 +- providers/dns/loopia/loopia.go | 14 +- providers/dns/luadns/luadns.go | 12 +- providers/dns/mailinabox/mailinabox.go | 10 +- providers/dns/manageengine/manageengine.go | 16 +- providers/dns/manual/manual.go | 16 +- providers/dns/metaname/metaname.go | 22 +- providers/dns/metaregistrar/metaregistrar.go | 24 +- providers/dns/mijnhost/mijnhost.go | 18 +- providers/dns/mittwald/mittwald.go | 14 +- providers/dns/myaddr/myaddr.go | 16 +- providers/dns/mydnsjp/mydnsjp.go | 8 +- providers/dns/mythicbeasts/mythicbeasts.go | 24 +- providers/dns/namecheap/namecheap.go | 8 +- providers/dns/namedotcom/namedotcom.go | 12 +- providers/dns/namesilo/namesilo.go | 24 +- .../dns/nearlyfreespeech/internal/client.go | 6 +- .../dns/nearlyfreespeech/nearlyfreespeech.go | 20 +- providers/dns/neodigit/neodigit.go | 4 +- .../dns/netcup/internal/client_live_test.go | 14 +- providers/dns/netcup/netcup.go | 14 +- providers/dns/netcup/netcup_test.go | 8 +- providers/dns/netlify/netlify.go | 20 +- providers/dns/nicmanager/nicmanager.go | 18 +- providers/dns/nicru/nicru.go | 20 +- providers/dns/nifcloud/nifcloud.go | 18 +- providers/dns/njalla/njalla.go | 16 +- providers/dns/nodion/nodion.go | 24 +- providers/dns/ns1/ns1.go | 22 +- providers/dns/octenium/octenium.go | 16 +- providers/dns/oraclecloud/oraclecloud.go | 24 +- providers/dns/otc/otc.go | 16 +- providers/dns/ovh/ovh.go | 22 +- providers/dns/pdns/pdns.go | 16 +- providers/dns/plesk/plesk.go | 16 +- providers/dns/porkbun/porkbun.go | 14 +- providers/dns/rackspace/internal/client.go | 8 +- providers/dns/rackspace/rackspace.go | 12 +- providers/dns/rainyun/rainyun.go | 24 +- providers/dns/rcodezero/rcodezero.go | 12 +- providers/dns/regfish/regfish.go | 12 +- providers/dns/regru/regru.go | 26 +- providers/dns/rfc2136/rfc2136.go | 16 +- providers/dns/rfc2136/rfc2136_test.go | 12 +- providers/dns/rimuhosting/rimuhosting.go | 6 +- providers/dns/route53/route53.go | 10 +- providers/dns/safedns/internal/client.go | 6 +- providers/dns/safedns/internal/client_test.go | 6 +- providers/dns/safedns/safedns.go | 18 +- providers/dns/sakuracloud/sakuracloud.go | 12 +- providers/dns/sakuracloud/wrapper.go | 10 +- providers/dns/scaleway/scaleway.go | 6 +- providers/dns/selectel/selectel.go | 4 +- providers/dns/selectelv2/selectelv2.go | 12 +- providers/dns/selfhostde/selfhostde.go | 12 +- providers/dns/servercow/servercow.go | 20 +- providers/dns/shellrent/shellrent.go | 10 +- providers/dns/simply/simply.go | 18 +- providers/dns/sonic/sonic.go | 18 +- providers/dns/spaceship/spaceship.go | 24 +- providers/dns/stackpath/internal/client.go | 4 +- providers/dns/stackpath/stackpath.go | 16 +- providers/dns/syse/syse.go | 18 +- providers/dns/technitium/technitium.go | 12 +- providers/dns/tencentcloud/tencentcloud.go | 10 +- providers/dns/tencentcloud/wrapper.go | 8 +- providers/dns/timewebcloud/internal/client.go | 6 +- providers/dns/timewebcloud/timewebcloud.go | 16 +- providers/dns/todaynic/todaynic.go | 16 +- providers/dns/transip/transip.go | 18 +- providers/dns/ultradns/ultradns.go | 12 +- providers/dns/uniteddomains/uniteddomains.go | 4 +- providers/dns/variomedia/variomedia.go | 18 +- providers/dns/vegadns/vegadns.go | 12 +- providers/dns/vercel/internal/client.go | 6 +- providers/dns/vercel/vercel.go | 10 +- providers/dns/versio/versio.go | 18 +- providers/dns/vinyldns/vinyldns.go | 6 +- providers/dns/vinyldns/wrapper.go | 6 +- providers/dns/virtualname/virtualname.go | 4 +- providers/dns/vkcloud/vkcloud.go | 24 +- providers/dns/volcengine/volcengine.go | 10 +- providers/dns/vscale/vscale.go | 4 +- providers/dns/vultr/vultr.go | 16 +- providers/dns/webnames/webnames.go | 26 +- providers/dns/webnamesca/webnamesca.go | 20 +- providers/dns/websupport/websupport.go | 8 +- providers/dns/wedos/internal/client.go | 10 +- providers/dns/wedos/wedos.go | 14 +- providers/dns/yandex/yandex.go | 10 +- providers/dns/yandex360/yandex360.go | 20 +- providers/dns/yandexcloud/yandexcloud.go | 18 +- providers/dns/zoneedit/zoneedit.go | 14 +- providers/dns/zoneee/zoneee.go | 16 +- providers/dns/zonomi/zonomi.go | 6 +- 261 files changed, 1633 insertions(+), 3789 deletions(-) rename challenge/{dnsnew => dns01}/client.go (99%) rename challenge/{dnsnew => dns01}/client_cache.go (98%) rename challenge/{dnsnew => dns01}/client_cname.go (98%) rename challenge/dns01/{cname_test.go => client_cname_test.go} (100%) rename challenge/{dnsnew => dns01}/client_error.go (98%) rename challenge/{dnsnew => dns01}/client_error_test.go (98%) rename challenge/{dnsnew => dns01}/client_nameservers.go (99%) rename challenge/{dnsnew => dns01}/client_nameservers_test.go (99%) rename challenge/{dnsnew => dns01}/client_timeout_unix.go (90%) rename challenge/{dnsnew => dns01}/client_timeout_windows.go (90%) rename challenge/{dnsnew => dns01}/client_zone.go (99%) rename challenge/{dnsnew => dns01}/client_zone_test.go (99%) delete mode 100644 challenge/dns01/cname.go delete mode 100644 challenge/dns01/dns_challenge_manual.go rename challenge/{dnsnew => dns01}/dns_challenge_options.go (98%) rename challenge/{dnsnew => dns01}/dns_challenge_precheck.go (99%) rename challenge/{dnsnew => dns01}/dns_challenge_precheck_test.go (99%) delete mode 100644 challenge/dns01/nameserver.go delete mode 100644 challenge/dns01/nameserver_test.go delete mode 100644 challenge/dns01/nameserver_unix.go delete mode 100644 challenge/dns01/nameserver_windows.go delete mode 100644 challenge/dns01/precheck.go delete mode 100644 challenge/dns01/precheck_test.go delete mode 100644 challenge/dnsnew/client_cname_test.go delete mode 100644 challenge/dnsnew/dns_challenge.go delete mode 100644 challenge/dnsnew/dns_challenge_test.go delete mode 100644 challenge/dnsnew/domain.go delete mode 100644 challenge/dnsnew/domain_test.go delete mode 100644 challenge/dnsnew/fixtures/resolv.conf.1 delete mode 100644 challenge/dnsnew/fqdn.go delete mode 100644 challenge/dnsnew/fqdn_test.go delete mode 100644 challenge/dnsnew/mock_test.go diff --git a/challenge/dnsnew/client.go b/challenge/dns01/client.go similarity index 99% rename from challenge/dnsnew/client.go rename to challenge/dns01/client.go index 8f153c582..22a00a433 100644 --- a/challenge/dnsnew/client.go +++ b/challenge/dns01/client.go @@ -1,4 +1,4 @@ -package dnsnew +package dns01 import ( "context" diff --git a/challenge/dnsnew/client_cache.go b/challenge/dns01/client_cache.go similarity index 98% rename from challenge/dnsnew/client_cache.go rename to challenge/dns01/client_cache.go index 4b960cd6c..e024afb2b 100644 --- a/challenge/dnsnew/client_cache.go +++ b/challenge/dns01/client_cache.go @@ -1,4 +1,4 @@ -package dnsnew +package dns01 import ( "time" diff --git a/challenge/dnsnew/client_cname.go b/challenge/dns01/client_cname.go similarity index 98% rename from challenge/dnsnew/client_cname.go rename to challenge/dns01/client_cname.go index 4a03b84dc..743264e8a 100644 --- a/challenge/dnsnew/client_cname.go +++ b/challenge/dns01/client_cname.go @@ -1,4 +1,4 @@ -package dnsnew +package dns01 import ( "context" diff --git a/challenge/dns01/cname_test.go b/challenge/dns01/client_cname_test.go similarity index 100% rename from challenge/dns01/cname_test.go rename to challenge/dns01/client_cname_test.go diff --git a/challenge/dnsnew/client_error.go b/challenge/dns01/client_error.go similarity index 98% rename from challenge/dnsnew/client_error.go rename to challenge/dns01/client_error.go index 3ab8d1e62..644140075 100644 --- a/challenge/dnsnew/client_error.go +++ b/challenge/dns01/client_error.go @@ -1,4 +1,4 @@ -package dnsnew +package dns01 import ( "fmt" diff --git a/challenge/dnsnew/client_error_test.go b/challenge/dns01/client_error_test.go similarity index 98% rename from challenge/dnsnew/client_error_test.go rename to challenge/dns01/client_error_test.go index f30f59ab8..809b62170 100644 --- a/challenge/dnsnew/client_error_test.go +++ b/challenge/dns01/client_error_test.go @@ -1,4 +1,4 @@ -package dnsnew +package dns01 import ( "errors" diff --git a/challenge/dnsnew/client_nameservers.go b/challenge/dns01/client_nameservers.go similarity index 99% rename from challenge/dnsnew/client_nameservers.go rename to challenge/dns01/client_nameservers.go index 8867b9143..7c5a62c05 100644 --- a/challenge/dnsnew/client_nameservers.go +++ b/challenge/dns01/client_nameservers.go @@ -1,4 +1,4 @@ -package dnsnew +package dns01 import ( "context" diff --git a/challenge/dnsnew/client_nameservers_test.go b/challenge/dns01/client_nameservers_test.go similarity index 99% rename from challenge/dnsnew/client_nameservers_test.go rename to challenge/dns01/client_nameservers_test.go index 5ca7e927c..ad4c05a9c 100644 --- a/challenge/dnsnew/client_nameservers_test.go +++ b/challenge/dns01/client_nameservers_test.go @@ -1,4 +1,4 @@ -package dnsnew +package dns01 import ( "sort" diff --git a/challenge/dnsnew/client_timeout_unix.go b/challenge/dns01/client_timeout_unix.go similarity index 90% rename from challenge/dnsnew/client_timeout_unix.go rename to challenge/dns01/client_timeout_unix.go index 49dded01c..ca2c09f79 100644 --- a/challenge/dnsnew/client_timeout_unix.go +++ b/challenge/dns01/client_timeout_unix.go @@ -1,6 +1,6 @@ //go:build !windows -package dnsnew +package dns01 import "time" diff --git a/challenge/dnsnew/client_timeout_windows.go b/challenge/dns01/client_timeout_windows.go similarity index 90% rename from challenge/dnsnew/client_timeout_windows.go rename to challenge/dns01/client_timeout_windows.go index 5dc94d056..7eecd1b85 100644 --- a/challenge/dnsnew/client_timeout_windows.go +++ b/challenge/dns01/client_timeout_windows.go @@ -1,6 +1,6 @@ //go:build windows -package dnsnew +package dns01 import "time" diff --git a/challenge/dnsnew/client_zone.go b/challenge/dns01/client_zone.go similarity index 99% rename from challenge/dnsnew/client_zone.go rename to challenge/dns01/client_zone.go index 899318e5c..3332ac088 100644 --- a/challenge/dnsnew/client_zone.go +++ b/challenge/dns01/client_zone.go @@ -1,4 +1,4 @@ -package dnsnew +package dns01 import ( "context" diff --git a/challenge/dnsnew/client_zone_test.go b/challenge/dns01/client_zone_test.go similarity index 99% rename from challenge/dnsnew/client_zone_test.go rename to challenge/dns01/client_zone_test.go index 8ea10ec50..5f6e806f4 100644 --- a/challenge/dnsnew/client_zone_test.go +++ b/challenge/dns01/client_zone_test.go @@ -1,4 +1,4 @@ -package dnsnew +package dns01 import ( "testing" diff --git a/challenge/dns01/cname.go b/challenge/dns01/cname.go deleted file mode 100644 index 26fe15017..000000000 --- a/challenge/dns01/cname.go +++ /dev/null @@ -1,20 +0,0 @@ -package dns01 - -import ( - "strings" - - "github.com/miekg/dns" -) - -// Update FQDN with CNAME if any. -func updateDomainWithCName(r *dns.Msg, fqdn string) string { - for _, rr := range r.Answer { - if cn, ok := rr.(*dns.CNAME); ok { - if strings.EqualFold(cn.Hdr.Name, fqdn) { - return cn.Target - } - } - } - - return fqdn -} diff --git a/challenge/dns01/dns_challenge.go b/challenge/dns01/dns_challenge.go index c1212d486..d855eb4b7 100644 --- a/challenge/dns01/dns_challenge.go +++ b/challenge/dns01/dns_challenge.go @@ -15,7 +15,6 @@ import ( "github.com/go-acme/lego/v5/challenge" "github.com/go-acme/lego/v5/log" "github.com/go-acme/lego/v5/platform/wait" - "github.com/miekg/dns" ) const ( @@ -31,36 +30,20 @@ const ( type ValidateFunc func(ctx context.Context, core *api.Core, domain string, chlng acme.Challenge) error -type ChallengeOption func(*Challenge) error - -// CondOption Conditional challenge option. -func CondOption(condition bool, opt ChallengeOption) ChallengeOption { - if !condition { - // NoOp options - return func(*Challenge) error { - return nil - } - } - - return opt -} - // Challenge implements the dns-01 challenge. type Challenge struct { - core *api.Core - validate ValidateFunc - provider challenge.Provider - preCheck preCheck - dnsTimeout time.Duration + core *api.Core + validate ValidateFunc + provider challenge.Provider + preCheck preCheck } func NewChallenge(core *api.Core, validate ValidateFunc, provider challenge.Provider, opts ...ChallengeOption) *Challenge { chlg := &Challenge{ - core: core, - validate: validate, - provider: provider, - preCheck: newPreCheck(), - dnsTimeout: 10 * time.Second, + core: core, + validate: validate, + provider: provider, + preCheck: newPreCheck(), } for _, opt := range opts { @@ -74,7 +57,7 @@ func NewChallenge(core *api.Core, validate ValidateFunc, provider challenge.Prov } // PreSolve just submits the txt record to the dns provider. -// It does not validate record propagation, or do anything at all with the acme server. +// It does not validate record propagation or do anything at all with the ACME server. func (c *Challenge) PreSolve(ctx context.Context, authz acme.Authorization) error { domain := challenge.GetTargetedDomain(authz) log.Info("acme: Preparing to solve DNS-01.", "domain", domain) @@ -117,7 +100,7 @@ func (c *Challenge) Solve(ctx context.Context, authz acme.Authorization) error { return err } - info := GetChallengeInfo(authz.Identifier.Value, keyAuth) + info := GetChallengeInfo(ctx, authz.Identifier.Value, keyAuth) var timeout, interval time.Duration @@ -128,12 +111,13 @@ func (c *Challenge) Solve(ctx context.Context, authz acme.Authorization) error { timeout, interval = DefaultPropagationTimeout, DefaultPollingInterval } - log.Info("acme: Checking DNS record propagation.", "domain", domain, "nameservers", strings.Join(recursiveNameservers, ",")) + log.Info("acme: Checking DNS record propagation.", + "domain", domain, "nameservers", strings.Join(DefaultClient().recursiveNameservers, ",")) time.Sleep(interval) err = wait.For("propagation", timeout, interval, func() (bool, error) { - stop, errP := c.preCheck.call(domain, info.EffectiveFQDN, info.Value) + stop, errP := c.preCheck.call(ctx, domain, info.EffectiveFQDN, info.Value) if !stop || errP != nil { log.Info("acme: Waiting for DNS record propagation.", "domain", domain) } @@ -178,15 +162,6 @@ type sequential interface { Sequential() time.Duration } -// GetRecord returns a DNS record which will fulfill the `dns-01` challenge. -// -// Deprecated: use GetChallengeInfo instead. -func GetRecord(domain, keyAuth string) (fqdn, value string) { - info := GetChallengeInfo(domain, keyAuth) - - return info.EffectiveFQDN, info.Value -} - // ChallengeInfo contains the information use to create the TXT record. type ChallengeInfo struct { // FQDN is the full-qualified challenge domain (i.e. `_acme-challenge.[domain].`) @@ -200,7 +175,7 @@ type ChallengeInfo struct { } // GetChallengeInfo returns information used to create a DNS record which will fulfill the `dns-01` challenge. -func GetChallengeInfo(domain, keyAuth string) ChallengeInfo { +func GetChallengeInfo(ctx context.Context, domain, keyAuth string) ChallengeInfo { keyAuthShaBytes := sha256.Sum256([]byte(keyAuth)) // base64URL encoding without padding value := base64.RawURLEncoding.EncodeToString(keyAuthShaBytes[:sha256.Size]) @@ -209,38 +184,17 @@ func GetChallengeInfo(domain, keyAuth string) ChallengeInfo { return ChallengeInfo{ Value: value, - FQDN: getChallengeFQDN(domain, false), - EffectiveFQDN: getChallengeFQDN(domain, !ok), + FQDN: getChallengeFQDN(ctx, domain, false), + EffectiveFQDN: getChallengeFQDN(ctx, domain, !ok), } } -func getChallengeFQDN(domain string, followCNAME bool) string { +func getChallengeFQDN(ctx context.Context, domain string, followCNAME bool) string { fqdn := fmt.Sprintf("_acme-challenge.%s.", domain) if !followCNAME { return fqdn } - // recursion counter so it doesn't spin out of control - for range 50 { - // Keep following CNAMEs - r, err := dnsQuery(fqdn, dns.TypeCNAME, recursiveNameservers, true) - - if err != nil || r.Rcode != dns.RcodeSuccess { - // No more CNAME records to follow, exit - break - } - - // Check if the domain has CNAME then use that - cname := updateDomainWithCName(r, fqdn) - if cname == fqdn { - break - } - - log.Info("Found CNAME entry.", "fqdn", fqdn, "cname", cname) - - fqdn = cname - } - - return fqdn + return DefaultClient().lookupCNAME(ctx, fqdn) } diff --git a/challenge/dns01/dns_challenge_manual.go b/challenge/dns01/dns_challenge_manual.go deleted file mode 100644 index 3821fc157..000000000 --- a/challenge/dns01/dns_challenge_manual.go +++ /dev/null @@ -1,67 +0,0 @@ -package dns01 - -import ( - "bufio" - "fmt" - "os" - "time" -) - -const ( - dnsTemplate = `%s %d IN TXT %q` -) - -// DNSProviderManual is an implementation of the ChallengeProvider interface. -// TODO(ldez): move this to providers/dns/manual -// -// Deprecated: Use the manual.DNSProvider instead. -type DNSProviderManual struct{} - -// NewDNSProviderManual returns a DNSProviderManual instance. -// -// Deprecated: Use the manual.NewDNSProvider instead. -func NewDNSProviderManual() (*DNSProviderManual, error) { - return &DNSProviderManual{}, nil -} - -// Present prints instructions for manually creating the TXT record. -func (*DNSProviderManual) Present(domain, token, keyAuth string) error { - info := GetChallengeInfo(domain, keyAuth) - - authZone, err := FindZoneByFqdn(info.EffectiveFQDN) - if err != nil { - return fmt.Errorf("manual: could not find zone: %w", err) - } - - fmt.Printf("lego: Please create the following TXT record in your %s zone:\n", authZone) - fmt.Printf(dnsTemplate+"\n", info.EffectiveFQDN, DefaultTTL, info.Value) - fmt.Printf("lego: Press 'Enter' when you are done\n") - - _, err = bufio.NewReader(os.Stdin).ReadBytes('\n') - if err != nil { - return fmt.Errorf("manual: %w", err) - } - - return nil -} - -// CleanUp prints instructions for manually removing the TXT record. -func (*DNSProviderManual) CleanUp(domain, token, keyAuth string) error { - info := GetChallengeInfo(domain, keyAuth) - - authZone, err := FindZoneByFqdn(info.EffectiveFQDN) - if err != nil { - return fmt.Errorf("manual: could not find zone: %w", err) - } - - fmt.Printf("lego: You can now remove this TXT record from your %s zone:\n", authZone) - fmt.Printf(dnsTemplate+"\n", info.EffectiveFQDN, DefaultTTL, "...") - - return nil -} - -// Sequential All DNS challenges for this provider will be resolved sequentially. -// Returns the interval between each iteration. -func (d *DNSProviderManual) Sequential() time.Duration { - return DefaultPropagationTimeout -} diff --git a/challenge/dnsnew/dns_challenge_options.go b/challenge/dns01/dns_challenge_options.go similarity index 98% rename from challenge/dnsnew/dns_challenge_options.go rename to challenge/dns01/dns_challenge_options.go index 4d5554b14..fefdbfd6d 100644 --- a/challenge/dnsnew/dns_challenge_options.go +++ b/challenge/dns01/dns_challenge_options.go @@ -1,4 +1,4 @@ -package dnsnew +package dns01 import ( "context" diff --git a/challenge/dnsnew/dns_challenge_precheck.go b/challenge/dns01/dns_challenge_precheck.go similarity index 99% rename from challenge/dnsnew/dns_challenge_precheck.go rename to challenge/dns01/dns_challenge_precheck.go index 8833a0fc1..32e4ddfa1 100644 --- a/challenge/dnsnew/dns_challenge_precheck.go +++ b/challenge/dns01/dns_challenge_precheck.go @@ -1,4 +1,4 @@ -package dnsnew +package dns01 import ( "context" diff --git a/challenge/dnsnew/dns_challenge_precheck_test.go b/challenge/dns01/dns_challenge_precheck_test.go similarity index 99% rename from challenge/dnsnew/dns_challenge_precheck_test.go rename to challenge/dns01/dns_challenge_precheck_test.go index 48b98111e..745fe38ba 100644 --- a/challenge/dnsnew/dns_challenge_precheck_test.go +++ b/challenge/dns01/dns_challenge_precheck_test.go @@ -1,4 +1,4 @@ -package dnsnew +package dns01 import ( "testing" diff --git a/challenge/dns01/dns_challenge_test.go b/challenge/dns01/dns_challenge_test.go index 67b7f91b1..8fa26a506 100644 --- a/challenge/dns01/dns_challenge_test.go +++ b/challenge/dns01/dns_challenge_test.go @@ -52,13 +52,13 @@ func TestChallenge_PreSolve(t *testing.T) { { desc: "success", validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return nil }, - preCheck: func(_, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, + preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, provider: &providerMock{}, }, { desc: "validate fail", validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return errors.New("OOPS") }, - preCheck: func(_, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, + preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, provider: &providerMock{ present: nil, cleanUp: nil, @@ -67,7 +67,9 @@ func TestChallenge_PreSolve(t *testing.T) { { desc: "preCheck fail", validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return nil }, - preCheck: func(_, _, _ string, _ PreCheckFunc) (bool, error) { return false, errors.New("OOPS") }, + preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { + return false, errors.New("OOPS") + }, provider: &providerTimeoutMock{ timeout: 2 * time.Second, interval: 500 * time.Millisecond, @@ -76,7 +78,7 @@ func TestChallenge_PreSolve(t *testing.T) { { desc: "present fail", validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return nil }, - preCheck: func(_, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, + preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, provider: &providerMock{ present: errors.New("OOPS"), }, @@ -85,7 +87,7 @@ func TestChallenge_PreSolve(t *testing.T) { { desc: "cleanUp fail", validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return nil }, - preCheck: func(_, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, + preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, provider: &providerMock{ cleanUp: errors.New("OOPS"), }, @@ -116,7 +118,7 @@ func TestChallenge_PreSolve(t *testing.T) { } func TestChallenge_Solve(t *testing.T) { - useAsNameserver(t, dnsmock.NewServer(). + mockDefault(t, dnsmock.NewServer(). Query("_acme-challenge.example.com. CNAME", dnsmock.Noop). Build(t)) @@ -138,13 +140,13 @@ func TestChallenge_Solve(t *testing.T) { { desc: "success", validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return nil }, - preCheck: func(_, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, + preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, provider: &providerMock{}, }, { desc: "validate fail", validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return errors.New("OOPS") }, - preCheck: func(_, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, + preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, provider: &providerMock{ present: nil, cleanUp: nil, @@ -154,7 +156,9 @@ func TestChallenge_Solve(t *testing.T) { { desc: "preCheck fail", validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return nil }, - preCheck: func(_, _, _ string, _ PreCheckFunc) (bool, error) { return false, errors.New("OOPS") }, + preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { + return false, errors.New("OOPS") + }, provider: &providerTimeoutMock{ timeout: 2 * time.Second, interval: 500 * time.Millisecond, @@ -164,7 +168,7 @@ func TestChallenge_Solve(t *testing.T) { { desc: "present fail", validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return nil }, - preCheck: func(_, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, + preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, provider: &providerMock{ present: errors.New("OOPS"), }, @@ -172,7 +176,7 @@ func TestChallenge_Solve(t *testing.T) { { desc: "cleanUp fail", validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return nil }, - preCheck: func(_, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, + preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, provider: &providerMock{ cleanUp: errors.New("OOPS"), }, @@ -226,13 +230,13 @@ func TestChallenge_CleanUp(t *testing.T) { { desc: "success", validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return nil }, - preCheck: func(_, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, + preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, provider: &providerMock{}, }, { desc: "validate fail", validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return errors.New("OOPS") }, - preCheck: func(_, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, + preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, provider: &providerMock{ present: nil, cleanUp: nil, @@ -241,7 +245,9 @@ func TestChallenge_CleanUp(t *testing.T) { { desc: "preCheck fail", validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return nil }, - preCheck: func(_, _, _ string, _ PreCheckFunc) (bool, error) { return false, errors.New("OOPS") }, + preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { + return false, errors.New("OOPS") + }, provider: &providerTimeoutMock{ timeout: 2 * time.Second, interval: 500 * time.Millisecond, @@ -250,7 +256,7 @@ func TestChallenge_CleanUp(t *testing.T) { { desc: "present fail", validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return nil }, - preCheck: func(_, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, + preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, provider: &providerMock{ present: errors.New("OOPS"), }, @@ -258,7 +264,7 @@ func TestChallenge_CleanUp(t *testing.T) { { desc: "cleanUp fail", validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return nil }, - preCheck: func(_, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, + preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, provider: &providerMock{ cleanUp: errors.New("OOPS"), }, @@ -290,11 +296,11 @@ func TestChallenge_CleanUp(t *testing.T) { } func TestGetChallengeInfo(t *testing.T) { - useAsNameserver(t, dnsmock.NewServer(). + mockDefault(t, dnsmock.NewServer(). Query("_acme-challenge.example.com. CNAME", dnsmock.Noop). Build(t)) - info := GetChallengeInfo("example.com", "123") + info := GetChallengeInfo(t.Context(), "example.com", "123") expected := ChallengeInfo{ FQDN: "_acme-challenge.example.com.", @@ -306,12 +312,12 @@ func TestGetChallengeInfo(t *testing.T) { } func TestGetChallengeInfo_CNAME(t *testing.T) { - useAsNameserver(t, dnsmock.NewServer(). + mockDefault(t, dnsmock.NewServer(). Query("_acme-challenge.example.com. CNAME", dnsmock.CNAME("example.org.")). Query("example.org. CNAME", dnsmock.Noop). Build(t)) - info := GetChallengeInfo("example.com", "123") + info := GetChallengeInfo(t.Context(), "example.com", "123") expected := ChallengeInfo{ FQDN: "_acme-challenge.example.com.", @@ -323,14 +329,14 @@ func TestGetChallengeInfo_CNAME(t *testing.T) { } func TestGetChallengeInfo_CNAME_disabled(t *testing.T) { - useAsNameserver(t, dnsmock.NewServer(). + mockDefault(t, dnsmock.NewServer(). // Never called when the env var works. Query("_acme-challenge.example.com. CNAME", dnsmock.CNAME("example.org.")). Build(t)) t.Setenv("LEGO_DISABLE_CNAME_SUPPORT", "true") - info := GetChallengeInfo("example.com", "123") + info := GetChallengeInfo(t.Context(), "example.com", "123") expected := ChallengeInfo{ FQDN: "_acme-challenge.example.com.", diff --git a/challenge/dns01/fqdn.go b/challenge/dns01/fqdn.go index 11ac3d0c2..54fa84013 100644 --- a/challenge/dns01/fqdn.go +++ b/challenge/dns01/fqdn.go @@ -6,13 +6,6 @@ import ( "github.com/miekg/dns" ) -// ToFqdn converts the name into a fqdn appending a trailing dot. -// -// Deprecated: Use [github.com/miekg/dns.Fqdn] directly. -func ToFqdn(name string) string { - return dns.Fqdn(name) -} - // UnFqdn converts the fqdn into a name removing the trailing dot. func UnFqdn(name string) string { n := len(name) diff --git a/challenge/dns01/mock_test.go b/challenge/dns01/mock_test.go index 5dcad3013..647aefc0f 100644 --- a/challenge/dns01/mock_test.go +++ b/challenge/dns01/mock_test.go @@ -32,50 +32,47 @@ func fakeTXT(name, value string) *dns.TXT { } // mockResolver modifies the default DNS resolver to use a custom network address during the test execution. -// IMPORTANT: it modifying global variables. -func mockResolver(t *testing.T, addr net.Addr) { - t.Helper() +// IMPORTANT: it modifying std global variables. +func mockResolver(authoritativeNS net.Addr) func(t *testing.T, client *Client) { + return func(t *testing.T, client *Client) { + t.Helper() - _, port, err := net.SplitHostPort(addr.String()) - require.NoError(t, err) + _, port, err := net.SplitHostPort(authoritativeNS.String()) + require.NoError(t, err) - originalDefaultNameserverPort := defaultNameserverPort + client.authoritativeNSPort = port - t.Cleanup(func() { - defaultNameserverPort = originalDefaultNameserverPort - }) + originalResolver := net.DefaultResolver - defaultNameserverPort = port + t.Cleanup(func() { + net.DefaultResolver = originalResolver + }) - originalResolver := net.DefaultResolver + net.DefaultResolver = &net.Resolver{ + PreferGo: true, + Dial: func(ctx context.Context, network, address string) (net.Conn, error) { + d := net.Dialer{Timeout: 1 * time.Second} - t.Cleanup(func() { - net.DefaultResolver = originalResolver - }) - - net.DefaultResolver = &net.Resolver{ - PreferGo: true, - Dial: func(ctx context.Context, network, address string) (net.Conn, error) { - d := net.Dialer{Timeout: 1 * time.Second} - - return d.DialContext(ctx, network, addr.String()) - }, + return d.DialContext(ctx, network, authoritativeNS.String()) + }, + } } } -func useAsNameserver(t *testing.T, addr net.Addr) { +func mockDefault(t *testing.T, recursiveNS net.Addr, opts ...func(t *testing.T, client *Client)) { t.Helper() - ClearFqdnCache() - t.Cleanup(func() { - ClearFqdnCache() - }) - - originalRecursiveNameservers := recursiveNameservers + backup := DefaultClient() t.Cleanup(func() { - recursiveNameservers = originalRecursiveNameservers + SetDefaultClient(backup) }) - recursiveNameservers = ParseNameservers([]string{addr.String()}) + client := NewClient(&Options{RecursiveNameservers: []string{recursiveNS.String()}}) + + for _, opt := range opts { + opt(t, client) + } + + SetDefaultClient(client) } diff --git a/challenge/dns01/nameserver.go b/challenge/dns01/nameserver.go deleted file mode 100644 index 554eb7cc2..000000000 --- a/challenge/dns01/nameserver.go +++ /dev/null @@ -1,354 +0,0 @@ -package dns01 - -import ( - "errors" - "fmt" - "net" - "os" - "slices" - "strconv" - "strings" - "sync" - "time" - - "github.com/miekg/dns" -) - -const defaultResolvConf = "/etc/resolv.conf" - -var fqdnSoaCache = &sync.Map{} - -var defaultNameservers = []string{ - "google-public-dns-a.google.com:53", - "google-public-dns-b.google.com:53", -} - -// recursiveNameservers are used to pre-check DNS propagation. -var recursiveNameservers = getNameservers(defaultResolvConf, defaultNameservers) - -// soaCacheEntry holds a cached SOA record (only selected fields). -type soaCacheEntry struct { - zone string // zone apex (a domain name) - primaryNs string // primary nameserver for the zone apex - expires time.Time // time when this cache entry should be evicted -} - -func newSoaCacheEntry(soa *dns.SOA) *soaCacheEntry { - return &soaCacheEntry{ - zone: soa.Hdr.Name, - primaryNs: soa.Ns, - expires: time.Now().Add(time.Duration(soa.Refresh) * time.Second), - } -} - -// isExpired checks whether a cache entry should be considered expired. -func (cache *soaCacheEntry) isExpired() bool { - return time.Now().After(cache.expires) -} - -// ClearFqdnCache clears the cache of fqdn to zone mappings. Primarily used in testing. -func ClearFqdnCache() { - // TODO(ldez): use `fqdnSoaCache.Clear()` when updating to go1.23 - fqdnSoaCache.Range(func(k, v any) bool { - fqdnSoaCache.Delete(k) - return true - }) -} - -func AddDNSTimeout(timeout time.Duration) ChallengeOption { - return func(_ *Challenge) error { - dnsTimeout = timeout - return nil - } -} - -func AddRecursiveNameservers(nameservers []string) ChallengeOption { - return func(_ *Challenge) error { - recursiveNameservers = ParseNameservers(nameservers) - return nil - } -} - -// getNameservers attempts to get systems nameservers before falling back to the defaults. -func getNameservers(path string, defaults []string) []string { - config, err := dns.ClientConfigFromFile(path) - if err != nil || len(config.Servers) == 0 { - return defaults - } - - return ParseNameservers(config.Servers) -} - -func ParseNameservers(servers []string) []string { - var resolvers []string - - for _, resolver := range servers { - // ensure all servers have a port number - if _, _, err := net.SplitHostPort(resolver); err != nil { - resolvers = append(resolvers, net.JoinHostPort(resolver, "53")) - } else { - resolvers = append(resolvers, resolver) - } - } - - return resolvers -} - -// lookupNameservers returns the authoritative nameservers for the given fqdn. -func lookupNameservers(fqdn string) ([]string, error) { - var authoritativeNss []string - - zone, err := FindZoneByFqdn(fqdn) - if err != nil { - return nil, fmt.Errorf("could not find zone: %w", err) - } - - r, err := dnsQuery(zone, dns.TypeNS, recursiveNameservers, true) - if err != nil { - return nil, fmt.Errorf("NS call failed: %w", err) - } - - for _, rr := range r.Answer { - if ns, ok := rr.(*dns.NS); ok { - authoritativeNss = append(authoritativeNss, strings.ToLower(ns.Ns)) - } - } - - if len(authoritativeNss) > 0 { - return authoritativeNss, nil - } - - return nil, fmt.Errorf("[zone=%s] could not determine authoritative nameservers", zone) -} - -// FindPrimaryNsByFqdn determines the primary nameserver of the zone apex for the given fqdn -// by recursing up the domain labels until the nameserver returns a SOA record in the answer section. -func FindPrimaryNsByFqdn(fqdn string) (string, error) { - return FindPrimaryNsByFqdnCustom(fqdn, recursiveNameservers) -} - -// FindPrimaryNsByFqdnCustom determines the primary nameserver of the zone apex for the given fqdn -// by recursing up the domain labels until the nameserver returns a SOA record in the answer section. -func FindPrimaryNsByFqdnCustom(fqdn string, nameservers []string) (string, error) { - soa, err := lookupSoaByFqdn(fqdn, nameservers) - if err != nil { - return "", fmt.Errorf("[fqdn=%s] %w", fqdn, err) - } - - return soa.primaryNs, nil -} - -// FindZoneByFqdn determines the zone apex for the given fqdn -// by recursing up the domain labels until the nameserver returns a SOA record in the answer section. -func FindZoneByFqdn(fqdn string) (string, error) { - return FindZoneByFqdnCustom(fqdn, recursiveNameservers) -} - -// FindZoneByFqdnCustom determines the zone apex for the given fqdn -// by recursing up the domain labels until the nameserver returns a SOA record in the answer section. -func FindZoneByFqdnCustom(fqdn string, nameservers []string) (string, error) { - soa, err := lookupSoaByFqdn(fqdn, nameservers) - if err != nil { - return "", fmt.Errorf("[fqdn=%s] %w", fqdn, err) - } - - return soa.zone, nil -} - -func lookupSoaByFqdn(fqdn string, nameservers []string) (*soaCacheEntry, error) { - // Do we have it cached and is it still fresh? - entAny, ok := fqdnSoaCache.Load(fqdn) - if ok && entAny != nil { - ent, ok1 := entAny.(*soaCacheEntry) - if ok1 && !ent.isExpired() { - return ent, nil - } - } - - ent, err := fetchSoaByFqdn(fqdn, nameservers) - if err != nil { - return nil, err - } - - fqdnSoaCache.Store(fqdn, ent) - - return ent, nil -} - -func fetchSoaByFqdn(fqdn string, nameservers []string) (*soaCacheEntry, error) { - var ( - err error - r *dns.Msg - ) - - for domain := range DomainsSeq(fqdn) { - r, err = dnsQuery(domain, dns.TypeSOA, nameservers, true) - if err != nil { - continue - } - - if r == nil { - continue - } - - switch r.Rcode { - case dns.RcodeSuccess: - // Check if we got a SOA RR in the answer section - if len(r.Answer) == 0 { - continue - } - - // CNAME records cannot/should not exist at the root of a zone. - // So we skip a domain when a CNAME is found. - if dnsMsgContainsCNAME(r) { - continue - } - - for _, ans := range r.Answer { - if soa, ok := ans.(*dns.SOA); ok { - return newSoaCacheEntry(soa), nil - } - } - case dns.RcodeNameError: - // NXDOMAIN - default: - // Any response code other than NOERROR and NXDOMAIN is treated as error - return nil, &DNSError{Message: fmt.Sprintf("unexpected response for '%s'", domain), MsgOut: r} - } - } - - return nil, &DNSError{Message: fmt.Sprintf("could not find the start of authority for '%s'", fqdn), MsgOut: r, Err: err} -} - -// dnsMsgContainsCNAME checks for a CNAME answer in msg. -func dnsMsgContainsCNAME(msg *dns.Msg) bool { - return slices.ContainsFunc(msg.Answer, func(rr dns.RR) bool { - _, ok := rr.(*dns.CNAME) - return ok - }) -} - -func dnsQuery(fqdn string, rtype uint16, nameservers []string, recursive bool) (*dns.Msg, error) { - m := createDNSMsg(fqdn, rtype, recursive) - - if len(nameservers) == 0 { - return nil, &DNSError{Message: "empty list of nameservers"} - } - - var ( - r *dns.Msg - err error - errAll error - ) - - for _, ns := range nameservers { - r, err = sendDNSQuery(m, ns) - if err == nil && len(r.Answer) > 0 { - break - } - - errAll = errors.Join(errAll, err) - } - - if err != nil { - return r, errAll - } - - return r, nil -} - -func createDNSMsg(fqdn string, rtype uint16, recursive bool) *dns.Msg { - m := new(dns.Msg) - m.SetQuestion(fqdn, rtype) - m.SetEdns0(4096, false) - - if !recursive { - m.RecursionDesired = false - } - - return m -} - -func sendDNSQuery(m *dns.Msg, ns string) (*dns.Msg, error) { - if ok, _ := strconv.ParseBool(os.Getenv("LEGO_EXPERIMENTAL_DNS_TCP_ONLY")); ok { - tcp := &dns.Client{Net: "tcp", Timeout: dnsTimeout} - - r, _, err := tcp.Exchange(m, ns) - if err != nil { - return r, &DNSError{Message: "DNS call error", MsgIn: m, NS: ns, Err: err} - } - - return r, nil - } - - udp := &dns.Client{Net: "udp", Timeout: dnsTimeout} - r, _, err := udp.Exchange(m, ns) - - if r != nil && r.Truncated { - tcp := &dns.Client{Net: "tcp", Timeout: dnsTimeout} - // If the TCP request succeeds, the "err" will reset to nil - r, _, err = tcp.Exchange(m, ns) - } - - if err != nil { - return r, &DNSError{Message: "DNS call error", MsgIn: m, NS: ns, Err: err} - } - - return r, nil -} - -// DNSError error related to DNS calls. -type DNSError struct { - Message string - NS string - MsgIn *dns.Msg - MsgOut *dns.Msg - Err error -} - -func (d *DNSError) Error() string { - var details []string - if d.NS != "" { - details = append(details, "ns="+d.NS) - } - - if d.MsgIn != nil && len(d.MsgIn.Question) > 0 { - details = append(details, fmt.Sprintf("question='%s'", formatQuestions(d.MsgIn.Question))) - } - - if d.MsgOut != nil { - if d.MsgIn == nil || len(d.MsgIn.Question) == 0 { - details = append(details, fmt.Sprintf("question='%s'", formatQuestions(d.MsgOut.Question))) - } - - details = append(details, "code="+dns.RcodeToString[d.MsgOut.Rcode]) - } - - msg := "DNS error" - if d.Message != "" { - msg = d.Message - } - - if d.Err != nil { - msg += ": " + d.Err.Error() - } - - if len(details) > 0 { - msg += " [" + strings.Join(details, ", ") + "]" - } - - return msg -} - -func (d *DNSError) Unwrap() error { - return d.Err -} - -func formatQuestions(questions []dns.Question) string { - var parts []string - for _, question := range questions { - parts = append(parts, strings.ReplaceAll(strings.TrimPrefix(question.String(), ";"), "\t", " ")) - } - - return strings.Join(parts, ";") -} diff --git a/challenge/dns01/nameserver_test.go b/challenge/dns01/nameserver_test.go deleted file mode 100644 index d26ec588f..000000000 --- a/challenge/dns01/nameserver_test.go +++ /dev/null @@ -1,365 +0,0 @@ -package dns01 - -import ( - "errors" - "sort" - "testing" - - "github.com/go-acme/lego/v5/platform/tester/dnsmock" - "github.com/miekg/dns" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" -) - -func Test_lookupNameserversOK(t *testing.T) { - testCases := []struct { - desc string - fakeDNSServer *dnsmock.Builder - fqdn string - expected []string - }{ - { - fqdn: "en.wikipedia.org.localhost.", - fakeDNSServer: dnsmock.NewServer(). - Query("en.wikipedia.org.localhost SOA", dnsmock.CNAME("dyna.wikimedia.org.localhost")). - Query("wikipedia.org.localhost SOA", dnsmock.SOA("")). - Query("wikipedia.org.localhost NS", - dnsmock.Answer( - fakeNS("wikipedia.org.localhost.", "ns0.wikimedia.org.localhost."), - fakeNS("wikipedia.org.localhost.", "ns1.wikimedia.org.localhost."), - fakeNS("wikipedia.org.localhost.", "ns2.wikimedia.org.localhost."), - ), - ), - expected: []string{"ns0.wikimedia.org.localhost.", "ns1.wikimedia.org.localhost.", "ns2.wikimedia.org.localhost."}, - }, - { - fqdn: "www.google.com.localhost.", - fakeDNSServer: dnsmock.NewServer(). - Query("www.google.com.localhost. SOA", dnsmock.Noop). - Query("google.com.localhost. SOA", dnsmock.SOA("")). - Query("google.com.localhost. NS", - dnsmock.Answer( - fakeNS("google.com.localhost.", "ns1.google.com.localhost."), - fakeNS("google.com.localhost.", "ns2.google.com.localhost."), - fakeNS("google.com.localhost.", "ns3.google.com.localhost."), - fakeNS("google.com.localhost.", "ns4.google.com.localhost."), - ), - ), - expected: []string{"ns1.google.com.localhost.", "ns2.google.com.localhost.", "ns3.google.com.localhost.", "ns4.google.com.localhost."}, - }, - { - fqdn: "mail.proton.me.localhost.", - fakeDNSServer: dnsmock.NewServer(). - Query("mail.proton.me.localhost. SOA", dnsmock.Noop). - Query("proton.me.localhost. SOA", dnsmock.SOA("")). - Query("proton.me.localhost. NS", - dnsmock.Answer( - fakeNS("proton.me.localhost.", "ns1.proton.me.localhost."), - fakeNS("proton.me.localhost.", "ns2.proton.me.localhost."), - fakeNS("proton.me.localhost.", "ns3.proton.me.localhost."), - ), - ), - expected: []string{"ns1.proton.me.localhost.", "ns2.proton.me.localhost.", "ns3.proton.me.localhost."}, - }, - } - - for _, test := range testCases { - t.Run(test.fqdn, func(t *testing.T) { - useAsNameserver(t, test.fakeDNSServer.Build(t)) - - nss, err := lookupNameservers(test.fqdn) - require.NoError(t, err) - - sort.Strings(nss) - sort.Strings(test.expected) - - assert.Equal(t, test.expected, nss) - }) - } -} - -func Test_lookupNameserversErr(t *testing.T) { - testCases := []struct { - desc string - fqdn string - fakeDNSServer *dnsmock.Builder - error string - }{ - { - desc: "NXDOMAIN", - fqdn: "example.invalid.", - fakeDNSServer: dnsmock.NewServer(). - Query(". SOA", dnsmock.Error(dns.RcodeNameError)), - error: "could not find zone: [fqdn=example.invalid.] could not find the start of authority for 'example.invalid.' [question='invalid. IN SOA', code=NXDOMAIN]", - }, - { - desc: "NS error", - fqdn: "example.com.", - fakeDNSServer: dnsmock.NewServer(). - Query("example.com. SOA", dnsmock.SOA("")). - Query("example.com. NS", dnsmock.Error(dns.RcodeServerFailure)), - error: "[zone=example.com.] could not determine authoritative nameservers", - }, - { - desc: "empty NS", - fqdn: "example.com.", - fakeDNSServer: dnsmock.NewServer(). - Query("example.com. SOA", dnsmock.SOA("")). - Query("example.me NS", dnsmock.Noop), - error: "[zone=example.com.] could not determine authoritative nameservers", - }, - } - - for _, test := range testCases { - t.Run(test.desc, func(t *testing.T) { - useAsNameserver(t, test.fakeDNSServer.Build(t)) - - _, err := lookupNameservers(test.fqdn) - require.Error(t, err) - assert.EqualError(t, err, test.error) - }) - } -} - -type lookupSoaByFqdnTestCase struct { - desc string - fqdn string - zone string - primaryNs string - nameservers []string - expectedError string -} - -func lookupSoaByFqdnTestCases(t *testing.T) []lookupSoaByFqdnTestCase { - t.Helper() - - return []lookupSoaByFqdnTestCase{ - { - desc: "domain is a CNAME", - fqdn: "mail.example.com.", - zone: "example.com.", - primaryNs: "ns1.example.com.", - nameservers: []string{ - dnsmock.NewServer(). - Query("mail.example.com. SOA", dnsmock.CNAME("example.com.")). - Query("example.com. SOA", dnsmock.SOA("")). - Build(t). - String(), - }, - }, - { - desc: "domain is a non-existent subdomain", - fqdn: "foo.example.com.", - zone: "example.com.", - primaryNs: "ns1.example.com.", - nameservers: []string{ - dnsmock.NewServer(). - Query("foo.example.com. SOA", dnsmock.Error(dns.RcodeNameError)). - Query("example.com. SOA", dnsmock.SOA("")). - Build(t). - String(), - }, - }, - { - desc: "domain is a eTLD", - fqdn: "example.com.ac.", - zone: "ac.", - primaryNs: "ns1.nic.ac.", - nameservers: []string{ - dnsmock.NewServer(). - Query("example.com.ac. SOA", dnsmock.Error(dns.RcodeNameError)). - Query("com.ac. SOA", dnsmock.Error(dns.RcodeNameError)). - Query("ac. SOA", dnsmock.SOA("")). - Build(t). - String(), - }, - }, - { - desc: "domain is a cross-zone CNAME", - fqdn: "cross-zone-example.example.com.", - zone: "example.com.", - primaryNs: "ns1.example.com.", - nameservers: []string{ - dnsmock.NewServer(). - Query("cross-zone-example.example.com. SOA", dnsmock.CNAME("example.org.")). - Query("example.com. SOA", dnsmock.SOA("")). - Build(t). - String(), - }, - }, - { - desc: "NXDOMAIN", - fqdn: "test.lego.invalid.", - zone: "lego.invalid.", - nameservers: []string{ - dnsmock.NewServer(). - Query("test.lego.invalid. SOA", dnsmock.Error(dns.RcodeNameError)). - Query("lego.invalid. SOA", dnsmock.Error(dns.RcodeNameError)). - Query("invalid. SOA", dnsmock.Error(dns.RcodeNameError)). - Build(t). - String(), - }, - expectedError: `[fqdn=test.lego.invalid.] could not find the start of authority for 'test.lego.invalid.' [question='invalid. IN SOA', code=NXDOMAIN]`, - }, - { - desc: "several non existent nameservers", - fqdn: "mail.example.com.", - zone: "example.com.", - primaryNs: "ns1.example.com.", - nameservers: []string{ - ":7053", - ":8053", - dnsmock.NewServer(). - Query("mail.example.com. SOA", dnsmock.CNAME("example.com.")). - Query("example.com. SOA", dnsmock.SOA("")). - Build(t). - String(), - }, - }, - { - desc: "only non-existent nameservers", - fqdn: "mail.example.com.", - zone: "example.com.", - nameservers: []string{":7053", ":8053", ":9053"}, - // use only the start of the message because the port changes with each call: 127.0.0.1:XXXXX->127.0.0.1:7053. - expectedError: "[fqdn=mail.example.com.] could not find the start of authority for 'mail.example.com.': DNS call error: read udp ", - }, - { - desc: "no nameservers", - fqdn: "test.example.com.", - zone: "example.com.", - nameservers: []string{}, - expectedError: "[fqdn=test.example.com.] could not find the start of authority for 'test.example.com.': empty list of nameservers", - }, - } -} - -func TestFindZoneByFqdnCustom(t *testing.T) { - for _, test := range lookupSoaByFqdnTestCases(t) { - t.Run(test.desc, func(t *testing.T) { - ClearFqdnCache() - - zone, err := FindZoneByFqdnCustom(test.fqdn, test.nameservers) - if test.expectedError != "" { - require.Error(t, err) - assert.ErrorContains(t, err, test.expectedError) - } else { - require.NoError(t, err) - assert.Equal(t, test.zone, zone) - } - }) - } -} - -func TestFindPrimaryNsByFqdnCustom(t *testing.T) { - for _, test := range lookupSoaByFqdnTestCases(t) { - t.Run(test.desc, func(t *testing.T) { - ClearFqdnCache() - - ns, err := FindPrimaryNsByFqdnCustom(test.fqdn, test.nameservers) - if test.expectedError != "" { - require.Error(t, err) - assert.ErrorContains(t, err, test.expectedError) - } else { - require.NoError(t, err) - assert.Equal(t, test.primaryNs, ns) - } - }) - } -} - -func Test_getNameservers_ResolveConfServers(t *testing.T) { - testCases := []struct { - fixture string - expected []string - defaults []string - }{ - { - fixture: "fixtures/resolv.conf.1", - defaults: []string{"127.0.0.1:53"}, - expected: []string{"10.200.3.249:53", "10.200.3.250:5353", "[2001:4860:4860::8844]:53", "[10.0.0.1]:5353"}, - }, - { - fixture: "fixtures/resolv.conf.nonexistant", - defaults: []string{"127.0.0.1:53"}, - expected: []string{"127.0.0.1:53"}, - }, - } - - for _, test := range testCases { - t.Run(test.fixture, func(t *testing.T) { - result := getNameservers(test.fixture, test.defaults) - - sort.Strings(result) - sort.Strings(test.expected) - - assert.Equal(t, test.expected, result) - }) - } -} - -func TestDNSError_Error(t *testing.T) { - msgIn := createDNSMsg("example.com.", dns.TypeTXT, true) - - msgOut := createDNSMsg("example.org.", dns.TypeSOA, true) - msgOut.Rcode = dns.RcodeNameError - - testCases := []struct { - desc string - err *DNSError - expected string - }{ - { - desc: "empty error", - err: &DNSError{}, - expected: "DNS error", - }, - { - desc: "all fields", - err: &DNSError{ - Message: "Oops", - NS: "example.com.", - MsgIn: msgIn, - MsgOut: msgOut, - Err: errors.New("I did it again"), - }, - expected: "Oops: I did it again [ns=example.com., question='example.com. IN TXT', code=NXDOMAIN]", - }, - { - desc: "only NS", - err: &DNSError{ - NS: "example.com.", - }, - expected: "DNS error [ns=example.com.]", - }, - { - desc: "only MsgIn", - err: &DNSError{ - MsgIn: msgIn, - }, - expected: "DNS error [question='example.com. IN TXT']", - }, - { - desc: "only MsgOut", - err: &DNSError{ - MsgOut: msgOut, - }, - expected: "DNS error [question='example.org. IN SOA', code=NXDOMAIN]", - }, - { - desc: "only Err", - err: &DNSError{ - Err: errors.New("I did it again"), - }, - expected: "DNS error: I did it again", - }, - } - - for _, test := range testCases { - t.Run(test.desc, func(t *testing.T) { - t.Parallel() - - assert.EqualError(t, test.err, test.expected) - }) - } -} diff --git a/challenge/dns01/nameserver_unix.go b/challenge/dns01/nameserver_unix.go deleted file mode 100644 index a3cbad13a..000000000 --- a/challenge/dns01/nameserver_unix.go +++ /dev/null @@ -1,8 +0,0 @@ -//go:build !windows - -package dns01 - -import "time" - -// dnsTimeout is used to override the default DNS timeout of 10 seconds. -var dnsTimeout = 10 * time.Second diff --git a/challenge/dns01/nameserver_windows.go b/challenge/dns01/nameserver_windows.go deleted file mode 100644 index 739e54a43..000000000 --- a/challenge/dns01/nameserver_windows.go +++ /dev/null @@ -1,8 +0,0 @@ -//go:build windows - -package dns01 - -import "time" - -// dnsTimeout is used to override the default DNS timeout of 20 seconds. -var dnsTimeout = 20 * time.Second diff --git a/challenge/dns01/precheck.go b/challenge/dns01/precheck.go deleted file mode 100644 index 45e17e3ac..000000000 --- a/challenge/dns01/precheck.go +++ /dev/null @@ -1,163 +0,0 @@ -package dns01 - -import ( - "fmt" - "net" - "strings" - "time" - - "github.com/miekg/dns" -) - -// defaultNameserverPort used by authoritative NS. -// This is for tests only. -var defaultNameserverPort = "53" - -// PreCheckFunc checks DNS propagation before notifying ACME that the DNS challenge is ready. -type PreCheckFunc func(fqdn, value string) (bool, error) - -// WrapPreCheckFunc wraps a PreCheckFunc in order to do extra operations before or after -// the main check, put it in a loop, etc. -type WrapPreCheckFunc func(domain, fqdn, value string, check PreCheckFunc) (bool, error) - -// WrapPreCheck Allow to define checks before notifying ACME that the DNS challenge is ready. -func WrapPreCheck(wrap WrapPreCheckFunc) ChallengeOption { - return func(chlg *Challenge) error { - chlg.preCheck.checkFunc = wrap - return nil - } -} - -// DisableCompletePropagationRequirement obsolete. -// -// Deprecated: use DisableAuthoritativeNssPropagationRequirement instead. -func DisableCompletePropagationRequirement() ChallengeOption { - return DisableAuthoritativeNssPropagationRequirement() -} - -func DisableAuthoritativeNssPropagationRequirement() ChallengeOption { - return func(chlg *Challenge) error { - chlg.preCheck.requireAuthoritativeNssPropagation = false - return nil - } -} - -func RecursiveNSsPropagationRequirement() ChallengeOption { - return func(chlg *Challenge) error { - chlg.preCheck.requireRecursiveNssPropagation = true - return nil - } -} - -func PropagationWait(wait time.Duration, skipCheck bool) ChallengeOption { - return WrapPreCheck(func(domain, fqdn, value string, check PreCheckFunc) (bool, error) { - time.Sleep(wait) - - if skipCheck { - return true, nil - } - - return check(fqdn, value) - }) -} - -type preCheck struct { - // checks DNS propagation before notifying ACME that the DNS challenge is ready. - checkFunc WrapPreCheckFunc - - // require the TXT record to be propagated to all authoritative name servers - requireAuthoritativeNssPropagation bool - - // require the TXT record to be propagated to all recursive name servers - requireRecursiveNssPropagation bool -} - -func newPreCheck() preCheck { - return preCheck{ - requireAuthoritativeNssPropagation: true, - } -} - -func (p preCheck) call(domain, fqdn, value string) (bool, error) { - if p.checkFunc == nil { - return p.checkDNSPropagation(fqdn, value) - } - - return p.checkFunc(domain, fqdn, value, p.checkDNSPropagation) -} - -// checkDNSPropagation checks if the expected TXT record has been propagated to all authoritative nameservers. -func (p preCheck) checkDNSPropagation(fqdn, value string) (bool, error) { - // Initial attempt to resolve at the recursive NS (require to get CNAME) - r, err := dnsQuery(fqdn, dns.TypeTXT, recursiveNameservers, true) - if err != nil { - return false, fmt.Errorf("initial recursive nameserver: %w", err) - } - - if r.Rcode == dns.RcodeSuccess { - fqdn = updateDomainWithCName(r, fqdn) - } - - if p.requireRecursiveNssPropagation { - _, err = checkNameserversPropagation(fqdn, value, recursiveNameservers, false) - if err != nil { - return false, fmt.Errorf("recursive nameservers: %w", err) - } - } - - if !p.requireAuthoritativeNssPropagation { - return true, nil - } - - authoritativeNss, err := lookupNameservers(fqdn) - if err != nil { - return false, err - } - - found, err := checkNameserversPropagation(fqdn, value, authoritativeNss, true) - if err != nil { - return found, fmt.Errorf("authoritative nameservers: %w", err) - } - - return found, nil -} - -// checkNameserversPropagation queries each of the given nameservers for the expected TXT record. -func checkNameserversPropagation(fqdn, value string, nameservers []string, addPort bool) (bool, error) { - for _, ns := range nameservers { - if addPort { - ns = net.JoinHostPort(ns, defaultNameserverPort) - } - - r, err := dnsQuery(fqdn, dns.TypeTXT, []string{ns}, false) - if err != nil { - return false, err - } - - if r.Rcode != dns.RcodeSuccess { - return false, fmt.Errorf("NS %s returned %s for %s", ns, dns.RcodeToString[r.Rcode], fqdn) - } - - var records []string - - var found bool - - for _, rr := range r.Answer { - if txt, ok := rr.(*dns.TXT); ok { - record := strings.Join(txt.Txt, "") - - records = append(records, record) - if record == value { - found = true - break - } - } - } - - if !found { - return false, fmt.Errorf("NS %s did not return the expected TXT record [fqdn: %s, value: %s]: %s", ns, fqdn, value, strings.Join(records, " ,")) - } - } - - return true, nil -} diff --git a/challenge/dns01/precheck_test.go b/challenge/dns01/precheck_test.go deleted file mode 100644 index 359a5f70a..000000000 --- a/challenge/dns01/precheck_test.go +++ /dev/null @@ -1,145 +0,0 @@ -package dns01 - -import ( - "testing" - - "github.com/go-acme/lego/v5/platform/tester/dnsmock" - "github.com/miekg/dns" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" -) - -func Test_preCheck_checkDNSPropagation(t *testing.T) { - mockResolver(t, - dnsmock.NewServer(). - Query("ns0.lego.localhost. A", - dnsmock.Answer(fakeA("ns0.lego.localhost.", "127.0.0.1"))). - Query("ns1.lego.localhost. A", - dnsmock.Answer(fakeA("ns1.lego.localhost.", "127.0.0.1"))). - Query("example.com. TXT", - dnsmock.Answer( - fakeTXT("example.com.", "one"), - fakeTXT("example.com.", "two"), - fakeTXT("example.com.", "three"), - fakeTXT("example.com.", "four"), - fakeTXT("example.com.", "five"), - ), - ). - Build(t), - ) - - useAsNameserver(t, - dnsmock.NewServer(). - Query("acme-staging.api.example.com. SOA", dnsmock.Error(dns.RcodeNameError)). - Query("api.example.com. SOA", dnsmock.Error(dns.RcodeNameError)). - Query("example.com. SOA", dnsmock.SOA("")). - Query("example.com. NS", - dnsmock.Answer( - fakeNS("example.com.", "ns0.lego.localhost."), - fakeNS("example.com.", "ns1.lego.localhost."), - ), - ). - Build(t), - ) - - testCases := []struct { - desc string - fqdn string - value string - expectedError string - }{ - { - desc: "success", - fqdn: "example.com.", - value: "four", - }, - { - desc: "no matching TXT record", - fqdn: "acme-staging.api.example.com.", - value: "fe01=", - expectedError: "did not return the expected TXT record [fqdn: acme-staging.api.example.com., value: fe01=]: one ,two ,three ,four ,five", - }, - } - - for _, test := range testCases { - t.Run(test.desc, func(t *testing.T) { - ClearFqdnCache() - - check := newPreCheck() - - ok, err := check.checkDNSPropagation(test.fqdn, test.value) - if test.expectedError != "" { - assert.ErrorContainsf(t, err, test.expectedError, "PreCheckDNS must fail for %s", test.fqdn) - assert.False(t, ok, "PreCheckDNS must fail for %s", test.fqdn) - } else { - assert.NoErrorf(t, err, "PreCheckDNS failed for %s", test.fqdn) - assert.True(t, ok, "PreCheckDNS failed for %s", test.fqdn) - } - }) - } -} - -func Test_checkNameserversPropagation_authoritativeNss(t *testing.T) { - testCases := []struct { - desc string - fqdn, value string - fakeDNSServer *dnsmock.Builder - expectedError string - }{ - { - desc: "TXT RR w/ expected value", - // NS: asnums.routeviews.org. - fqdn: "8.8.8.8.asn.routeviews.org.", - value: "151698.8.8.024", - fakeDNSServer: dnsmock.NewServer(). - Query("8.8.8.8.asn.routeviews.org. TXT", - dnsmock.Answer( - fakeTXT("8.8.8.8.asn.routeviews.org.", "151698.8.8.024"), - ), - ), - }, - { - desc: "TXT RR w/ unexpected value", - // NS: asnums.routeviews.org. - fqdn: "8.8.8.8.asn.routeviews.org.", - value: "fe01=", - fakeDNSServer: dnsmock.NewServer(). - Query("8.8.8.8.asn.routeviews.org. TXT", - dnsmock.Answer( - fakeTXT("8.8.8.8.asn.routeviews.org.", "15169"), - fakeTXT("8.8.8.8.asn.routeviews.org.", "8.8.8.0"), - fakeTXT("8.8.8.8.asn.routeviews.org.", "24"), - ), - ), - expectedError: "did not return the expected TXT record [fqdn: 8.8.8.8.asn.routeviews.org., value: fe01=]: 15169 ,8.8.8.0 ,24", - }, - { - desc: "No TXT RR", - // NS: ns2.google.com. - fqdn: "ns1.google.com.", - value: "fe01=", - fakeDNSServer: dnsmock.NewServer(). - Query("ns1.google.com.", dnsmock.Noop), - expectedError: "did not return the expected TXT record [fqdn: ns1.google.com., value: fe01=]: ", - }, - } - - for _, test := range testCases { - t.Run(test.desc, func(t *testing.T) { - ClearFqdnCache() - - addr := test.fakeDNSServer.Build(t) - - ok, err := checkNameserversPropagation(test.fqdn, test.value, []string{addr.String()}, false) - - if test.expectedError == "" { - require.NoError(t, err) - assert.True(t, ok) - } else { - require.Error(t, err) - require.ErrorContains(t, err, test.expectedError) - assert.False(t, ok) - } - }) - } -} diff --git a/challenge/dnsnew/client_cname_test.go b/challenge/dnsnew/client_cname_test.go deleted file mode 100644 index 838adf526..000000000 --- a/challenge/dnsnew/client_cname_test.go +++ /dev/null @@ -1,35 +0,0 @@ -package dnsnew - -import ( - "strings" - "testing" - - "github.com/miekg/dns" - "github.com/stretchr/testify/assert" -) - -func Test_updateDomainWithCName_caseInsensitive(t *testing.T) { - qname := "_acme-challenge.uppercase-test.example.com." - cnameTarget := "_acme-challenge.uppercase-test.cname-target.example.com." - - msg := &dns.Msg{ - MsgHdr: dns.MsgHdr{ - Authoritative: true, - }, - Answer: []dns.RR{ - &dns.CNAME{ - Hdr: dns.RR_Header{ - Name: strings.ToUpper(qname), // CNAME names are case-insensitive - Rrtype: dns.TypeCNAME, - Class: dns.ClassINET, - Ttl: 3600, - }, - Target: cnameTarget, - }, - }, - } - - fqdn := updateDomainWithCName(msg, qname) - - assert.Equal(t, cnameTarget, fqdn) -} diff --git a/challenge/dnsnew/dns_challenge.go b/challenge/dnsnew/dns_challenge.go deleted file mode 100644 index 0efcdd2a8..000000000 --- a/challenge/dnsnew/dns_challenge.go +++ /dev/null @@ -1,200 +0,0 @@ -package dnsnew - -import ( - "context" - "crypto/sha256" - "encoding/base64" - "fmt" - "os" - "strconv" - "strings" - "time" - - "github.com/go-acme/lego/v5/acme" - "github.com/go-acme/lego/v5/acme/api" - "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/log" - "github.com/go-acme/lego/v5/platform/wait" -) - -const ( - // DefaultPropagationTimeout default propagation timeout. - DefaultPropagationTimeout = 60 * time.Second - - // DefaultPollingInterval default polling interval. - DefaultPollingInterval = 2 * time.Second - - // DefaultTTL default TTL. - DefaultTTL = 120 -) - -type ValidateFunc func(ctx context.Context, core *api.Core, domain string, chlng acme.Challenge) error - -// Challenge implements the dns-01 challenge. -type Challenge struct { - core *api.Core - validate ValidateFunc - provider challenge.Provider - preCheck preCheck -} - -func NewChallenge(core *api.Core, validate ValidateFunc, provider challenge.Provider, opts ...ChallengeOption) *Challenge { - chlg := &Challenge{ - core: core, - validate: validate, - provider: provider, - preCheck: newPreCheck(), - } - - for _, opt := range opts { - err := opt(chlg) - if err != nil { - log.Warn("Challenge option skipped.", "error", err) - } - } - - return chlg -} - -// PreSolve just submits the txt record to the dns provider. -// It does not validate record propagation or do anything at all with the ACME server. -func (c *Challenge) PreSolve(ctx context.Context, authz acme.Authorization) error { - domain := challenge.GetTargetedDomain(authz) - log.Info("acme: Preparing to solve DNS-01.", "domain", domain) - - chlng, err := challenge.FindChallenge(challenge.DNS01, authz) - if err != nil { - return err - } - - if c.provider == nil { - return fmt.Errorf("[%s] acme: no DNS Provider configured", domain) - } - - // Generate the Key Authorization for the challenge - keyAuth, err := c.core.GetKeyAuthorization(chlng.Token) - if err != nil { - return err - } - - err = c.provider.Present(authz.Identifier.Value, chlng.Token, keyAuth) - if err != nil { - return fmt.Errorf("[%s] acme: error presenting token: %w", domain, err) - } - - return nil -} - -func (c *Challenge) Solve(ctx context.Context, authz acme.Authorization) error { - domain := challenge.GetTargetedDomain(authz) - log.Info("acme: Trying to solve DNS-01.", "domain", domain) - - chlng, err := challenge.FindChallenge(challenge.DNS01, authz) - if err != nil { - return err - } - - // Generate the Key Authorization for the challenge - keyAuth, err := c.core.GetKeyAuthorization(chlng.Token) - if err != nil { - return err - } - - info := GetChallengeInfo(ctx, authz.Identifier.Value, keyAuth) - - var timeout, interval time.Duration - - switch provider := c.provider.(type) { - case challenge.ProviderTimeout: - timeout, interval = provider.Timeout() - default: - timeout, interval = DefaultPropagationTimeout, DefaultPollingInterval - } - - log.Info("acme: Checking DNS record propagation.", - "domain", domain, "nameservers", strings.Join(DefaultClient().recursiveNameservers, ",")) - - time.Sleep(interval) - - err = wait.For("propagation", timeout, interval, func() (bool, error) { - stop, errP := c.preCheck.call(ctx, domain, info.EffectiveFQDN, info.Value) - if !stop || errP != nil { - log.Info("acme: Waiting for DNS record propagation.", "domain", domain) - } - - return stop, errP - }) - if err != nil { - return err - } - - chlng.KeyAuthorization = keyAuth - - return c.validate(ctx, c.core, domain, chlng) -} - -// CleanUp cleans the challenge. -func (c *Challenge) CleanUp(authz acme.Authorization) error { - log.Info("acme: Cleaning DNS-01 challenge.", "domain", challenge.GetTargetedDomain(authz)) - - chlng, err := challenge.FindChallenge(challenge.DNS01, authz) - if err != nil { - return err - } - - keyAuth, err := c.core.GetKeyAuthorization(chlng.Token) - if err != nil { - return err - } - - return c.provider.CleanUp(authz.Identifier.Value, chlng.Token, keyAuth) -} - -func (c *Challenge) Sequential() (bool, time.Duration) { - if p, ok := c.provider.(sequential); ok { - return ok, p.Sequential() - } - - return false, 0 -} - -type sequential interface { - Sequential() time.Duration -} - -// ChallengeInfo contains the information use to create the TXT record. -type ChallengeInfo struct { - // FQDN is the full-qualified challenge domain (i.e. `_acme-challenge.[domain].`) - FQDN string - - // EffectiveFQDN contains the resulting FQDN after the CNAMEs resolutions. - EffectiveFQDN string - - // Value contains the value for the TXT record. - Value string -} - -// GetChallengeInfo returns information used to create a DNS record which will fulfill the `dns-01` challenge. -func GetChallengeInfo(ctx context.Context, domain, keyAuth string) ChallengeInfo { - keyAuthShaBytes := sha256.Sum256([]byte(keyAuth)) - // base64URL encoding without padding - value := base64.RawURLEncoding.EncodeToString(keyAuthShaBytes[:sha256.Size]) - - ok, _ := strconv.ParseBool(os.Getenv("LEGO_DISABLE_CNAME_SUPPORT")) - - return ChallengeInfo{ - Value: value, - FQDN: getChallengeFQDN(ctx, domain, false), - EffectiveFQDN: getChallengeFQDN(ctx, domain, !ok), - } -} - -func getChallengeFQDN(ctx context.Context, domain string, followCNAME bool) string { - fqdn := fmt.Sprintf("_acme-challenge.%s.", domain) - - if !followCNAME { - return fqdn - } - - return DefaultClient().lookupCNAME(ctx, fqdn) -} diff --git a/challenge/dnsnew/dns_challenge_test.go b/challenge/dnsnew/dns_challenge_test.go deleted file mode 100644 index 44f4b6097..000000000 --- a/challenge/dnsnew/dns_challenge_test.go +++ /dev/null @@ -1,348 +0,0 @@ -package dnsnew - -import ( - "context" - "crypto/rand" - "crypto/rsa" - "errors" - "testing" - "time" - - "github.com/go-acme/lego/v5/acme" - "github.com/go-acme/lego/v5/acme/api" - "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/platform/tester" - "github.com/go-acme/lego/v5/platform/tester/dnsmock" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" -) - -type providerMock struct { - present, cleanUp error -} - -func (p *providerMock) Present(domain, token, keyAuth string) error { return p.present } -func (p *providerMock) CleanUp(domain, token, keyAuth string) error { return p.cleanUp } - -type providerTimeoutMock struct { - present, cleanUp error - timeout, interval time.Duration -} - -func (p *providerTimeoutMock) Present(domain, token, keyAuth string) error { return p.present } -func (p *providerTimeoutMock) CleanUp(domain, token, keyAuth string) error { return p.cleanUp } -func (p *providerTimeoutMock) Timeout() (time.Duration, time.Duration) { return p.timeout, p.interval } - -func TestChallenge_PreSolve(t *testing.T) { - server := tester.MockACMEServer().BuildHTTPS(t) - - privateKey, err := rsa.GenerateKey(rand.Reader, 1024) - require.NoError(t, err) - - core, err := api.New(server.Client(), "lego-test", server.URL+"/dir", "", privateKey) - require.NoError(t, err) - - testCases := []struct { - desc string - validate ValidateFunc - preCheck WrapPreCheckFunc - provider challenge.Provider - expectError bool - }{ - { - desc: "success", - validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return nil }, - preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, - provider: &providerMock{}, - }, - { - desc: "validate fail", - validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return errors.New("OOPS") }, - preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, - provider: &providerMock{ - present: nil, - cleanUp: nil, - }, - }, - { - desc: "preCheck fail", - validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return nil }, - preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { - return false, errors.New("OOPS") - }, - provider: &providerTimeoutMock{ - timeout: 2 * time.Second, - interval: 500 * time.Millisecond, - }, - }, - { - desc: "present fail", - validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return nil }, - preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, - provider: &providerMock{ - present: errors.New("OOPS"), - }, - expectError: true, - }, - { - desc: "cleanUp fail", - validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return nil }, - preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, - provider: &providerMock{ - cleanUp: errors.New("OOPS"), - }, - }, - } - - for _, test := range testCases { - t.Run(test.desc, func(t *testing.T) { - chlg := NewChallenge(core, test.validate, test.provider, WrapPreCheck(test.preCheck)) - - authz := acme.Authorization{ - Identifier: acme.Identifier{ - Value: "example.com", - }, - Challenges: []acme.Challenge{ - {Type: challenge.DNS01.String()}, - }, - } - - err = chlg.PreSolve(t.Context(), authz) - if test.expectError { - require.Error(t, err) - } else { - require.NoError(t, err) - } - }) - } -} - -func TestChallenge_Solve(t *testing.T) { - mockDefault(t, dnsmock.NewServer(). - Query("_acme-challenge.example.com. CNAME", dnsmock.Noop). - Build(t)) - - server := tester.MockACMEServer().BuildHTTPS(t) - - privateKey, err := rsa.GenerateKey(rand.Reader, 1024) - require.NoError(t, err) - - core, err := api.New(server.Client(), "lego-test", server.URL+"/dir", "", privateKey) - require.NoError(t, err) - - testCases := []struct { - desc string - validate ValidateFunc - preCheck WrapPreCheckFunc - provider challenge.Provider - expectError bool - }{ - { - desc: "success", - validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return nil }, - preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, - provider: &providerMock{}, - }, - { - desc: "validate fail", - validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return errors.New("OOPS") }, - preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, - provider: &providerMock{ - present: nil, - cleanUp: nil, - }, - expectError: true, - }, - { - desc: "preCheck fail", - validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return nil }, - preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { - return false, errors.New("OOPS") - }, - provider: &providerTimeoutMock{ - timeout: 2 * time.Second, - interval: 500 * time.Millisecond, - }, - expectError: true, - }, - { - desc: "present fail", - validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return nil }, - preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, - provider: &providerMock{ - present: errors.New("OOPS"), - }, - }, - { - desc: "cleanUp fail", - validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return nil }, - preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, - provider: &providerMock{ - cleanUp: errors.New("OOPS"), - }, - }, - } - - for _, test := range testCases { - t.Run(test.desc, func(t *testing.T) { - var options []ChallengeOption - if test.preCheck != nil { - options = append(options, WrapPreCheck(test.preCheck)) - } - - chlg := NewChallenge(core, test.validate, test.provider, options...) - - authz := acme.Authorization{ - Identifier: acme.Identifier{ - Value: "example.com", - }, - Challenges: []acme.Challenge{ - {Type: challenge.DNS01.String()}, - }, - } - - err = chlg.Solve(t.Context(), authz) - if test.expectError { - require.Error(t, err) - } else { - require.NoError(t, err) - } - }) - } -} - -func TestChallenge_CleanUp(t *testing.T) { - server := tester.MockACMEServer().BuildHTTPS(t) - - privateKey, err := rsa.GenerateKey(rand.Reader, 1024) - require.NoError(t, err) - - core, err := api.New(server.Client(), "lego-test", server.URL+"/dir", "", privateKey) - require.NoError(t, err) - - testCases := []struct { - desc string - validate ValidateFunc - preCheck WrapPreCheckFunc - provider challenge.Provider - expectError bool - }{ - { - desc: "success", - validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return nil }, - preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, - provider: &providerMock{}, - }, - { - desc: "validate fail", - validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return errors.New("OOPS") }, - preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, - provider: &providerMock{ - present: nil, - cleanUp: nil, - }, - }, - { - desc: "preCheck fail", - validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return nil }, - preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { - return false, errors.New("OOPS") - }, - provider: &providerTimeoutMock{ - timeout: 2 * time.Second, - interval: 500 * time.Millisecond, - }, - }, - { - desc: "present fail", - validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return nil }, - preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, - provider: &providerMock{ - present: errors.New("OOPS"), - }, - }, - { - desc: "cleanUp fail", - validate: func(_ context.Context, _ *api.Core, _ string, _ acme.Challenge) error { return nil }, - preCheck: func(_ context.Context, _, _, _ string, _ PreCheckFunc) (bool, error) { return true, nil }, - provider: &providerMock{ - cleanUp: errors.New("OOPS"), - }, - expectError: true, - }, - } - - for _, test := range testCases { - t.Run(test.desc, func(t *testing.T) { - chlg := NewChallenge(core, test.validate, test.provider, WrapPreCheck(test.preCheck)) - - authz := acme.Authorization{ - Identifier: acme.Identifier{ - Value: "example.com", - }, - Challenges: []acme.Challenge{ - {Type: challenge.DNS01.String()}, - }, - } - - err = chlg.CleanUp(authz) - if test.expectError { - require.Error(t, err) - } else { - require.NoError(t, err) - } - }) - } -} - -func TestGetChallengeInfo(t *testing.T) { - mockDefault(t, dnsmock.NewServer(). - Query("_acme-challenge.example.com. CNAME", dnsmock.Noop). - Build(t)) - - info := GetChallengeInfo(t.Context(), "example.com", "123") - - expected := ChallengeInfo{ - FQDN: "_acme-challenge.example.com.", - EffectiveFQDN: "_acme-challenge.example.com.", - Value: "pmWkWSBCL51Bfkhn79xPuKBKHz__H6B-mY6G9_eieuM", - } - - assert.Equal(t, expected, info) -} - -func TestGetChallengeInfo_CNAME(t *testing.T) { - mockDefault(t, dnsmock.NewServer(). - Query("_acme-challenge.example.com. CNAME", dnsmock.CNAME("example.org.")). - Query("example.org. CNAME", dnsmock.Noop). - Build(t)) - - info := GetChallengeInfo(t.Context(), "example.com", "123") - - expected := ChallengeInfo{ - FQDN: "_acme-challenge.example.com.", - EffectiveFQDN: "example.org.", - Value: "pmWkWSBCL51Bfkhn79xPuKBKHz__H6B-mY6G9_eieuM", - } - - assert.Equal(t, expected, info) -} - -func TestGetChallengeInfo_CNAME_disabled(t *testing.T) { - mockDefault(t, dnsmock.NewServer(). - // Never called when the env var works. - Query("_acme-challenge.example.com. CNAME", dnsmock.CNAME("example.org.")). - Build(t)) - - t.Setenv("LEGO_DISABLE_CNAME_SUPPORT", "true") - - info := GetChallengeInfo(t.Context(), "example.com", "123") - - expected := ChallengeInfo{ - FQDN: "_acme-challenge.example.com.", - EffectiveFQDN: "_acme-challenge.example.com.", - Value: "pmWkWSBCL51Bfkhn79xPuKBKHz__H6B-mY6G9_eieuM", - } - - assert.Equal(t, expected, info) -} diff --git a/challenge/dnsnew/domain.go b/challenge/dnsnew/domain.go deleted file mode 100644 index 822128aab..000000000 --- a/challenge/dnsnew/domain.go +++ /dev/null @@ -1,24 +0,0 @@ -package dnsnew - -import ( - "fmt" - "strings" - - "github.com/miekg/dns" -) - -// ExtractSubDomain extracts the subdomain part from a domain and a zone. -func ExtractSubDomain(domain, zone string) (string, error) { - canonDomain := dns.Fqdn(domain) - canonZone := dns.Fqdn(zone) - - if canonDomain == canonZone { - return "", fmt.Errorf("no subdomain because the domain and the zone are identical: %s", canonDomain) - } - - if !dns.IsSubDomain(canonZone, canonDomain) { - return "", fmt.Errorf("%s is not a subdomain of %s", canonDomain, canonZone) - } - - return strings.TrimSuffix(canonDomain, "."+canonZone), nil -} diff --git a/challenge/dnsnew/domain_test.go b/challenge/dnsnew/domain_test.go deleted file mode 100644 index 9453559ec..000000000 --- a/challenge/dnsnew/domain_test.go +++ /dev/null @@ -1,102 +0,0 @@ -package dnsnew - -import ( - "testing" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" -) - -func TestExtractSubDomain(t *testing.T) { - testCases := []struct { - desc string - domain string - zone string - expected string - }{ - { - desc: "no FQDN", - domain: "_acme-challenge.example.com", - zone: "example.com", - expected: "_acme-challenge", - }, - { - desc: "no FQDN zone", - domain: "_acme-challenge.example.com.", - zone: "example.com", - expected: "_acme-challenge", - }, - { - desc: "no FQDN domain", - domain: "_acme-challenge.example.com", - zone: "example.com.", - expected: "_acme-challenge", - }, - { - desc: "FQDN", - domain: "_acme-challenge.example.com.", - zone: "example.com.", - expected: "_acme-challenge", - }, - { - desc: "multi-level subdomain", - domain: "_acme-challenge.one.example.com.", - zone: "example.com.", - expected: "_acme-challenge.one", - }, - } - - for _, test := range testCases { - t.Run(test.desc, func(t *testing.T) { - t.Parallel() - - subDomain, err := ExtractSubDomain(test.domain, test.zone) - require.NoError(t, err) - - assert.Equal(t, test.expected, subDomain) - }) - } -} - -func TestExtractSubDomain_errors(t *testing.T) { - testCases := []struct { - desc string - domain string - zone string - }{ - { - desc: "same domain", - domain: "example.com", - zone: "example.com", - }, - { - desc: "same domain, no FQDN zone", - domain: "example.com.", - zone: "example.com", - }, - { - desc: "same domain, no FQDN domain", - domain: "example.com", - zone: "example.com.", - }, - { - desc: "same domain, FQDN", - domain: "example.com.", - zone: "example.com.", - }, - { - desc: "zone and domain are unrelated", - domain: "_acme-challenge.example.com", - zone: "example.org", - }, - } - - for _, test := range testCases { - t.Run(test.desc, func(t *testing.T) { - t.Parallel() - - _, err := ExtractSubDomain(test.domain, test.zone) - require.Error(t, err) - }) - } -} diff --git a/challenge/dnsnew/fixtures/resolv.conf.1 b/challenge/dnsnew/fixtures/resolv.conf.1 deleted file mode 100644 index bc2a3c1ac..000000000 --- a/challenge/dnsnew/fixtures/resolv.conf.1 +++ /dev/null @@ -1,5 +0,0 @@ -domain example.com -nameserver 10.200.3.249 -nameserver 10.200.3.250:5353 -nameserver 2001:4860:4860::8844 -nameserver [10.0.0.1]:5353 diff --git a/challenge/dnsnew/fqdn.go b/challenge/dnsnew/fqdn.go deleted file mode 100644 index 350c1e7e9..000000000 --- a/challenge/dnsnew/fqdn.go +++ /dev/null @@ -1,47 +0,0 @@ -package dnsnew - -import ( - "iter" - - "github.com/miekg/dns" -) - -// UnFqdn converts the fqdn into a name removing the trailing dot. -func UnFqdn(name string) string { - n := len(name) - if n != 0 && name[n-1] == '.' { - return name[:n-1] - } - - return name -} - -// UnFqdnDomainsSeq generates a sequence of "unFQDNed" domain names derived from a domain (FQDN or not) in descending order. -func UnFqdnDomainsSeq(fqdn string) iter.Seq[string] { - return func(yield func(string) bool) { - if fqdn == "" { - return - } - - for _, index := range dns.Split(fqdn) { - if !yield(UnFqdn(fqdn[index:])) { - return - } - } - } -} - -// DomainsSeq generates a sequence of domain names derived from a domain (FQDN or not) in descending order. -func DomainsSeq(fqdn string) iter.Seq[string] { - return func(yield func(string) bool) { - if fqdn == "" { - return - } - - for _, index := range dns.Split(fqdn) { - if !yield(fqdn[index:]) { - return - } - } - } -} diff --git a/challenge/dnsnew/fqdn_test.go b/challenge/dnsnew/fqdn_test.go deleted file mode 100644 index e83724672..000000000 --- a/challenge/dnsnew/fqdn_test.go +++ /dev/null @@ -1,137 +0,0 @@ -package dnsnew - -import ( - "slices" - "testing" - - "github.com/stretchr/testify/assert" -) - -func TestUnFqdn(t *testing.T) { - testCases := []struct { - desc string - fqdn string - expected string - }{ - { - desc: "simple", - fqdn: "foo.example.", - expected: "foo.example", - }, - { - desc: "already domain", - fqdn: "foo.example", - expected: "foo.example", - }, - } - - for _, test := range testCases { - t.Run(test.desc, func(t *testing.T) { - t.Parallel() - - domain := UnFqdn(test.fqdn) - - assert.Equal(t, test.expected, domain) - }) - } -} - -func TestUnFqdnDomainsSeq(t *testing.T) { - testCases := []struct { - desc string - fqdn string - expected []string - }{ - { - desc: "empty", - fqdn: "", - expected: nil, - }, - { - desc: "TLD", - fqdn: "com", - expected: []string{"com"}, - }, - { - desc: "2 levels", - fqdn: "example.com", - expected: []string{"example.com", "com"}, - }, - { - desc: "3 levels", - fqdn: "foo.example.com", - expected: []string{"foo.example.com", "example.com", "com"}, - }, - } - - for _, test := range testCases { - for name, suffix := range map[string]string{"": "", " FQDN": "."} { //nolint:gocritic - t.Run(test.desc+name, func(t *testing.T) { - t.Parallel() - - actual := slices.Collect(UnFqdnDomainsSeq(test.fqdn + suffix)) - - assert.Equal(t, test.expected, actual) - }) - } - } -} - -func TestDomainsSeq(t *testing.T) { - testCases := []struct { - desc string - fqdn string - expected []string - }{ - { - desc: "empty", - fqdn: "", - expected: nil, - }, - { - desc: "empty FQDN", - fqdn: ".", - expected: nil, - }, - { - desc: "TLD FQDN", - fqdn: "com", - expected: []string{"com"}, - }, - { - desc: "TLD", - fqdn: "com.", - expected: []string{"com."}, - }, - { - desc: "2 levels", - fqdn: "example.com", - expected: []string{"example.com", "com"}, - }, - { - desc: "2 levels FQDN", - fqdn: "example.com.", - expected: []string{"example.com.", "com."}, - }, - { - desc: "3 levels", - fqdn: "foo.example.com", - expected: []string{"foo.example.com", "example.com", "com"}, - }, - { - desc: "3 levels FQDN", - fqdn: "foo.example.com.", - expected: []string{"foo.example.com.", "example.com.", "com."}, - }, - } - - for _, test := range testCases { - t.Run(test.desc, func(t *testing.T) { - t.Parallel() - - actual := slices.Collect(DomainsSeq(test.fqdn)) - - assert.Equal(t, test.expected, actual) - }) - } -} diff --git a/challenge/dnsnew/mock_test.go b/challenge/dnsnew/mock_test.go deleted file mode 100644 index 9aebb93a1..000000000 --- a/challenge/dnsnew/mock_test.go +++ /dev/null @@ -1,78 +0,0 @@ -package dnsnew - -import ( - "context" - "net" - "testing" - "time" - - "github.com/miekg/dns" - "github.com/stretchr/testify/require" -) - -func fakeNS(name, ns string) *dns.NS { - return &dns.NS{ - Hdr: dns.RR_Header{Name: name, Rrtype: dns.TypeNS, Class: dns.ClassINET, Ttl: 172800}, - Ns: ns, - } -} - -func fakeA(name, ip string) *dns.A { - return &dns.A{ - Hdr: dns.RR_Header{Name: name, Rrtype: dns.TypeA, Class: dns.ClassINET, Ttl: 10}, - A: net.ParseIP(ip), - } -} - -func fakeTXT(name, value string) *dns.TXT { - return &dns.TXT{ - Hdr: dns.RR_Header{Name: name, Rrtype: dns.TypeTXT, Class: dns.ClassINET, Ttl: 10}, - Txt: []string{value}, - } -} - -// mockResolver modifies the default DNS resolver to use a custom network address during the test execution. -// IMPORTANT: it modifying std global variables. -func mockResolver(authoritativeNS net.Addr) func(t *testing.T, client *Client) { - return func(t *testing.T, client *Client) { - t.Helper() - - _, port, err := net.SplitHostPort(authoritativeNS.String()) - require.NoError(t, err) - - client.authoritativeNSPort = port - - originalResolver := net.DefaultResolver - - t.Cleanup(func() { - net.DefaultResolver = originalResolver - }) - - net.DefaultResolver = &net.Resolver{ - PreferGo: true, - Dial: func(ctx context.Context, network, address string) (net.Conn, error) { - d := net.Dialer{Timeout: 1 * time.Second} - - return d.DialContext(ctx, network, authoritativeNS.String()) - }, - } - } -} - -func mockDefault(t *testing.T, recursiveNS net.Addr, opts ...func(t *testing.T, client *Client)) { - t.Helper() - - backup := DefaultClient() - - t.Cleanup(func() { - SetDefaultClient(backup) - }) - - client := NewClient(&Options{RecursiveNameservers: []string{recursiveNS.String()}}) - - for _, opt := range opts { - opt(t, client) - } - - SetDefaultClient(client) -} diff --git a/challenge/resolver/solver_manager.go b/challenge/resolver/solver_manager.go index 5b274188a..e287a9ae4 100644 --- a/challenge/resolver/solver_manager.go +++ b/challenge/resolver/solver_manager.go @@ -12,7 +12,7 @@ import ( "github.com/go-acme/lego/v5/acme" "github.com/go-acme/lego/v5/acme/api" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/challenge/http01" "github.com/go-acme/lego/v5/challenge/tlsalpn01" "github.com/go-acme/lego/v5/log" @@ -50,8 +50,8 @@ func (c *SolverManager) SetTLSALPN01Provider(p challenge.Provider, opts ...tlsal } // SetDNS01Provider specifies a custom provider p that can solve the given DNS-01 challenge. -func (c *SolverManager) SetDNS01Provider(p challenge.Provider, opts ...dnsnew.ChallengeOption) error { - c.solvers[challenge.DNS01] = dnsnew.NewChallenge(c.core, validate, p, opts...) +func (c *SolverManager) SetDNS01Provider(p challenge.Provider, opts ...dns01.ChallengeOption) error { + c.solvers[challenge.DNS01] = dns01.NewChallenge(c.core, validate, p, opts...) return nil } diff --git a/cmd/setup_challenges.go b/cmd/setup_challenges.go index c0ec51537..19e574ed9 100644 --- a/cmd/setup_challenges.go +++ b/cmd/setup_challenges.go @@ -7,7 +7,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/challenge/http01" "github.com/go-acme/lego/v5/challenge/tlsalpn01" "github.com/go-acme/lego/v5/lego" @@ -170,25 +170,25 @@ func setupDNS(ctx *cli.Context, client *lego.Client) error { return err } - opts := &dnsnew.Options{RecursiveNameservers: ctx.StringSlice(flgDNSResolvers)} + opts := &dns01.Options{RecursiveNameservers: ctx.StringSlice(flgDNSResolvers)} if ctx.IsSet(flgDNSTimeout) { opts.Timeout = time.Duration(ctx.Int(flgDNSTimeout)) * time.Second } - dnsnew.SetDefaultClient(dnsnew.NewClient(opts)) + dns01.SetDefaultClient(dns01.NewClient(opts)) err = client.Challenge.SetDNS01Provider(provider, - dnsnew.CondOption(ctx.Bool(flgDNSDisableCP) || ctx.Bool(flgDNSPropagationDisableANS), - dnsnew.DisableAuthoritativeNssPropagationRequirement()), + dns01.CondOption(ctx.Bool(flgDNSDisableCP) || ctx.Bool(flgDNSPropagationDisableANS), + dns01.DisableAuthoritativeNssPropagationRequirement()), - dnsnew.CondOption(ctx.Duration(flgDNSPropagationWait) > 0, + dns01.CondOption(ctx.Duration(flgDNSPropagationWait) > 0, // TODO(ldez): inside the next major version we will use flgDNSDisableCP here. // This will change the meaning of this flag to really disable all propagation checks. - dnsnew.PropagationWait(wait, true)), + dns01.PropagationWait(wait, true)), - dnsnew.CondOption(ctx.Bool(flgDNSPropagationRNS), - dnsnew.RecursiveNSsPropagationRequirement()), + dns01.CondOption(ctx.Bool(flgDNSPropagationRNS), + dns01.RecursiveNSsPropagationRequirement()), ) return err diff --git a/e2e/dnschallenge/dns_challenges_test.go b/e2e/dnschallenge/dns_challenges_test.go index 6d7362650..449bec2cb 100644 --- a/e2e/dnschallenge/dns_challenges_test.go +++ b/e2e/dnschallenge/dns_challenges_test.go @@ -9,7 +9,7 @@ import ( "testing" "github.com/go-acme/lego/v5/certificate" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/e2e/loader" "github.com/go-acme/lego/v5/lego" "github.com/go-acme/lego/v5/providers/dns" @@ -98,7 +98,7 @@ func TestChallengeDNS_Client_Obtain(t *testing.T) { mockDefault(t) err = client.Challenge.SetDNS01Provider(provider, - dnsnew.DisableAuthoritativeNssPropagationRequirement()) + dns01.DisableAuthoritativeNssPropagationRequirement()) require.NoError(t, err) ctx := t.Context() @@ -158,7 +158,7 @@ func TestChallengeDNS_Client_Obtain_profile(t *testing.T) { mockDefault(t) err = client.Challenge.SetDNS01Provider(provider, - dnsnew.DisableAuthoritativeNssPropagationRequirement()) + dns01.DisableAuthoritativeNssPropagationRequirement()) require.NoError(t, err) ctx := t.Context() @@ -205,11 +205,11 @@ func (f *fakeUser) GetPrivateKey() crypto.PrivateKey { return f.privateKe func mockDefault(t *testing.T) { t.Helper() - backup := dnsnew.DefaultClient() + backup := dns01.DefaultClient() t.Cleanup(func() { - dnsnew.SetDefaultClient(backup) + dns01.SetDefaultClient(backup) }) - dnsnew.SetDefaultClient(dnsnew.NewClient(&dnsnew.Options{RecursiveNameservers: []string{":8053"}})) + dns01.SetDefaultClient(dns01.NewClient(&dns01.Options{RecursiveNameservers: []string{":8053"}})) } diff --git a/providers/dns/acmedns/acmedns.go b/providers/dns/acmedns/acmedns.go index 1248c7e2c..e4e5508a1 100644 --- a/providers/dns/acmedns/acmedns.go +++ b/providers/dns/acmedns/acmedns.go @@ -9,7 +9,7 @@ import ( "strings" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/acmedns/internal" "github.com/nrdcg/goacmedns" @@ -168,7 +168,7 @@ func (d *DNSProvider) Present(domain, _, keyAuth string) error { ctx := context.Background() // Compute the challenge response FQDN and TXT value for the domain based on the keyAuth. - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // Check if credentials were previously saved for this domain. account, err := d.storage.Fetch(ctx, domain) diff --git a/providers/dns/active24/active24.go b/providers/dns/active24/active24.go index 28f7d3647..2244b1054 100644 --- a/providers/dns/active24/active24.go +++ b/providers/dns/active24/active24.go @@ -8,7 +8,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/active24" ) @@ -34,9 +34,9 @@ type Config = active24.Config // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, diff --git a/providers/dns/alidns/alidns.go b/providers/dns/alidns/alidns.go index d79f9d540..69367e9ba 100644 --- a/providers/dns/alidns/alidns.go +++ b/providers/dns/alidns/alidns.go @@ -12,7 +12,7 @@ import ( "github.com/aliyun/credentials-go/credentials" alidns "github.com/go-acme/alidns-20150109/v4/client" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/ptr" "golang.org/x/net/idna" @@ -55,8 +55,8 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, 600), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPTimeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 10*time.Second), } } @@ -154,7 +154,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zoneName, err := d.getHostedZone(ctx, info.EffectiveFQDN) if err != nil { @@ -178,7 +178,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) records, err := d.findTxtRecords(ctx, info.EffectiveFQDN) if err != nil { @@ -228,7 +228,7 @@ func (d *DNSProvider) getHostedZone(ctx context.Context, domain string) (string, startPage++ } - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, domain) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, domain) if err != nil { return "", fmt.Errorf("could not find zone: %w", err) } @@ -236,7 +236,7 @@ func (d *DNSProvider) getHostedZone(ctx context.Context, domain string) (string, var hostedZone *alidns.DescribeDomainsResponseBodyDomainsDomain for _, zone := range domains { - if ptr.Deref(zone.DomainName) == dnsnew.UnFqdn(authZone) || ptr.Deref(zone.PunyCode) == dnsnew.UnFqdn(authZone) { + if ptr.Deref(zone.DomainName) == dns01.UnFqdn(authZone) || ptr.Deref(zone.PunyCode) == dns01.UnFqdn(authZone) { hostedZone = zone } } @@ -299,7 +299,7 @@ func extractRecordName(fqdn, zone string) (string, error) { return "", fmt.Errorf("fail to convert punycode: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(fqdn, asciiDomain) + subDomain, err := dns01.ExtractSubDomain(fqdn, asciiDomain) if err != nil { return "", err } diff --git a/providers/dns/aliesa/aliesa.go b/providers/dns/aliesa/aliesa.go index 2475498e6..a11f6f5ab 100644 --- a/providers/dns/aliesa/aliesa.go +++ b/providers/dns/aliesa/aliesa.go @@ -12,7 +12,7 @@ import ( "github.com/alibabacloud-go/tea/dara" "github.com/aliyun/credentials-go/credentials" esa "github.com/go-acme/esa-20240910/v2/client" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/ptr" ) @@ -52,9 +52,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPTimeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), } } @@ -161,7 +161,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) siteID, err := d.getSiteID(ctx, info.EffectiveFQDN) if err != nil { @@ -171,7 +171,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { crReq := new(esa.CreateRecordRequest). SetSiteId(siteID). SetType("TXT"). - SetRecordName(dnsnew.UnFqdn(info.EffectiveFQDN)). + SetRecordName(dns01.UnFqdn(info.EffectiveFQDN)). SetTtl(int32(d.config.TTL)). SetData(new(esa.CreateRecordRequestData).SetValue(info.Value)) @@ -192,7 +192,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // gets the record's unique ID d.recordIDsMu.Lock() @@ -226,13 +226,13 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { } func (d *DNSProvider) getSiteID(ctx context.Context, fqdn string) (int64, error) { - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, fqdn) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, fqdn) if err != nil { return 0, fmt.Errorf("aliesa: could not find zone for domain %q: %w", fqdn, err) } lsReq := new(esa.ListSitesRequest). - SetSiteName(dnsnew.UnFqdn(authZone)). + SetSiteName(dns01.UnFqdn(authZone)). SetSiteSearchType("suffix") // https://www.alibabacloud.com/help/en/edge-security-acceleration/esa/api-esa-2024-09-10-listsites @@ -241,7 +241,7 @@ func (d *DNSProvider) getSiteID(ctx context.Context, fqdn string) (int64, error) return 0, fmt.Errorf("list sites: %w", err) } - for f := range dnsnew.UnFqdnDomainsSeq(fqdn) { + for f := range dns01.UnFqdnDomainsSeq(fqdn) { for _, site := range lsResp.Body.GetSites() { if ptr.Deref(site.GetSiteName()) == f { return ptr.Deref(site.GetSiteId()), nil diff --git a/providers/dns/allinkl/allinkl.go b/providers/dns/allinkl/allinkl.go index b3722743b..06e51446a 100644 --- a/providers/dns/allinkl/allinkl.go +++ b/providers/dns/allinkl/allinkl.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/allinkl/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -43,8 +43,8 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -121,9 +121,9 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("allinkl: could not find zone for domain %q: %w", domain, err) } @@ -135,7 +135,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx = internal.WithContext(ctx, credential) - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("allinkl: %w", err) } @@ -162,7 +162,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) credential, err := d.identifier.Authentication(ctx, 60, true) if err != nil { diff --git a/providers/dns/alwaysdata/alwaysdata.go b/providers/dns/alwaysdata/alwaysdata.go index 8aac03761..fb1cd96ca 100644 --- a/providers/dns/alwaysdata/alwaysdata.go +++ b/providers/dns/alwaysdata/alwaysdata.go @@ -8,7 +8,7 @@ import ( "net/http" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/alwaysdata/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -41,9 +41,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -97,14 +97,14 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.findZone(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("alwaysdata: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zone.Name) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zone.Name) if err != nil { return fmt.Errorf("alwaysdata: %w", err) } @@ -130,14 +130,14 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.findZone(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("alwaysdata: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zone.Name) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zone.Name) if err != nil { return fmt.Errorf("alwaysdata: %w", err) } @@ -173,7 +173,7 @@ func (d *DNSProvider) findZone(ctx context.Context, fqdn string) (*internal.Doma return nil, fmt.Errorf("list domains: %w", err) } - for a := range dnsnew.UnFqdnDomainsSeq(fqdn) { + for a := range dns01.UnFqdnDomainsSeq(fqdn) { for _, domain := range domains { if a == domain.Name { return &domain, nil diff --git a/providers/dns/anexia/anexia.go b/providers/dns/anexia/anexia.go index ba1269749..49062dede 100644 --- a/providers/dns/anexia/anexia.go +++ b/providers/dns/anexia/anexia.go @@ -12,7 +12,7 @@ import ( "github.com/cenkalti/backoff/v5" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/anexia/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -51,7 +51,7 @@ func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, defaultTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 5*time.Minute), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -125,9 +125,9 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("anexia: could not find zone for domain %q: %w", domain, err) } @@ -137,7 +137,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { return fmt.Errorf("anexia: %w", err) } - zoneName := dnsnew.UnFqdn(authZone) + zoneName := dns01.UnFqdn(authZone) recordReq := internal.Record{ Name: recordName, @@ -160,9 +160,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("anexia: could not find zone for domain %q: %w", domain, err) } @@ -172,12 +172,12 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { return fmt.Errorf("anexia: %w", err) } - recordID, err := d.findRecordID(ctx, dnsnew.UnFqdn(authZone), recordName, info.Value) + recordID, err := d.findRecordID(ctx, dns01.UnFqdn(authZone), recordName, info.Value) if err != nil { return fmt.Errorf("anexia: %w", err) } - err = d.client.DeleteRecord(ctx, dnsnew.UnFqdn(authZone), recordID) + err = d.client.DeleteRecord(ctx, dns01.UnFqdn(authZone), recordID) if err != nil { return fmt.Errorf("anexia: delete TXT record: %w", err) } @@ -228,10 +228,10 @@ func findRecordIdentifier(zone *internal.Zone, recordName, rdata string) string } func extractRecordName(fqdn, authZone string) (string, error) { - if dnsnew.UnFqdn(fqdn) == dnsnew.UnFqdn(authZone) { + if dns01.UnFqdn(fqdn) == dns01.UnFqdn(authZone) { // "@" for the root domain instead of an empty string. return "@", nil } - return dnsnew.ExtractSubDomain(fqdn, authZone) + return dns01.ExtractSubDomain(fqdn, authZone) } diff --git a/providers/dns/arvancloud/arvancloud.go b/providers/dns/arvancloud/arvancloud.go index 06fe37ce9..5238e35f9 100644 --- a/providers/dns/arvancloud/arvancloud.go +++ b/providers/dns/arvancloud/arvancloud.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/arvancloud/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -115,16 +115,16 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("arvancloud: could not find zone for domain %q: %w", domain, err) } - authZone = dnsnew.UnFqdn(authZone) + authZone = dns01.UnFqdn(authZone) - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("arvancloud: %w", err) } @@ -158,14 +158,14 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("arvancloud: could not find zone for domain %q: %w", domain, err) } - authZone = dnsnew.UnFqdn(authZone) + authZone = dns01.UnFqdn(authZone) // gets the record's unique ID from when we created it d.recordIDsMu.Lock() diff --git a/providers/dns/auroradns/auroradns.go b/providers/dns/auroradns/auroradns.go index 08cdd63f8..f5b9dcffc 100644 --- a/providers/dns/auroradns/auroradns.go +++ b/providers/dns/auroradns/auroradns.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/miekg/dns" @@ -47,8 +47,8 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, 300), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), } } @@ -112,9 +112,9 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("aurora: could not find zone for domain %q: %w", domain, err) } @@ -128,7 +128,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { subdomain := info.EffectiveFQDN[0 : len(info.EffectiveFQDN)-len(authZone)-1] - authZone = dnsnew.UnFqdn(authZone) + authZone = dns01.UnFqdn(authZone) zone, err := d.getZoneInformationByName(authZone) if err != nil { @@ -157,7 +157,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes a given record that was generated by Present. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) d.recordIDsMu.Lock() recordID, ok := d.recordIDs[token] @@ -167,12 +167,12 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { return fmt.Errorf("aurora: unknown recordID for %q", info.EffectiveFQDN) } - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, dns.Fqdn(info.EffectiveFQDN)) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, dns.Fqdn(info.EffectiveFQDN)) if err != nil { return fmt.Errorf("aurora: could not find zone for domain %q: %w", domain, err) } - authZone = dnsnew.UnFqdn(authZone) + authZone = dns01.UnFqdn(authZone) zone, err := d.getZoneInformationByName(authZone) if err != nil { diff --git a/providers/dns/autodns/autodns.go b/providers/dns/autodns/autodns.go index f91dd43c6..3295ca4fa 100644 --- a/providers/dns/autodns/autodns.go +++ b/providers/dns/autodns/autodns.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/autodns/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -120,7 +120,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) records := []*internal.ResourceRecord{{ Name: info.EffectiveFQDN, @@ -140,7 +140,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record previously created. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) records := []*internal.ResourceRecord{{ Name: info.EffectiveFQDN, diff --git a/providers/dns/axelname/axelname.go b/providers/dns/axelname/axelname.go index 243d91767..9da89535e 100644 --- a/providers/dns/axelname/axelname.go +++ b/providers/dns/axelname/axelname.go @@ -8,7 +8,7 @@ import ( "net/http" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/axelname/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -41,9 +41,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -97,14 +97,14 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("axelname: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("axelname: %w", err) } @@ -115,7 +115,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { Value: info.Value, } - err = d.client.AddRecord(ctx, dnsnew.UnFqdn(authZone), record) + err = d.client.AddRecord(ctx, dns01.UnFqdn(authZone), record) if err != nil { return fmt.Errorf("axelname: add record: %w", err) } @@ -127,14 +127,14 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("axelname: could not find zone for domain %q: %w", domain, err) } - records, err := d.client.ListRecords(ctx, dnsnew.UnFqdn(authZone)) + records, err := d.client.ListRecords(ctx, dns01.UnFqdn(authZone)) if err != nil { return fmt.Errorf("axelname: list records: %w", err) } @@ -144,7 +144,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { continue } - err = d.client.DeleteRecord(ctx, dnsnew.UnFqdn(authZone), record) + err = d.client.DeleteRecord(ctx, dns01.UnFqdn(authZone), record) if err != nil { return fmt.Errorf("axelname: delete record: %w", err) } diff --git a/providers/dns/azion/azion.go b/providers/dns/azion/azion.go index be93d4ead..e306cb750 100644 --- a/providers/dns/azion/azion.go +++ b/providers/dns/azion/azion.go @@ -9,7 +9,7 @@ import ( "time" "github.com/aziontech/azionapi-go-sdk/idns" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" ) @@ -42,9 +42,9 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ PageSize: env.GetOrDefaultInt(EnvPageSize, 50), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -107,7 +107,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) ctxAuth := authContext(ctx, d.config.PersonalToken) @@ -163,7 +163,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) ctxAuth := authContext(ctx, d.config.PersonalToken) @@ -236,7 +236,7 @@ func (d *DNSProvider) findZone(ctx context.Context, fqdn string) (*idns.Zone, er return nil, errors.New("get zones: no results") } - for domain := range dnsnew.UnFqdnDomainsSeq(fqdn) { + for domain := range dns01.UnFqdnDomainsSeq(fqdn) { for _, zone := range resp.GetResults() { if zone.GetDomain() == domain { return &zone, nil @@ -295,8 +295,8 @@ func authContext(ctx context.Context, key string) context.Context { }) } -func extractSubDomain(info dnsnew.ChallengeInfo, zone *idns.Zone) (string, error) { - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zone.GetName()) +func extractSubDomain(info dns01.ChallengeInfo, zone *idns.Zone) (string, error) { + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zone.GetName()) if err != nil { return "", err } diff --git a/providers/dns/azure/private.go b/providers/dns/azure/private.go index f2fb5695c..c56dc5f28 100644 --- a/providers/dns/azure/private.go +++ b/providers/dns/azure/private.go @@ -10,7 +10,7 @@ import ( "github.com/Azure/azure-sdk-for-go/profiles/latest/privatedns/mgmt/privatedns" "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/to" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" ) // dnsProviderPrivate implements the challenge.Provider interface for Azure Private Zone DNS. @@ -28,7 +28,7 @@ func (d *dnsProviderPrivate) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *dnsProviderPrivate) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.getHostedZoneID(ctx, info.EffectiveFQDN) if err != nil { @@ -38,7 +38,7 @@ func (d *dnsProviderPrivate) Present(domain, token, keyAuth string) error { rsc := privatedns.NewRecordSetsClientWithBaseURI(d.config.ResourceManagerEndpoint, d.config.SubscriptionID) rsc.Authorizer = d.authorizer - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zone) if err != nil { return fmt.Errorf("azure: %w", err) } @@ -89,14 +89,14 @@ func (d *dnsProviderPrivate) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *dnsProviderPrivate) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.getHostedZoneID(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("azure: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zone) if err != nil { return fmt.Errorf("azure: %w", err) } @@ -118,7 +118,7 @@ func (d *dnsProviderPrivate) getHostedZoneID(ctx context.Context, fqdn string) ( return d.config.ZoneName, nil } - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, fqdn) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, fqdn) if err != nil { return "", fmt.Errorf("could not find zone: %w", err) } @@ -126,7 +126,7 @@ func (d *dnsProviderPrivate) getHostedZoneID(ctx context.Context, fqdn string) ( dc := privatedns.NewPrivateZonesClientWithBaseURI(d.config.ResourceManagerEndpoint, d.config.SubscriptionID) dc.Authorizer = d.authorizer - zone, err := dc.Get(ctx, d.config.ResourceGroup, dnsnew.UnFqdn(authZone)) + zone, err := dc.Get(ctx, d.config.ResourceGroup, dns01.UnFqdn(authZone)) if err != nil { return "", err } diff --git a/providers/dns/azure/public.go b/providers/dns/azure/public.go index e62934035..512c69a1d 100644 --- a/providers/dns/azure/public.go +++ b/providers/dns/azure/public.go @@ -10,7 +10,7 @@ import ( "github.com/Azure/azure-sdk-for-go/profiles/latest/dns/mgmt/dns" "github.com/Azure/go-autorest/autorest" "github.com/Azure/go-autorest/autorest/to" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" ) // dnsProviderPublic implements the challenge.Provider interface for Azure Public Zone DNS. @@ -28,7 +28,7 @@ func (d *dnsProviderPublic) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *dnsProviderPublic) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.getHostedZoneID(ctx, info.EffectiveFQDN) if err != nil { @@ -38,7 +38,7 @@ func (d *dnsProviderPublic) Present(domain, token, keyAuth string) error { rsc := dns.NewRecordSetsClientWithBaseURI(d.config.ResourceManagerEndpoint, d.config.SubscriptionID) rsc.Authorizer = d.authorizer - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zone) if err != nil { return fmt.Errorf("azure: %w", err) } @@ -89,14 +89,14 @@ func (d *dnsProviderPublic) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *dnsProviderPublic) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.getHostedZoneID(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("azure: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zone) if err != nil { return fmt.Errorf("azure: %w", err) } @@ -118,7 +118,7 @@ func (d *dnsProviderPublic) getHostedZoneID(ctx context.Context, fqdn string) (s return d.config.ZoneName, nil } - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, fqdn) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, fqdn) if err != nil { return "", fmt.Errorf("could not find zone: %w", err) } @@ -126,7 +126,7 @@ func (d *dnsProviderPublic) getHostedZoneID(ctx context.Context, fqdn string) (s dc := dns.NewZonesClientWithBaseURI(d.config.ResourceManagerEndpoint, d.config.SubscriptionID) dc.Authorizer = d.authorizer - zone, err := dc.Get(ctx, d.config.ResourceGroup, dnsnew.UnFqdn(authZone)) + zone, err := dc.Get(ctx, d.config.ResourceGroup, dns01.UnFqdn(authZone)) if err != nil { return "", err } diff --git a/providers/dns/azuredns/credentials.go b/providers/dns/azuredns/credentials.go index a11fbb32e..5237d8911 100644 --- a/providers/dns/azuredns/credentials.go +++ b/providers/dns/azuredns/credentials.go @@ -10,7 +10,7 @@ import ( "github.com/Azure/azure-sdk-for-go/sdk/azcore" "github.com/Azure/azure-sdk-for-go/sdk/azcore/policy" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" ) const ( @@ -111,7 +111,7 @@ func getZoneName(ctx context.Context, config *Config, fqdn string) (string, erro return config.ZoneName, nil } - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, fqdn) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, fqdn) if err != nil { return "", fmt.Errorf("could not find zone for %s: %w", fqdn, err) } diff --git a/providers/dns/azuredns/private.go b/providers/dns/azuredns/private.go index 571cc431e..9b69c6481 100644 --- a/providers/dns/azuredns/private.go +++ b/providers/dns/azuredns/private.go @@ -13,7 +13,7 @@ import ( "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/privatedns/armprivatedns" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/providers/dns/internal/ptr" ) @@ -49,7 +49,7 @@ func (d *DNSProviderPrivate) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProviderPrivate) Present(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.getHostedZone(ctx, info.EffectiveFQDN) if err != nil { @@ -61,7 +61,7 @@ func (d *DNSProviderPrivate) Present(domain, _, keyAuth string) error { return fmt.Errorf("azuredns: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zone.Name) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zone.Name) if err != nil { return fmt.Errorf("azuredns: %w", err) } @@ -102,7 +102,7 @@ func (d *DNSProviderPrivate) Present(domain, _, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProviderPrivate) CleanUp(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.getHostedZone(ctx, info.EffectiveFQDN) if err != nil { @@ -114,7 +114,7 @@ func (d *DNSProviderPrivate) CleanUp(domain, _, keyAuth string) error { return fmt.Errorf("azuredns: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zone.Name) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zone.Name) if err != nil { return fmt.Errorf("azuredns: %w", err) } @@ -134,7 +134,7 @@ func (d *DNSProviderPrivate) getHostedZone(ctx context.Context, fqdn string) (Se return ServiceDiscoveryZone{}, err } - azureZone, exists := d.serviceDiscoveryZones[dnsnew.UnFqdn(authZone)] + azureZone, exists := d.serviceDiscoveryZones[dns01.UnFqdn(authZone)] if !exists { return ServiceDiscoveryZone{}, fmt.Errorf("could not find zone (from discovery): %s", authZone) } diff --git a/providers/dns/azuredns/public.go b/providers/dns/azuredns/public.go index 3e0fdf9a5..4f562e8e9 100644 --- a/providers/dns/azuredns/public.go +++ b/providers/dns/azuredns/public.go @@ -13,7 +13,7 @@ import ( "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dns/armdns" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/providers/dns/internal/ptr" ) @@ -49,7 +49,7 @@ func (d *DNSProviderPublic) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProviderPublic) Present(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.getHostedZone(ctx, info.EffectiveFQDN) if err != nil { @@ -61,7 +61,7 @@ func (d *DNSProviderPublic) Present(domain, _, keyAuth string) error { return fmt.Errorf("azuredns: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zone.Name) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zone.Name) if err != nil { return fmt.Errorf("azuredns: %w", err) } @@ -101,7 +101,7 @@ func (d *DNSProviderPublic) Present(domain, _, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProviderPublic) CleanUp(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.getHostedZone(ctx, info.EffectiveFQDN) if err != nil { @@ -113,7 +113,7 @@ func (d *DNSProviderPublic) CleanUp(domain, _, keyAuth string) error { return fmt.Errorf("azuredns: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zone.Name) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zone.Name) if err != nil { return fmt.Errorf("azuredns: %w", err) } @@ -133,7 +133,7 @@ func (d *DNSProviderPublic) getHostedZone(ctx context.Context, fqdn string) (Ser return ServiceDiscoveryZone{}, err } - azureZone, exists := d.serviceDiscoveryZones[dnsnew.UnFqdn(authZone)] + azureZone, exists := d.serviceDiscoveryZones[dns01.UnFqdn(authZone)] if !exists { return ServiceDiscoveryZone{}, fmt.Errorf("could not find zone (from discovery): %s", authZone) } diff --git a/providers/dns/baiducloud/baiducloud.go b/providers/dns/baiducloud/baiducloud.go index 2011646f8..d5bee6a4a 100644 --- a/providers/dns/baiducloud/baiducloud.go +++ b/providers/dns/baiducloud/baiducloud.go @@ -8,7 +8,7 @@ import ( "time" baidudns "github.com/baidubce/bce-sdk-go/services/dns" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/ptr" ) @@ -42,8 +42,8 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, defaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), } } @@ -91,14 +91,14 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(context.Background(), info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(context.Background(), info.EffectiveFQDN) if err != nil { return fmt.Errorf("baiducloud: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("baiducloud: %w", err) } @@ -111,7 +111,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { Ttl: ptr.Pointer(int32(d.config.TTL)), } - err = d.client.CreateRecord(dnsnew.UnFqdn(authZone), crr, "") + err = d.client.CreateRecord(dns01.UnFqdn(authZone), crr, "") if err != nil { return fmt.Errorf("baiducloud: create record: %w", err) } @@ -122,19 +122,19 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(context.Background(), info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(context.Background(), info.EffectiveFQDN) if err != nil { return fmt.Errorf("baiducloud: could not find zone for domain %q: %w", domain, err) } - recordID, err := d.findRecordID(dnsnew.UnFqdn(authZone), info.Value) + recordID, err := d.findRecordID(dns01.UnFqdn(authZone), info.Value) if err != nil { return fmt.Errorf("baiducloud: find record: %w", err) } - err = d.client.DeleteRecord(dnsnew.UnFqdn(authZone), recordID, "") + err = d.client.DeleteRecord(dns01.UnFqdn(authZone), recordID, "") if err != nil { return fmt.Errorf("baiducloud: delete record: %w", err) } diff --git a/providers/dns/beget/beget.go b/providers/dns/beget/beget.go index 53f8e3a08..23c181307 100644 --- a/providers/dns/beget/beget.go +++ b/providers/dns/beget/beget.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/beget/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -106,9 +106,9 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - records, err := d.client.GetTXTRecords(ctx, dnsnew.UnFqdn(info.EffectiveFQDN)) + records, err := d.client.GetTXTRecords(ctx, dns01.UnFqdn(info.EffectiveFQDN)) if err != nil { return fmt.Errorf("beget: get TXT records: %w", err) } @@ -120,10 +120,10 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { TTL: d.config.TTL, }) - err = d.client.ChangeTXTRecord(ctx, dnsnew.UnFqdn(info.EffectiveFQDN), records) + err = d.client.ChangeTXTRecord(ctx, dns01.UnFqdn(info.EffectiveFQDN), records) if err != nil { return fmt.Errorf("beget: failed to create TXT records [domain: %s]: %w", - dnsnew.UnFqdn(info.EffectiveFQDN), err) + dns01.UnFqdn(info.EffectiveFQDN), err) } return nil @@ -133,9 +133,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - records, err := d.client.GetTXTRecords(ctx, dnsnew.UnFqdn(info.EffectiveFQDN)) + records, err := d.client.GetTXTRecords(ctx, dns01.UnFqdn(info.EffectiveFQDN)) if err != nil { return fmt.Errorf("beget: get TXT records: %w", err) } @@ -154,10 +154,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { updatedRecords = append(updatedRecords, record) } - err = d.client.ChangeTXTRecord(ctx, dnsnew.UnFqdn(info.EffectiveFQDN), updatedRecords) + err = d.client.ChangeTXTRecord(ctx, dns01.UnFqdn(info.EffectiveFQDN), updatedRecords) if err != nil { return fmt.Errorf("beget: failed to remove TXT records [domain: %s]: %w", - dnsnew.UnFqdn(info.EffectiveFQDN), err) + dns01.UnFqdn(info.EffectiveFQDN), err) } return nil diff --git a/providers/dns/binarylane/binarylane.go b/providers/dns/binarylane/binarylane.go index 8f0bb8e5e..96f9063ea 100644 --- a/providers/dns/binarylane/binarylane.go +++ b/providers/dns/binarylane/binarylane.go @@ -9,7 +9,7 @@ import ( "sync" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/binarylane/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -41,8 +41,8 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, 3600), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -99,14 +99,14 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("binarylane: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("binarylane: %w", err) } @@ -118,7 +118,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { TTL: d.config.TTL, } - response, err := d.client.CreateRecord(ctx, dnsnew.UnFqdn(authZone), record) + response, err := d.client.CreateRecord(ctx, dns01.UnFqdn(authZone), record) if err != nil { return fmt.Errorf("binarylane: create record: %w", err) } @@ -134,9 +134,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("binarylane: could not find zone for domain %q: %w", domain, err) } @@ -150,7 +150,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { return fmt.Errorf("binarylane: unknown record ID for '%s'", info.EffectiveFQDN) } - err = d.client.DeleteRecord(ctx, dnsnew.UnFqdn(authZone), recordID) + err = d.client.DeleteRecord(ctx, dns01.UnFqdn(authZone), recordID) if err != nil { return fmt.Errorf("binarylane: delete record: %w", err) } diff --git a/providers/dns/bindman/bindman.go b/providers/dns/bindman/bindman.go index 4577ac69a..ffad038eb 100644 --- a/providers/dns/bindman/bindman.go +++ b/providers/dns/bindman/bindman.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" bindman "github.com/labbsr0x/bindman-dns-webhook/src/client" @@ -39,8 +39,8 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, time.Minute), }, @@ -95,7 +95,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // so make sure the FQDN specified is within an extant zone. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) if err := d.client.AddRecord(info.EffectiveFQDN, "TXT", info.Value); err != nil { return fmt.Errorf("bindman: %w", err) @@ -107,7 +107,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) if err := d.client.RemoveRecord(info.EffectiveFQDN, "TXT"); err != nil { return fmt.Errorf("bindman: %w", err) diff --git a/providers/dns/bluecat/bluecat.go b/providers/dns/bluecat/bluecat.go index 9c1db5c9e..c9b10777a 100644 --- a/providers/dns/bluecat/bluecat.go +++ b/providers/dns/bluecat/bluecat.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/log" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/bluecat/internal" @@ -54,9 +54,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -121,7 +121,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // so make sure the FQDN specified is within an existent zone. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) ctxAuth, err := d.client.CreateAuthenticatedContext(ctx) if err != nil { @@ -171,7 +171,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) ctxAuth, err := d.client.CreateAuthenticatedContext(ctx) if err != nil { diff --git a/providers/dns/bookmyname/bookmyname.go b/providers/dns/bookmyname/bookmyname.go index baf4dab43..8786aab4f 100644 --- a/providers/dns/bookmyname/bookmyname.go +++ b/providers/dns/bookmyname/bookmyname.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/bookmyname/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -44,9 +44,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -99,10 +99,10 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) record := internal.Record{ - Hostname: dnsnew.UnFqdn(info.EffectiveFQDN), + Hostname: dns01.UnFqdn(info.EffectiveFQDN), Type: "txt", TTL: d.config.TTL, Value: info.Value, @@ -119,10 +119,10 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) record := internal.Record{ - Hostname: dnsnew.UnFqdn(info.EffectiveFQDN), + Hostname: dns01.UnFqdn(info.EffectiveFQDN), Type: "txt", TTL: d.config.TTL, Value: info.Value, diff --git a/providers/dns/brandit/brandit.go b/providers/dns/brandit/brandit.go index e68945786..4b3b03564 100644 --- a/providers/dns/brandit/brandit.go +++ b/providers/dns/brandit/brandit.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/brandit/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -47,7 +47,7 @@ func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, 600), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 10*time.Minute), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -112,14 +112,14 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("brandit: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("brandit: %w", err) } @@ -132,18 +132,18 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { } // find the account associated with the domain - account, err := d.client.StatusDomain(ctx, dnsnew.UnFqdn(authZone)) + account, err := d.client.StatusDomain(ctx, dns01.UnFqdn(authZone)) if err != nil { return fmt.Errorf("brandit: status domain: %w", err) } // Find the next record id - recordID, err := d.client.ListRecords(ctx, account.Registrar[0], dnsnew.UnFqdn(authZone)) + recordID, err := d.client.ListRecords(ctx, account.Registrar[0], dns01.UnFqdn(authZone)) if err != nil { return fmt.Errorf("brandit: list records: %w", err) } - result, err := d.client.AddRecord(ctx, dnsnew.UnFqdn(authZone), account.Registrar[0], strconv.Itoa(recordID.Total[0]), record) + result, err := d.client.AddRecord(ctx, dns01.UnFqdn(authZone), account.Registrar[0], strconv.Itoa(recordID.Total[0]), record) if err != nil { return fmt.Errorf("brandit: add record: %w", err) } @@ -159,9 +159,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("brandit: could not find zone for domain %q: %w", domain, err) } @@ -176,12 +176,12 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { } // find the account associated with the domain - account, err := d.client.StatusDomain(ctx, dnsnew.UnFqdn(authZone)) + account, err := d.client.StatusDomain(ctx, dns01.UnFqdn(authZone)) if err != nil { return fmt.Errorf("brandit: status domain: %w", err) } - records, err := d.client.ListRecords(ctx, account.Registrar[0], dnsnew.UnFqdn(authZone)) + records, err := d.client.ListRecords(ctx, account.Registrar[0], dns01.UnFqdn(authZone)) if err != nil { return fmt.Errorf("brandit: list records: %w", err) } @@ -194,7 +194,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { } } - err = d.client.DeleteRecord(ctx, dnsnew.UnFqdn(authZone), account.Registrar[0], dnsRecord, strconv.Itoa(recordID)) + err = d.client.DeleteRecord(ctx, dns01.UnFqdn(authZone), account.Registrar[0], dnsRecord, strconv.Itoa(recordID)) if err != nil { return fmt.Errorf("brandit: delete record: %w", err) } diff --git a/providers/dns/bunny/bunny.go b/providers/dns/bunny/bunny.go index 525df0aa5..a2d596f31 100644 --- a/providers/dns/bunny/bunny.go +++ b/providers/dns/bunny/bunny.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/internal/ptr" @@ -50,7 +50,7 @@ func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, minTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 120*time.Second), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -115,14 +115,14 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - zone, err := d.findZone(ctx, dnsnew.UnFqdn(info.EffectiveFQDN)) + zone, err := d.findZone(ctx, dns01.UnFqdn(info.EffectiveFQDN)) if err != nil { return fmt.Errorf("bunny: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, ptr.Deref(zone.Domain)) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, ptr.Deref(zone.Domain)) if err != nil { return fmt.Errorf("bunny: %w", err) } @@ -144,14 +144,14 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - zone, err := d.findZone(ctx, dnsnew.UnFqdn(info.EffectiveFQDN)) + zone, err := d.findZone(ctx, dns01.UnFqdn(info.EffectiveFQDN)) if err != nil { return fmt.Errorf("bunny: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, ptr.Deref(zone.Domain)) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, ptr.Deref(zone.Domain)) if err != nil { return fmt.Errorf("bunny: %w", err) } @@ -220,13 +220,13 @@ func possibleDomains(domain string) []string { var domains []string tld, _ := publicsuffix.PublicSuffix(domain) - for d := range dnsnew.DomainsSeq(domain) { + for d := range dns01.DomainsSeq(domain) { if tld == d { // skip the TLD break } - domains = append(domains, dnsnew.UnFqdn(d)) + domains = append(domains, dns01.UnFqdn(d)) } return domains diff --git a/providers/dns/checkdomain/checkdomain.go b/providers/dns/checkdomain/checkdomain.go index 0f6c3354c..2ee816586 100644 --- a/providers/dns/checkdomain/checkdomain.go +++ b/providers/dns/checkdomain/checkdomain.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/checkdomain/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -116,7 +116,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { return fmt.Errorf("checkdomain: %w", err) } - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) err = d.client.CreateRecord(ctx, domainID, &internal.Record{ Name: info.EffectiveFQDN, @@ -146,7 +146,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { return fmt.Errorf("checkdomain: %w", err) } - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) defer d.client.CleanCache(info.EffectiveFQDN) diff --git a/providers/dns/checkdomain/internal/client_test.go b/providers/dns/checkdomain/internal/client_test.go index cc9a0806a..86019d4a9 100644 --- a/providers/dns/checkdomain/internal/client_test.go +++ b/providers/dns/checkdomain/internal/client_test.go @@ -5,7 +5,7 @@ import ( "net/url" "testing" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/tester/servermock" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -113,7 +113,7 @@ func TestClient_DeleteTXTRecord(t *testing.T) { servermock.CheckRequestJSONBodyFromFixture("delete_txt_record-request.json")). Build(t) - info := dnsnew.GetChallengeInfo(t.Context(), domainName, "abc") + info := dns01.GetChallengeInfo(t.Context(), domainName, "abc") err := client.DeleteTXTRecord(t.Context(), 1, info.EffectiveFQDN, recordValue) require.NoError(t, err) diff --git a/providers/dns/civo/civo.go b/providers/dns/civo/civo.go index db03bc65e..aa0835ca4 100644 --- a/providers/dns/civo/civo.go +++ b/providers/dns/civo/civo.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/civo/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -107,21 +107,21 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("civo: could not find zone for domain %q: %w", domain, err) } - zone := dnsnew.UnFqdn(authZone) + zone := dns01.UnFqdn(authZone) domainID, err := d.getDomainIDByName(ctx, zone) if err != nil { return fmt.Errorf("civo: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zone) if err != nil { return fmt.Errorf("civo: %w", err) } @@ -142,14 +142,14 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("civo: could not find zone for domain %q: %w", domain, err) } - zone := dnsnew.UnFqdn(authZone) + zone := dns01.UnFqdn(authZone) domainID, err := d.getDomainIDByName(ctx, zone) if err != nil { @@ -161,7 +161,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { return fmt.Errorf("civo: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zone) if err != nil { return fmt.Errorf("civo: %w", err) } diff --git a/providers/dns/clouddns/clouddns.go b/providers/dns/clouddns/clouddns.go index 932986a65..e81f72d7a 100644 --- a/providers/dns/clouddns/clouddns.go +++ b/providers/dns/clouddns/clouddns.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/clouddns/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -109,9 +109,9 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("clouddns: could not find zone for domain %q: %w", domain, err) } @@ -133,9 +133,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("clouddns: could not find zone for domain %q: %w", domain, err) } diff --git a/providers/dns/cloudflare/cloudflare.go b/providers/dns/cloudflare/cloudflare.go index 66cf5de97..857e8bd17 100644 --- a/providers/dns/cloudflare/cloudflare.go +++ b/providers/dns/cloudflare/cloudflare.go @@ -12,7 +12,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/cloudflare/internal" ) @@ -68,7 +68,7 @@ func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOneWithFallback(EnvTTL, minTTL, strconv.Atoi, altEnvName(EnvTTL)), PropagationTimeout: env.GetOneWithFallback(EnvPropagationTimeout, 2*time.Minute, env.ParseSecond, altEnvName(EnvPropagationTimeout)), - PollingInterval: env.GetOneWithFallback(EnvPollingInterval, dnsnew.DefaultPollingInterval, env.ParseSecond, altEnvName(EnvPollingInterval)), + PollingInterval: env.GetOneWithFallback(EnvPollingInterval, dns01.DefaultPollingInterval, env.ParseSecond, altEnvName(EnvPollingInterval)), HTTPClient: &http.Client{ Timeout: env.GetOneWithFallback(EnvHTTPTimeout, 30*time.Second, env.ParseSecond, altEnvName(EnvHTTPTimeout)), }, @@ -156,9 +156,9 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("cloudflare: could not find zone for domain %q: %w", domain, err) } @@ -170,7 +170,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { dnsRecord := internal.Record{ Type: "TXT", - Name: dnsnew.UnFqdn(info.EffectiveFQDN), + Name: dns01.UnFqdn(info.EffectiveFQDN), Content: `"` + info.Value + `"`, TTL: d.config.TTL, } @@ -191,9 +191,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("cloudflare: could not find zone for domain %q: %w", domain, err) } diff --git a/providers/dns/cloudflare/wrapper.go b/providers/dns/cloudflare/wrapper.go index 7cb9fdf83..1f8ff9ac7 100644 --- a/providers/dns/cloudflare/wrapper.go +++ b/providers/dns/cloudflare/wrapper.go @@ -5,7 +5,7 @@ import ( "errors" "sync" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/providers/dns/cloudflare/internal" ) @@ -86,7 +86,7 @@ func (m *metaClient) ZoneIDByName(ctx context.Context, fdqn string) (string, err return id, nil } - zones, err := m.clientRead.ZonesByName(ctx, dnsnew.UnFqdn(fdqn)) + zones, err := m.clientRead.ZonesByName(ctx, dns01.UnFqdn(fdqn)) if err != nil { return "", err } diff --git a/providers/dns/cloudns/cloudns.go b/providers/dns/cloudns/cloudns.go index d8bcb384d..12499ee59 100644 --- a/providers/dns/cloudns/cloudns.go +++ b/providers/dns/cloudns/cloudns.go @@ -10,7 +10,7 @@ import ( "github.com/cenkalti/backoff/v5" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/log" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/platform/wait" @@ -114,7 +114,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.client.GetZone(ctx, info.EffectiveFQDN) if err != nil { @@ -132,7 +132,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT records matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.client.GetZone(ctx, info.EffectiveFQDN) if err != nil { diff --git a/providers/dns/cloudns/internal/client.go b/providers/dns/cloudns/internal/client.go index 43066c3ed..1dd084150 100644 --- a/providers/dns/cloudns/internal/client.go +++ b/providers/dns/cloudns/internal/client.go @@ -11,7 +11,7 @@ import ( "strconv" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/providers/dns/internal/errutils" ) @@ -53,12 +53,12 @@ func NewClient(authID, subAuthID, authPassword string) (*Client, error) { // GetZone Get domain name information for a FQDN. func (c *Client) GetZone(ctx context.Context, authFQDN string) (*Zone, error) { - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, authFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, authFQDN) if err != nil { return nil, fmt.Errorf("could not find zone: %w", err) } - authZoneName := dnsnew.UnFqdn(authZone) + authZoneName := dns01.UnFqdn(authZone) endpoint := c.BaseURL.JoinPath("get-zone-info.json") @@ -93,7 +93,7 @@ func (c *Client) GetZone(ctx context.Context, authFQDN string) (*Zone, error) { // FindTxtRecord returns the TXT record a zone ID and a FQDN. func (c *Client) FindTxtRecord(ctx context.Context, zoneName, fqdn string) (*TXTRecord, error) { - subDomain, err := dnsnew.ExtractSubDomain(fqdn, zoneName) + subDomain, err := dns01.ExtractSubDomain(fqdn, zoneName) if err != nil { return nil, err } @@ -137,7 +137,7 @@ func (c *Client) FindTxtRecord(ctx context.Context, zoneName, fqdn string) (*TXT // ListTxtRecords returns the TXT records a zone ID and a FQDN. func (c *Client) ListTxtRecords(ctx context.Context, zoneName, fqdn string) ([]TXTRecord, error) { - subDomain, err := dnsnew.ExtractSubDomain(fqdn, zoneName) + subDomain, err := dns01.ExtractSubDomain(fqdn, zoneName) if err != nil { return nil, err } @@ -183,7 +183,7 @@ func (c *Client) ListTxtRecords(ctx context.Context, zoneName, fqdn string) ([]T // AddTxtRecord adds a TXT record. func (c *Client) AddTxtRecord(ctx context.Context, zoneName, fqdn, value string, ttl int) error { - subDomain, err := dnsnew.ExtractSubDomain(fqdn, zoneName) + subDomain, err := dns01.ExtractSubDomain(fqdn, zoneName) if err != nil { return err } diff --git a/providers/dns/cloudru/cloudru.go b/providers/dns/cloudru/cloudru.go index 884733974..84adbded2 100644 --- a/providers/dns/cloudru/cloudru.go +++ b/providers/dns/cloudru/cloudru.go @@ -11,7 +11,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/cloudru/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -50,10 +50,10 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 5*time.Minute), PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, 5*time.Second), - SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dnsnew.DefaultPropagationTimeout), + SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dns01.DefaultPropagationTimeout), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -114,14 +114,14 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("cloudru: could not find zone for domain %q: %w", domain, err) } - authZone = dnsnew.UnFqdn(authZone) + authZone = dns01.UnFqdn(authZone) ctxAuth, err := d.client.CreateAuthenticatedContext(ctx) if err != nil { @@ -155,7 +155,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes a given record that was generated by Present. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) d.recordsMu.Lock() record, ok := d.records[token] diff --git a/providers/dns/cloudxns/cloudxns.go b/providers/dns/cloudxns/cloudxns.go index 5c2bf8b09..e4cbd61ad 100644 --- a/providers/dns/cloudxns/cloudxns.go +++ b/providers/dns/cloudxns/cloudxns.go @@ -6,7 +6,7 @@ import ( "net/http" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" ) // Environment variables names. @@ -63,5 +63,5 @@ func (d *DNSProvider) CleanUp(_, _, _ string) error { // Timeout returns the timeout and interval to use when checking for DNS propagation. // Adjusting here to cope with spikes in propagation times. func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { - return dnsnew.DefaultPropagationTimeout, dnsnew.DefaultPollingInterval + return dns01.DefaultPropagationTimeout, dns01.DefaultPollingInterval } diff --git a/providers/dns/conoha/conoha.go b/providers/dns/conoha/conoha.go index 557a8a31f..deb928495 100644 --- a/providers/dns/conoha/conoha.go +++ b/providers/dns/conoha/conoha.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/conoha/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -49,8 +49,8 @@ func NewDefaultConfig() *Config { return &Config{ Region: env.GetOrDefaultString(EnvRegion, "tyo1"), TTL: env.GetOrDefaultInt(EnvTTL, 60), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -132,9 +132,9 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("conoha: could not find zone for domain %q: %w", domain, err) } @@ -163,9 +163,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("conoha: could not find zone for domain %q: %w", domain, err) } diff --git a/providers/dns/conohav3/conohav3.go b/providers/dns/conohav3/conohav3.go index ebe1a7729..a500782b3 100644 --- a/providers/dns/conohav3/conohav3.go +++ b/providers/dns/conohav3/conohav3.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/conohav3/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -49,8 +49,8 @@ func NewDefaultConfig() *Config { return &Config{ Region: env.GetOrDefaultString(EnvRegion, "c3j1"), TTL: env.GetOrDefaultInt(EnvTTL, 60), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -141,9 +141,9 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("conohav3: could not find zone for domain %q: %w", domain, err) } @@ -172,9 +172,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("conohav3: could not find zone for domain %q: %w", domain, err) } diff --git a/providers/dns/constellix/constellix.go b/providers/dns/constellix/constellix.go index ae17a7ad2..1a34b8939 100644 --- a/providers/dns/constellix/constellix.go +++ b/providers/dns/constellix/constellix.go @@ -11,7 +11,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/constellix/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -47,7 +47,7 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, 60), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, 10*time.Second), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), @@ -112,19 +112,19 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("constellix: could not find zone for domain %q: %w", domain, err) } - dom, err := d.client.Domains.GetByName(ctx, dnsnew.UnFqdn(authZone)) + dom, err := d.client.Domains.GetByName(ctx, dns01.UnFqdn(authZone)) if err != nil { return fmt.Errorf("constellix: failed to get domain (%s): %w", authZone, err) } - recordName, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + recordName, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("constellix: %w", err) } @@ -155,19 +155,19 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("constellix: could not find zone for domain %q: %w", domain, err) } - dom, err := d.client.Domains.GetByName(ctx, dnsnew.UnFqdn(authZone)) + dom, err := d.client.Domains.GetByName(ctx, dns01.UnFqdn(authZone)) if err != nil { return fmt.Errorf("constellix: failed to get domain (%s): %w", authZone, err) } - recordName, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + recordName, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("constellix: %w", err) } diff --git a/providers/dns/corenetworks/corenetworks.go b/providers/dns/corenetworks/corenetworks.go index a908abdf5..c38d68b40 100644 --- a/providers/dns/corenetworks/corenetworks.go +++ b/providers/dns/corenetworks/corenetworks.go @@ -8,7 +8,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/corenetworks/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -45,9 +45,9 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, 3600), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), - SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dnsnew.DefaultPropagationTimeout), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), + SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dns01.DefaultPropagationTimeout), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -111,19 +111,19 @@ func (d *DNSProvider) Sequential() time.Duration { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) ctxAuth, err := d.client.CreateAuthenticatedContext(ctx) if err != nil { return fmt.Errorf("create authentication token: %w", err) } - zone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctxAuth, info.EffectiveFQDN) + zone, err := dns01.DefaultClient().FindZoneByFqdn(ctxAuth, info.EffectiveFQDN) if err != nil { return fmt.Errorf("corenetworks: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zone) if err != nil { return fmt.Errorf("corenetworks: %w", err) } @@ -135,12 +135,12 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { Data: info.Value, } - err = d.client.AddRecord(ctxAuth, dnsnew.UnFqdn(zone), record) + err = d.client.AddRecord(ctxAuth, dns01.UnFqdn(zone), record) if err != nil { return fmt.Errorf("corenetworks: add record: %w", err) } - err = d.client.CommitRecords(ctxAuth, dnsnew.UnFqdn(zone)) + err = d.client.CommitRecords(ctxAuth, dns01.UnFqdn(zone)) if err != nil { return fmt.Errorf("corenetworks: commit records: %w", err) } @@ -151,19 +151,19 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) ctxAuth, err := d.client.CreateAuthenticatedContext(ctx) if err != nil { return fmt.Errorf("create authentication token: %w", err) } - zone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctxAuth, info.EffectiveFQDN) + zone, err := dns01.DefaultClient().FindZoneByFqdn(ctxAuth, info.EffectiveFQDN) if err != nil { return fmt.Errorf("corenetworks: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zone) if err != nil { return fmt.Errorf("corenetworks: %w", err) } @@ -175,12 +175,12 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { Data: info.Value, } - err = d.client.DeleteRecords(ctxAuth, dnsnew.UnFqdn(zone), record) + err = d.client.DeleteRecords(ctxAuth, dns01.UnFqdn(zone), record) if err != nil { return fmt.Errorf("corenetworks: delete records: %w", err) } - err = d.client.CommitRecords(ctxAuth, dnsnew.UnFqdn(zone)) + err = d.client.CommitRecords(ctxAuth, dns01.UnFqdn(zone)) if err != nil { return fmt.Errorf("corenetworks: commit records: %w", err) } diff --git a/providers/dns/cpanel/cpanel.go b/providers/dns/cpanel/cpanel.go index 7172beeb3..4bd77ccee 100644 --- a/providers/dns/cpanel/cpanel.go +++ b/providers/dns/cpanel/cpanel.go @@ -12,7 +12,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/cpanel/internal/cpanel" "github.com/go-acme/lego/v5/providers/dns/cpanel/internal/shared" @@ -62,7 +62,7 @@ func NewDefaultConfig() *Config { Mode: env.GetOrDefaultString(EnvMode, "cpanel"), TTL: env.GetOrDefaultInt(EnvTTL, 300), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 2*time.Minute), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -126,14 +126,14 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("arvancloud: could not find zone for domain %q: %w", domain, err) } - zone := dnsnew.UnFqdn(authZone) + zone := dns01.UnFqdn(authZone) zoneInfo, err := d.client.FetchZoneInformation(ctx, zone) if err != nil { @@ -204,14 +204,14 @@ func (d *DNSProvider) Present(domain, _, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("arvancloud: could not find zone for domain %q: %w", domain, err) } - zone := dnsnew.UnFqdn(authZone) + zone := dns01.UnFqdn(authZone) zoneInfo, err := d.client.FetchZoneInformation(ctx, zone) if err != nil { diff --git a/providers/dns/ddnss/ddnss.go b/providers/dns/ddnss/ddnss.go index dcfd01c2d..430cf04de 100644 --- a/providers/dns/ddnss/ddnss.go +++ b/providers/dns/ddnss/ddnss.go @@ -8,7 +8,7 @@ import ( "net/http" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/ddnss/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -41,10 +41,10 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), - SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dnsnew.DefaultPropagationTimeout), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), + SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dns01.DefaultPropagationTimeout), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -96,9 +96,9 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - err := d.client.AddTXTRecord(ctx, dnsnew.UnFqdn(info.EffectiveFQDN), info.Value) + err := d.client.AddTXTRecord(ctx, dns01.UnFqdn(info.EffectiveFQDN), info.Value) if err != nil { return fmt.Errorf("ddnss: add TXT record: %w", err) } @@ -109,9 +109,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - err := d.client.RemoveTXTRecord(ctx, dnsnew.UnFqdn(info.EffectiveFQDN)) + err := d.client.RemoveTXTRecord(ctx, dns01.UnFqdn(info.EffectiveFQDN)) if err != nil { return fmt.Errorf("ddnss: remove TXT record: %w", err) } diff --git a/providers/dns/derak/derak.go b/providers/dns/derak/derak.go index f651db46c..2ef3549f5 100644 --- a/providers/dns/derak/derak.go +++ b/providers/dns/derak/derak.go @@ -11,7 +11,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/derak/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -46,7 +46,7 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 2*time.Minute), PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, 5*time.Second), HTTPClient: &http.Client{ @@ -113,14 +113,14 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("derak: could not find zone for domain %q: %w", domain, err) } - recordName, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + recordName, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("derak: %w", err) } @@ -152,7 +152,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zoneID, err := d.getZoneID(ctx, info) if err != nil { @@ -181,7 +181,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { return nil } -func (d *DNSProvider) getZoneID(ctx context.Context, info dnsnew.ChallengeInfo) (string, error) { +func (d *DNSProvider) getZoneID(ctx context.Context, info dns01.ChallengeInfo) (string, error) { zoneID := d.config.WebsiteID if zoneID != "" { return zoneID, nil diff --git a/providers/dns/desec/desec.go b/providers/dns/desec/desec.go index 000dc1edd..2dbba480a 100644 --- a/providers/dns/desec/desec.go +++ b/providers/dns/desec/desec.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/log" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -108,19 +108,19 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("desec: could not find zone for domain %q: %w", domain, err) } - recordName, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + recordName, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("desec: %w", err) } - domainName := dnsnew.UnFqdn(authZone) + domainName := dns01.UnFqdn(authZone) quotedValue := fmt.Sprintf(`%q`, info.Value) @@ -160,19 +160,19 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("desec: could not find zone for domain %q: %w", domain, err) } - recordName, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + recordName, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("desec: %w", err) } - domainName := dnsnew.UnFqdn(authZone) + domainName := dns01.UnFqdn(authZone) rrSet, err := d.client.Records.Get(ctx, domainName, recordName, "TXT") if err != nil { diff --git a/providers/dns/designate/designate.go b/providers/dns/designate/designate.go index 5237b4680..80ef655cb 100644 --- a/providers/dns/designate/designate.go +++ b/providers/dns/designate/designate.go @@ -11,7 +11,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/log" "github.com/go-acme/lego/v5/platform/config/env" "github.com/gophercloud/gophercloud" @@ -134,7 +134,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.getZoneName(ctx, info.EffectiveFQDN) if err != nil { @@ -175,7 +175,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.getZoneName(ctx, info.EffectiveFQDN) if err != nil { @@ -303,7 +303,7 @@ func (d *DNSProvider) getZoneName(ctx context.Context, fqdn string) (string, err return d.config.ZoneName, nil } - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, fqdn) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, fqdn) if err != nil { return "", fmt.Errorf("could not find zone for %s: %w", fqdn, err) } diff --git a/providers/dns/digitalocean/digitalocean.go b/providers/dns/digitalocean/digitalocean.go index 2a32993ee..ce338aa60 100644 --- a/providers/dns/digitalocean/digitalocean.go +++ b/providers/dns/digitalocean/digitalocean.go @@ -11,7 +11,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/digitalocean/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -47,7 +47,7 @@ func NewDefaultConfig() *Config { return &Config{ BaseURL: env.GetOrDefaultString(EnvAPIUrl, internal.DefaultBaseURL), TTL: env.GetOrDefaultInt(EnvTTL, 30), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, 5*time.Second), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), @@ -121,9 +121,9 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("digitalocean: could not find zone for domain %q: %w", domain, err) } @@ -146,9 +146,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("digitalocean: could not find zone for domain %q: %w", domain, err) } diff --git a/providers/dns/digitalocean/internal/client.go b/providers/dns/digitalocean/internal/client.go index 5a9b7d75c..264399ff0 100644 --- a/providers/dns/digitalocean/internal/client.go +++ b/providers/dns/digitalocean/internal/client.go @@ -11,7 +11,7 @@ import ( "strconv" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/providers/dns/internal/errutils" "golang.org/x/oauth2" ) @@ -37,7 +37,7 @@ func NewClient(hc *http.Client) *Client { } func (c *Client) AddTxtRecord(ctx context.Context, zone string, record Record) (*TxtRecordResponse, error) { - endpoint := c.BaseURL.JoinPath("v2", "domains", dnsnew.UnFqdn(zone), "records") + endpoint := c.BaseURL.JoinPath("v2", "domains", dns01.UnFqdn(zone), "records") req, err := newJSONRequest(ctx, http.MethodPost, endpoint, record) if err != nil { @@ -55,7 +55,7 @@ func (c *Client) AddTxtRecord(ctx context.Context, zone string, record Record) ( } func (c *Client) RemoveTxtRecord(ctx context.Context, zone string, recordID int) error { - endpoint := c.BaseURL.JoinPath("v2", "domains", dnsnew.UnFqdn(zone), "records", strconv.Itoa(recordID)) + endpoint := c.BaseURL.JoinPath("v2", "domains", dns01.UnFqdn(zone), "records", strconv.Itoa(recordID)) req, err := newJSONRequest(ctx, http.MethodDelete, endpoint, nil) if err != nil { diff --git a/providers/dns/directadmin/directadmin.go b/providers/dns/directadmin/directadmin.go index 4534f4837..6e4f3df46 100644 --- a/providers/dns/directadmin/directadmin.go +++ b/providers/dns/directadmin/directadmin.go @@ -8,7 +8,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/directadmin/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -115,14 +115,14 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) authZone, err := d.getZoneName(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("directadmin: [domain: %q] %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("directadmin: %w", err) } @@ -134,7 +134,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { TTL: d.config.TTL, } - err = d.client.SetRecord(ctx, dnsnew.UnFqdn(authZone), record) + err = d.client.SetRecord(ctx, dns01.UnFqdn(authZone), record) if err != nil { return fmt.Errorf("directadmin: set record for zone %s and subdomain %s: %w", authZone, subDomain, err) } @@ -146,14 +146,14 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) authZone, err := d.getZoneName(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("directadmin: [domain: %q] %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("directadmin: %w", err) } @@ -164,7 +164,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { Value: info.Value, } - err = d.client.DeleteRecord(ctx, dnsnew.UnFqdn(authZone), record) + err = d.client.DeleteRecord(ctx, dns01.UnFqdn(authZone), record) if err != nil { return fmt.Errorf("directadmin: delete record for zone %s and subdomain %s: %w", authZone, subDomain, err) } @@ -177,7 +177,7 @@ func (d *DNSProvider) getZoneName(ctx context.Context, fqdn string) (string, err return d.config.ZoneName, nil } - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, fqdn) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, fqdn) if err != nil { return "", fmt.Errorf("could not find zone for %s: %w", fqdn, err) } diff --git a/providers/dns/dnsexit/dnsexit.go b/providers/dns/dnsexit/dnsexit.go index 30bc0bcf0..114eac173 100644 --- a/providers/dns/dnsexit/dnsexit.go +++ b/providers/dns/dnsexit/dnsexit.go @@ -8,7 +8,7 @@ import ( "net/http" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/dnsexit/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -39,7 +39,7 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 5*time.Minute), PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, 10*time.Second), HTTPClient: &http.Client{ @@ -94,14 +94,14 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("dnsexit: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("dnsexit: %w", err) } @@ -113,7 +113,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { TTL: toMinutes(d.config.TTL), } - err = d.client.AddRecord(ctx, dnsnew.UnFqdn(authZone), record) + err = d.client.AddRecord(ctx, dns01.UnFqdn(authZone), record) if err != nil { return fmt.Errorf("dnsexit: add record: %w", err) } @@ -125,14 +125,14 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("dnsexit: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("dnsexit: %w", err) } @@ -143,7 +143,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { Content: info.Value, } - err = d.client.DeleteRecord(ctx, dnsnew.UnFqdn(authZone), record) + err = d.client.DeleteRecord(ctx, dns01.UnFqdn(authZone), record) if err != nil { return fmt.Errorf("dnsexit: add record: %w", err) } diff --git a/providers/dns/dnshomede/dnshomede.go b/providers/dns/dnshomede/dnshomede.go index 79163ef31..2cbfdb517 100644 --- a/providers/dns/dnshomede/dnshomede.go +++ b/providers/dns/dnshomede/dnshomede.go @@ -8,7 +8,7 @@ import ( "net/http" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/dnshomede/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -39,7 +39,7 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 20*time.Minute), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, 2*time.Minute), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), @@ -106,9 +106,9 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present updates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - err := d.client.Add(ctx, dnsnew.UnFqdn(info.EffectiveFQDN), info.Value) + err := d.client.Add(ctx, dns01.UnFqdn(info.EffectiveFQDN), info.Value) if err != nil { return fmt.Errorf("dnshomede: %w", err) } @@ -119,9 +119,9 @@ func (d *DNSProvider) Present(domain, _, keyAuth string) error { // CleanUp updates the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - err := d.client.Remove(ctx, dnsnew.UnFqdn(info.EffectiveFQDN), info.Value) + err := d.client.Remove(ctx, dns01.UnFqdn(info.EffectiveFQDN), info.Value) if err != nil { return fmt.Errorf("dnshomede: %w", err) } diff --git a/providers/dns/dnsimple/dnsimple.go b/providers/dns/dnsimple/dnsimple.go index f30541264..add97e86c 100644 --- a/providers/dns/dnsimple/dnsimple.go +++ b/providers/dns/dnsimple/dnsimple.go @@ -10,7 +10,7 @@ import ( "github.com/dnsimple/dnsimple-go/v4/dnsimple" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/internal/useragent" @@ -45,10 +45,10 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), Debug: env.GetOrDefaultBool(EnvDebug, false), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), } } @@ -103,7 +103,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zoneName, err := d.getHostedZone(ctx, info.EffectiveFQDN) if err != nil { @@ -132,7 +132,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) records, err := d.findTxtRecords(ctx, info.EffectiveFQDN) if err != nil { @@ -163,7 +163,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { } func (d *DNSProvider) getHostedZone(ctx context.Context, domain string) (string, error) { - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, domain) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, domain) if err != nil { return "", fmt.Errorf("could not find zone for FQDN %q: %w", domain, err) } @@ -173,7 +173,7 @@ func (d *DNSProvider) getHostedZone(ctx context.Context, domain string) (string, return "", err } - hostedZone, err := d.client.Zones.GetZone(ctx, accountID, dnsnew.UnFqdn(authZone)) + hostedZone, err := d.client.Zones.GetZone(ctx, accountID, dns01.UnFqdn(authZone)) if err != nil { return "", fmt.Errorf("get zone: %w", err) } @@ -196,7 +196,7 @@ func (d *DNSProvider) findTxtRecords(ctx context.Context, fqdn string) ([]dnsimp return nil, err } - subDomain, err := dnsnew.ExtractSubDomain(fqdn, zoneName) + subDomain, err := dns01.ExtractSubDomain(fqdn, zoneName) if err != nil { return nil, err } @@ -210,7 +210,7 @@ func (d *DNSProvider) findTxtRecords(ctx context.Context, fqdn string) ([]dnsimp } func newTxtRecord(zoneName, fqdn, value string, ttl int) (dnsimple.ZoneRecordAttributes, error) { - subDomain, err := dnsnew.ExtractSubDomain(fqdn, zoneName) + subDomain, err := dns01.ExtractSubDomain(fqdn, zoneName) if err != nil { return dnsimple.ZoneRecordAttributes{}, err } diff --git a/providers/dns/dnsmadeeasy/dnsmadeeasy.go b/providers/dns/dnsmadeeasy/dnsmadeeasy.go index 8cb38cda9..c2d376c85 100644 --- a/providers/dns/dnsmadeeasy/dnsmadeeasy.go +++ b/providers/dns/dnsmadeeasy/dnsmadeeasy.go @@ -12,7 +12,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/dnsmadeeasy/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -58,9 +58,9 @@ func NewDefaultConfig() *Config { tr.TLSClientConfig = &tls.Config{InsecureSkipVerify: true} return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 10*time.Second), Transport: tr, @@ -134,9 +134,9 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domainName, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domainName, keyAuth) + info := dns01.GetChallengeInfo(ctx, domainName, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("dnsmadeeasy: could not find zone for domain %q: %w", domainName, err) } @@ -163,9 +163,9 @@ func (d *DNSProvider) Present(domainName, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domainName, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domainName, keyAuth) + info := dns01.GetChallengeInfo(ctx, domainName, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("dnsmadeeasy: could not find zone for domain %q: %w", domainName, err) } diff --git a/providers/dns/dnsmadeeasy/internal/client.go b/providers/dns/dnsmadeeasy/internal/client.go index 71c6d10a2..491cee03a 100644 --- a/providers/dns/dnsmadeeasy/internal/client.go +++ b/providers/dns/dnsmadeeasy/internal/client.go @@ -15,7 +15,7 @@ import ( "strconv" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/providers/dns/internal/errutils" ) @@ -59,7 +59,7 @@ func (c *Client) GetDomain(ctx context.Context, authZone string) (*Domain, error endpoint := c.BaseURL.JoinPath("dns", "managed", "name") query := endpoint.Query() - query.Set("domainname", dnsnew.UnFqdn(authZone)) + query.Set("domainname", dns01.UnFqdn(authZone)) endpoint.RawQuery = query.Encode() req, err := newJSONRequest(ctx, http.MethodGet, endpoint, nil) diff --git a/providers/dns/dnspod/dnspod.go b/providers/dns/dnspod/dnspod.go index b3c7a341d..915cb7454 100644 --- a/providers/dns/dnspod/dnspod.go +++ b/providers/dns/dnspod/dnspod.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/nrdcg/dnspod-go" @@ -43,8 +43,8 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, 600), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -97,7 +97,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zoneID, zoneName, err := d.getHostedZone(ctx, info.EffectiveFQDN) if err != nil { @@ -120,7 +120,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zoneID, zoneName, err := d.getHostedZone(ctx, info.EffectiveFQDN) if err != nil { @@ -154,7 +154,7 @@ func (d *DNSProvider) getHostedZone(ctx context.Context, domain string) (string, return "", "", fmt.Errorf("API call failed: %w", err) } - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, domain) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, domain) if err != nil { return "", "", fmt.Errorf("could not find zone: %w", err) } @@ -162,7 +162,7 @@ func (d *DNSProvider) getHostedZone(ctx context.Context, domain string) (string, var hostedZone dnspod.Domain for _, zone := range zones { - if zone.Name == dnsnew.UnFqdn(authZone) { + if zone.Name == dns01.UnFqdn(authZone) { hostedZone = zone } } @@ -175,7 +175,7 @@ func (d *DNSProvider) getHostedZone(ctx context.Context, domain string) (string, } func (d *DNSProvider) newTxtRecord(zone, fqdn, value string, ttl int) (*dnspod.Record, error) { - subDomain, err := dnsnew.ExtractSubDomain(fqdn, zone) + subDomain, err := dns01.ExtractSubDomain(fqdn, zone) if err != nil { return nil, err } @@ -190,7 +190,7 @@ func (d *DNSProvider) newTxtRecord(zone, fqdn, value string, ttl int) (*dnspod.R } func (d *DNSProvider) findTxtRecords(fqdn, zoneID, zoneName string) ([]dnspod.Record, error) { - subDomain, err := dnsnew.ExtractSubDomain(fqdn, zoneName) + subDomain, err := dns01.ExtractSubDomain(fqdn, zoneName) if err != nil { return nil, err } diff --git a/providers/dns/dode/dode.go b/providers/dns/dode/dode.go index b01a770cd..15ecd4bfe 100644 --- a/providers/dns/dode/dode.go +++ b/providers/dns/dode/dode.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/dode/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -41,9 +41,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), - SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dnsnew.DefaultPropagationTimeout), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), + SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dns01.DefaultPropagationTimeout), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -94,7 +94,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) return d.client.UpdateTxtRecord(ctx, info.EffectiveFQDN, info.Value, false) } @@ -102,7 +102,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp clears TXT record. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) return d.client.UpdateTxtRecord(ctx, info.EffectiveFQDN, "", true) } diff --git a/providers/dns/dode/internal/client.go b/providers/dns/dode/internal/client.go index 82331f067..609e5e147 100644 --- a/providers/dns/dode/internal/client.go +++ b/providers/dns/dode/internal/client.go @@ -9,7 +9,7 @@ import ( "net/url" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/providers/dns/internal/errutils" ) @@ -41,7 +41,7 @@ func (c *Client) UpdateTxtRecord(ctx context.Context, fqdn, txt string, clearRec query := endpoint.Query() query.Set("token", c.token) - query.Set("domain", dnsnew.UnFqdn(fqdn)) + query.Set("domain", dns01.UnFqdn(fqdn)) // api call differs per set/delete if clearRecord { diff --git a/providers/dns/domeneshop/domeneshop.go b/providers/dns/domeneshop/domeneshop.go index 25a7dc5f4..4bcc902b3 100644 --- a/providers/dns/domeneshop/domeneshop.go +++ b/providers/dns/domeneshop/domeneshop.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/domeneshop/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -102,7 +102,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, host, err := d.splitDomain(ctx, info.EffectiveFQDN) if err != nil { @@ -126,7 +126,7 @@ func (d *DNSProvider) Present(domain, _, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, host, err := d.splitDomain(ctx, info.EffectiveFQDN) if err != nil { @@ -147,15 +147,15 @@ func (d *DNSProvider) CleanUp(domain, _, keyAuth string) error { // splitDomain splits the hostname from the authoritative zone, and returns both parts (non-fqdn). func (d *DNSProvider) splitDomain(ctx context.Context, fqdn string) (string, string, error) { - zone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, fqdn) + zone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, fqdn) if err != nil { return "", "", fmt.Errorf("could not find zone: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(fqdn, zone) + subDomain, err := dns01.ExtractSubDomain(fqdn, zone) if err != nil { return "", "", err } - return dnsnew.UnFqdn(zone), subDomain, nil + return dns01.UnFqdn(zone), subDomain, nil } diff --git a/providers/dns/dreamhost/dreamhost.go b/providers/dns/dreamhost/dreamhost.go index 6535adff8..0c984aec3 100644 --- a/providers/dns/dreamhost/dreamhost.go +++ b/providers/dns/dreamhost/dreamhost.go @@ -11,7 +11,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/dreamhost/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -99,9 +99,9 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - err := d.client.AddRecord(ctx, dnsnew.UnFqdn(info.EffectiveFQDN), info.Value) + err := d.client.AddRecord(ctx, dns01.UnFqdn(info.EffectiveFQDN), info.Value) if err != nil { return fmt.Errorf("dreamhost: %w", err) } @@ -112,9 +112,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - err := d.client.RemoveRecord(ctx, dnsnew.UnFqdn(info.EffectiveFQDN), info.Value) + err := d.client.RemoveRecord(ctx, dns01.UnFqdn(info.EffectiveFQDN), info.Value) if err != nil { return fmt.Errorf("dreamhost: %w", err) } diff --git a/providers/dns/duckdns/duckdns.go b/providers/dns/duckdns/duckdns.go index f93e2b30a..1097ecbff 100644 --- a/providers/dns/duckdns/duckdns.go +++ b/providers/dns/duckdns/duckdns.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/duckdns/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -42,9 +42,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), - SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dnsnew.DefaultPropagationTimeout), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), + SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dns01.DefaultPropagationTimeout), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -95,17 +95,17 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - return d.client.AddTXTRecord(ctx, dnsnew.UnFqdn(info.EffectiveFQDN), info.Value) + return d.client.AddTXTRecord(ctx, dns01.UnFqdn(info.EffectiveFQDN), info.Value) } // CleanUp clears DuckDNS TXT record. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - return d.client.RemoveTXTRecord(ctx, dnsnew.UnFqdn(info.EffectiveFQDN)) + return d.client.RemoveTXTRecord(ctx, dns01.UnFqdn(info.EffectiveFQDN)) } // Timeout returns the timeout and interval to use when checking for DNS propagation. diff --git a/providers/dns/duckdns/internal/client.go b/providers/dns/duckdns/internal/client.go index bcc238610..d27ce3f65 100644 --- a/providers/dns/duckdns/internal/client.go +++ b/providers/dns/duckdns/internal/client.go @@ -10,7 +10,7 @@ import ( "strings" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/providers/dns/internal/errutils" "github.com/miekg/dns" ) @@ -90,7 +90,7 @@ func (c *Client) UpdateTxtRecord(ctx context.Context, domain, txt string, clearR // not in format subsubdomain.subdomain.duckdns.org. // So strip off everything that is not top 3 levels. func getMainDomain(domain string) string { - domain = dnsnew.UnFqdn(domain) + domain = dns01.UnFqdn(domain) split := dns.Split(domain) if strings.HasSuffix(strings.ToLower(domain), "duckdns.org") { diff --git a/providers/dns/dyn/dyn.go b/providers/dns/dyn/dyn.go index 79d2b48ef..e599f92bb 100644 --- a/providers/dns/dyn/dyn.go +++ b/providers/dns/dyn/dyn.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/dyn/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -45,9 +45,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 10*time.Second), }, @@ -102,9 +102,9 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("dyn: could not find zone for domain %q: %w", domain, err) } @@ -131,9 +131,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("dyn: could not find zone for domain %q: %w", domain, err) } diff --git a/providers/dns/dyndnsfree/dyndnsfree.go b/providers/dns/dyndnsfree/dyndnsfree.go index dd64a873f..fd35e2922 100644 --- a/providers/dns/dyndnsfree/dyndnsfree.go +++ b/providers/dns/dyndnsfree/dyndnsfree.go @@ -8,7 +8,7 @@ import ( "net/http" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/dyndnsfree/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -39,8 +39,8 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -94,14 +94,14 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("dyndnsforfree: could not find zone for domain %q: %w", domain, err) } - err = d.client.AddTXTRecord(ctx, dnsnew.UnFqdn(authZone), dnsnew.UnFqdn(info.EffectiveFQDN), info.Value) + err = d.client.AddTXTRecord(ctx, dns01.UnFqdn(authZone), dns01.UnFqdn(info.EffectiveFQDN), info.Value) if err != nil { return fmt.Errorf("dyndnsfree: add record: %w", err) } diff --git a/providers/dns/dynu/dynu.go b/providers/dns/dynu/dynu.go index eab28f376..04f8446f9 100644 --- a/providers/dns/dynu/dynu.go +++ b/providers/dns/dynu/dynu.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/dynu/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -102,26 +102,26 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - rootDomain, err := d.client.GetRootDomain(ctx, dnsnew.UnFqdn(info.EffectiveFQDN)) + rootDomain, err := d.client.GetRootDomain(ctx, dns01.UnFqdn(info.EffectiveFQDN)) if err != nil { return fmt.Errorf("dynu: could not find root domain for %s: %w", domain, err) } - records, err := d.client.GetRecords(ctx, dnsnew.UnFqdn(info.EffectiveFQDN), "TXT") + records, err := d.client.GetRecords(ctx, dns01.UnFqdn(info.EffectiveFQDN), "TXT") if err != nil { return fmt.Errorf("dynu: failed to get records for %s: %w", domain, err) } for _, record := range records { // the record already exist - if record.Hostname == dnsnew.UnFqdn(info.EffectiveFQDN) && record.TextData == info.Value { + if record.Hostname == dns01.UnFqdn(info.EffectiveFQDN) && record.TextData == info.Value { return nil } } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, rootDomain.DomainName) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, rootDomain.DomainName) if err != nil { return fmt.Errorf("dynu: %w", err) } @@ -129,7 +129,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { record := internal.DNSRecord{ Type: "TXT", DomainName: rootDomain.DomainName, - Hostname: dnsnew.UnFqdn(info.EffectiveFQDN), + Hostname: dns01.UnFqdn(info.EffectiveFQDN), NodeName: subDomain, TextData: info.Value, State: true, @@ -147,20 +147,20 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - rootDomain, err := d.client.GetRootDomain(ctx, dnsnew.UnFqdn(info.EffectiveFQDN)) + rootDomain, err := d.client.GetRootDomain(ctx, dns01.UnFqdn(info.EffectiveFQDN)) if err != nil { return fmt.Errorf("dynu: could not find root domain for %s: %w", domain, err) } - records, err := d.client.GetRecords(ctx, dnsnew.UnFqdn(info.EffectiveFQDN), "TXT") + records, err := d.client.GetRecords(ctx, dns01.UnFqdn(info.EffectiveFQDN), "TXT") if err != nil { return fmt.Errorf("dynu: failed to get records for %s: %w", domain, err) } for _, record := range records { - if record.Hostname == dnsnew.UnFqdn(info.EffectiveFQDN) && record.TextData == info.Value { + if record.Hostname == dns01.UnFqdn(info.EffectiveFQDN) && record.TextData == info.Value { err = d.client.DeleteRecord(ctx, rootDomain.ID, record.ID) if err != nil { return fmt.Errorf("dynu: failed to remove TXT record for %s: %w", domain, err) diff --git a/providers/dns/easydns/easydns.go b/providers/dns/easydns/easydns.go index 6a1a60dd8..a2b547273 100644 --- a/providers/dns/easydns/easydns.go +++ b/providers/dns/easydns/easydns.go @@ -13,7 +13,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/easydns/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -51,10 +51,10 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), - SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dnsnew.DefaultPropagationTimeout), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), + SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dns01.DefaultPropagationTimeout), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -125,9 +125,9 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := d.findZone(ctx, dnsnew.UnFqdn(info.EffectiveFQDN)) + authZone, err := d.findZone(ctx, dns01.UnFqdn(info.EffectiveFQDN)) if err != nil { return fmt.Errorf("easydns: %w", err) } @@ -136,7 +136,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { return fmt.Errorf("easydns: could not find zone for domain %q", domain) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("easydns: %w", err) } @@ -150,7 +150,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { Priority: "0", } - recordID, err := d.client.AddRecord(ctx, dnsnew.UnFqdn(authZone), record) + recordID, err := d.client.AddRecord(ctx, dns01.UnFqdn(authZone), record) if err != nil { return fmt.Errorf("easydns: error adding zone record: %w", err) } @@ -168,7 +168,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) key := getMapKey(info.EffectiveFQDN, info.Value) @@ -180,7 +180,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { return nil } - authZone, err := d.findZone(ctx, dnsnew.UnFqdn(info.EffectiveFQDN)) + authZone, err := d.findZone(ctx, dns01.UnFqdn(info.EffectiveFQDN)) if err != nil { return fmt.Errorf("easydns: %w", err) } @@ -189,7 +189,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { return fmt.Errorf("easydns: could not find zone for domain %q", domain) } - err = d.client.DeleteRecord(ctx, dnsnew.UnFqdn(authZone), recordID) + err = d.client.DeleteRecord(ctx, dns01.UnFqdn(authZone), recordID) if err != nil { return fmt.Errorf("easydns: %w", err) } diff --git a/providers/dns/edgecenter/edgecenter.go b/providers/dns/edgecenter/edgecenter.go index 0a2b7f4b4..997912840 100644 --- a/providers/dns/edgecenter/edgecenter.go +++ b/providers/dns/edgecenter/edgecenter.go @@ -8,7 +8,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/gcore" ) @@ -35,7 +35,7 @@ type Config = gcore.Config // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, gcore.DefaultPropagationTimeout), PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, gcore.DefaultPollingInterval), HTTPClient: &http.Client{ diff --git a/providers/dns/edgedns/edgedns.go b/providers/dns/edgedns/edgedns.go index 7159f8d53..23504dedb 100644 --- a/providers/dns/edgedns/edgedns.go +++ b/providers/dns/edgedns/edgedns.go @@ -14,7 +14,7 @@ import ( "github.com/akamai/AkamaiOPEN-edgegrid-golang/v11/pkg/edgegrid" "github.com/akamai/AkamaiOPEN-edgegrid-golang/v11/pkg/session" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" ) @@ -61,7 +61,7 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, defaultPropagationTimeout), PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, defaultPollInterval), Config: &edgegrid.Config{MaxBody: maxBody}, @@ -129,7 +129,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) sess, err := session.New(session.WithSigner(d.config)) if err != nil { @@ -203,7 +203,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) sess, err := session.New(session.WithSigner(d.config)) if err != nil { @@ -278,12 +278,12 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { } func getZone(ctx context.Context, domain string) (string, error) { - zone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, domain) + zone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, domain) if err != nil { return "", fmt.Errorf("could not find zone for FQDN %q: %w", domain, err) } - return dnsnew.UnFqdn(zone), nil + return dns01.UnFqdn(zone), nil } func containsValue(values []string, value string) bool { @@ -302,7 +302,7 @@ func isNotFound(err error) bool { return errors.As(err, &e) && e.StatusCode == http.StatusNotFound } -func filterRData(existingRec *edgegriddns.GetRecordResponse, info dnsnew.ChallengeInfo) []string { +func filterRData(existingRec *edgegriddns.GetRecordResponse, info dns01.ChallengeInfo) []string { var newRData []string for _, val := range existingRec.Target { diff --git a/providers/dns/edgedns/edgedns_integration_test.go b/providers/dns/edgedns/edgedns_integration_test.go index 4bbb1644c..5345597a2 100644 --- a/providers/dns/edgedns/edgedns_integration_test.go +++ b/providers/dns/edgedns/edgedns_integration_test.go @@ -8,7 +8,7 @@ import ( edgegriddns "github.com/akamai/AkamaiOPEN-edgegrid-golang/v11/pkg/dns" "github.com/akamai/AkamaiOPEN-edgegrid-golang/v11/pkg/session" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -95,7 +95,7 @@ func TestLiveTTL(t *testing.T) { t.Run(fmt.Sprintf("testing record set %d", i), func(t *testing.T) { assert.Equal(t, fqdn, rrset.Name) assert.Equal(t, "TXT", rrset.Type) - assert.Equal(t, dnsnew.DefaultTTL, rrset.TTL) + assert.Equal(t, dns01.DefaultTTL, rrset.TTL) }) } } diff --git a/providers/dns/edgedns/edgedns_test.go b/providers/dns/edgedns/edgedns_test.go index 64c628be7..7cf9eb77b 100644 --- a/providers/dns/edgedns/edgedns_test.go +++ b/providers/dns/edgedns/edgedns_test.go @@ -5,7 +5,7 @@ import ( "time" "github.com/akamai/AkamaiOPEN-edgegrid-golang/v11/pkg/edgegrid" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/tester" "github.com/stretchr/testify/require" ) @@ -181,7 +181,7 @@ func TestNewDefaultConfig(t *testing.T) { { desc: "default configuration", expected: &Config{ - TTL: dnsnew.DefaultTTL, + TTL: dns01.DefaultTTL, PropagationTimeout: 3 * time.Minute, PollingInterval: 15 * time.Second, Config: &edgegrid.Config{ diff --git a/providers/dns/edgeone/edgeone.go b/providers/dns/edgeone/edgeone.go index 8fd790715..3fcf51cc2 100644 --- a/providers/dns/edgeone/edgeone.go +++ b/providers/dns/edgeone/edgeone.go @@ -9,7 +9,7 @@ import ( "sync" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/ptr" teo "github.com/go-acme/tencentedgdeone/v20220901" @@ -128,14 +128,14 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zoneID, err := d.getHostedZoneID(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("edgeone: failed to get hosted zone: %w", err) } - punnyCoded, err := idna.ToASCII(dnsnew.UnFqdn(info.EffectiveFQDN)) + punnyCoded, err := idna.ToASCII(dns01.UnFqdn(info.EffectiveFQDN)) if err != nil { return fmt.Errorf("edgeone: fail to convert punycode: %w", err) } @@ -162,7 +162,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zoneID, err := d.getHostedZoneID(ctx, info.EffectiveFQDN) if err != nil { diff --git a/providers/dns/edgeone/wrapper.go b/providers/dns/edgeone/wrapper.go index 40c422ea6..5f707ad73 100644 --- a/providers/dns/edgeone/wrapper.go +++ b/providers/dns/edgeone/wrapper.go @@ -4,13 +4,13 @@ import ( "context" "fmt" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/providers/dns/internal/ptr" teo "github.com/go-acme/tencentedgdeone/v20220901" ) func (d *DNSProvider) getHostedZoneID(ctx context.Context, domain string) (*string, error) { - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, domain) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, domain) if err != nil { return nil, fmt.Errorf("could not find zone: %w", err) } @@ -44,7 +44,7 @@ func (d *DNSProvider) getHostedZoneID(ctx context.Context, domain string) (*stri var hostedZone *teo.Zone for _, zone := range zones { - unfqdn := dnsnew.UnFqdn(authZone) + unfqdn := dns01.UnFqdn(authZone) if ptr.Deref(zone.ZoneName) == unfqdn { hostedZone = zone } diff --git a/providers/dns/efficientip/efficientip.go b/providers/dns/efficientip/efficientip.go index e7bf98f22..ca5556637 100644 --- a/providers/dns/efficientip/efficientip.go +++ b/providers/dns/efficientip/efficientip.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/efficientip/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -50,8 +50,8 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 10*time.Second), }, @@ -124,10 +124,10 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) r := internal.ResourceRecord{ - RRName: dnsnew.UnFqdn(info.EffectiveFQDN), + RRName: dns01.UnFqdn(info.EffectiveFQDN), RRType: "TXT", Value1: info.Value, DNSName: d.config.DNSName, @@ -144,10 +144,10 @@ func (d *DNSProvider) Present(domain, _, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) params := internal.DeleteInputParameters{ - RRName: dnsnew.UnFqdn(info.EffectiveFQDN), + RRName: dns01.UnFqdn(info.EffectiveFQDN), RRType: "TXT", RRValue1: info.Value, DNSName: d.config.DNSName, diff --git a/providers/dns/epik/epik.go b/providers/dns/epik/epik.go index e02baf369..ab150a792 100644 --- a/providers/dns/epik/epik.go +++ b/providers/dns/epik/epik.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/epik/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -43,8 +43,8 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, 3600), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -102,15 +102,15 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // find authZone - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("epik: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("epik: %w", err) } @@ -122,7 +122,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { TTL: d.config.TTL, } - _, err = d.client.CreateHostRecord(ctx, dnsnew.UnFqdn(authZone), record) + _, err = d.client.CreateHostRecord(ctx, dns01.UnFqdn(authZone), record) if err != nil { return fmt.Errorf("epik: %w", err) } @@ -134,22 +134,22 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // find authZone - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("epik: could not find zone for domain %q: %w", domain, err) } - dom := dnsnew.UnFqdn(authZone) + dom := dns01.UnFqdn(authZone) records, err := d.client.GetDNSRecords(ctx, dom) if err != nil { return fmt.Errorf("epik: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("epik: %w", err) } diff --git a/providers/dns/exec/exec.go b/providers/dns/exec/exec.go index 7f6d041a8..aa3ea9ee9 100644 --- a/providers/dns/exec/exec.go +++ b/providers/dns/exec/exec.go @@ -11,7 +11,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/log" "github.com/go-acme/lego/v5/platform/config/env" ) @@ -42,9 +42,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), - SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dnsnew.DefaultPropagationTimeout), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), + SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dns01.DefaultPropagationTimeout), } } @@ -115,7 +115,7 @@ func (d *DNSProvider) run(ctx context.Context, command, domain, token, keyAuth s if d.config.Mode == "RAW" { args = []string{command, "--", domain, token, keyAuth} } else { - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) args = []string{command, info.EffectiveFQDN, info.Value} } diff --git a/providers/dns/exoscale/exoscale.go b/providers/dns/exoscale/exoscale.go index eb5794ead..0f2450479 100644 --- a/providers/dns/exoscale/exoscale.go +++ b/providers/dns/exoscale/exoscale.go @@ -12,7 +12,7 @@ import ( egoscale "github.com/exoscale/egoscale/v3" "github.com/exoscale/egoscale/v3/credentials" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/internal/useragent" @@ -48,9 +48,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: int64(env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL)), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: int64(env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL)), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPTimeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 60*time.Second), } } @@ -107,7 +107,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zoneName, recordName, err := d.findZoneAndRecordName(ctx, info.EffectiveFQDN) if err != nil { @@ -147,7 +147,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zoneName, recordName, err := d.findZoneAndRecordName(ctx, info.EffectiveFQDN) if err != nil { @@ -228,14 +228,14 @@ func (d *DNSProvider) findExistingRecordID(ctx context.Context, zoneID egoscale. // findZoneAndRecordName Extract DNS zone and DNS entry name. func (d *DNSProvider) findZoneAndRecordName(ctx context.Context, fqdn string) (string, string, error) { - zone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, fqdn) + zone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, fqdn) if err != nil { return "", "", fmt.Errorf("could not find zone: %w", err) } - zone = dnsnew.UnFqdn(zone) + zone = dns01.UnFqdn(zone) - subDomain, err := dnsnew.ExtractSubDomain(fqdn, zone) + subDomain, err := dns01.ExtractSubDomain(fqdn, zone) if err != nil { return "", "", err } diff --git a/providers/dns/f5xc/f5xc.go b/providers/dns/f5xc/f5xc.go index 449e70e61..d2ce9077d 100644 --- a/providers/dns/f5xc/f5xc.go +++ b/providers/dns/f5xc/f5xc.go @@ -9,7 +9,7 @@ import ( "time" "github.com/cenkalti/backoff/v5" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/platform/wait" "github.com/go-acme/lego/v5/providers/dns/f5xc/internal" @@ -47,9 +47,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -109,19 +109,19 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("f5xc: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("f5xc: %w", err) } - existingRRSet, err := d.client.GetRRSet(ctx, dnsnew.UnFqdn(authZone), d.config.GroupName, subDomain, "TXT") + existingRRSet, err := d.client.GetRRSet(ctx, dns01.UnFqdn(authZone), d.config.GroupName, subDomain, "TXT") if err != nil { return fmt.Errorf("f5xc: get RR Set: %w", err) } @@ -138,7 +138,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { } return d.waitFor(ctx, func() error { - _, err = d.client.CreateRRSet(ctx, dnsnew.UnFqdn(authZone), d.config.GroupName, rrSet) + _, err = d.client.CreateRRSet(ctx, dns01.UnFqdn(authZone), d.config.GroupName, rrSet) if err != nil { return fmt.Errorf("create RR set: %w", err) } @@ -151,7 +151,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { existingRRSet.RRSet.TXTRecord.Values = append(existingRRSet.RRSet.TXTRecord.Values, info.Value) return d.waitFor(ctx, func() error { - _, err = d.client.ReplaceRRSet(ctx, dnsnew.UnFqdn(authZone), d.config.GroupName, subDomain, "TXT", existingRRSet.RRSet) + _, err = d.client.ReplaceRRSet(ctx, dns01.UnFqdn(authZone), d.config.GroupName, subDomain, "TXT", existingRRSet.RRSet) if err != nil { return fmt.Errorf("replace RR set: %w", err) } @@ -176,19 +176,19 @@ func (d *DNSProvider) waitFor(ctx context.Context, operation func() error) error func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("f5xc: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("f5xc: %w", err) } - _, err = d.client.DeleteRRSet(ctx, dnsnew.UnFqdn(authZone), d.config.GroupName, subDomain, "TXT") + _, err = d.client.DeleteRRSet(ctx, dns01.UnFqdn(authZone), d.config.GroupName, subDomain, "TXT") if err != nil { return fmt.Errorf("f5xc: delete RR set: %w", err) } diff --git a/providers/dns/freemyip/freemyip.go b/providers/dns/freemyip/freemyip.go index 40f2eaff7..b071ff9c9 100644 --- a/providers/dns/freemyip/freemyip.go +++ b/providers/dns/freemyip/freemyip.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/nrdcg/freemyip" @@ -44,9 +44,9 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, 3600), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), - SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dnsnew.DefaultPropagationTimeout), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), + SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dns01.DefaultPropagationTimeout), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -112,9 +112,9 @@ func (d *DNSProvider) Sequential() time.Duration { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, freemyip.RootDomain) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, freemyip.RootDomain) if err != nil { return fmt.Errorf("freemyip: %w", err) } @@ -130,9 +130,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, freemyip.RootDomain) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, freemyip.RootDomain) if err != nil { return fmt.Errorf("freemyip: %w", err) } diff --git a/providers/dns/gandi/gandi.go b/providers/dns/gandi/gandi.go index 7624f9400..6f7cfea63 100644 --- a/providers/dns/gandi/gandi.go +++ b/providers/dns/gandi/gandi.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/gandi/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -117,7 +117,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { client: client, inProgressFQDNs: make(map[string]inProgressInfo), inProgressAuthZones: make(map[string]struct{}), - findZoneByFqdn: dnsnew.DefaultClient().FindZoneByFqdn, + findZoneByFqdn: dns01.DefaultClient().FindZoneByFqdn, }, nil } @@ -127,7 +127,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) if d.config.TTL < minTTL { d.config.TTL = minTTL // 300 is gandi minimum value for ttl @@ -145,7 +145,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { } // determine name of TXT record - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("gandi: %w", err) } @@ -161,7 +161,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // perform API actions to create and activate new gandi zone // containing the required TXT record - newZoneName := fmt.Sprintf("%s [ACME Challenge %s]", dnsnew.UnFqdn(authZone), time.Now().Format(time.RFC822Z)) + newZoneName := fmt.Sprintf("%s [ACME Challenge %s]", dns01.UnFqdn(authZone), time.Now().Format(time.RFC822Z)) newZoneID, err := d.client.CloneZone(ctx, zoneID, newZoneName) if err != nil { @@ -204,7 +204,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // removing the temporary one created by Present. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // acquire lock and retrieve zoneID, newZoneID and authZone d.inProgressMu.Lock() diff --git a/providers/dns/gandiv5/gandiv5.go b/providers/dns/gandiv5/gandiv5.go index b72e3ba28..895b57b55 100644 --- a/providers/dns/gandiv5/gandiv5.go +++ b/providers/dns/gandiv5/gandiv5.go @@ -11,7 +11,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/log" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/gandiv5/internal" @@ -128,7 +128,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { config: config, client: client, inProgressFQDNs: make(map[string]inProgressInfo), - findZoneByFqdn: dnsnew.DefaultClient().FindZoneByFqdn, + findZoneByFqdn: dns01.DefaultClient().FindZoneByFqdn, }, nil } @@ -136,7 +136,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // find authZone authZone, err := d.findZoneByFqdn(ctx, info.EffectiveFQDN) @@ -145,7 +145,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { } // determine name of TXT record - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("gandiv5: %w", err) } @@ -156,7 +156,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { defer d.inProgressMu.Unlock() // add TXT record into authZone - err = d.client.AddTXTRecord(ctx, dnsnew.UnFqdn(authZone), subDomain, info.Value, d.config.TTL) + err = d.client.AddTXTRecord(ctx, dns01.UnFqdn(authZone), subDomain, info.Value, d.config.TTL) if err != nil { return err } @@ -173,7 +173,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // acquire lock and retrieve authZone d.inProgressMu.Lock() @@ -189,7 +189,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { delete(d.inProgressFQDNs, info.EffectiveFQDN) // delete TXT record from authZone - err := d.client.DeleteTXTRecord(ctx, dnsnew.UnFqdn(authZone), fieldName) + err := d.client.DeleteTXTRecord(ctx, dns01.UnFqdn(authZone), fieldName) if err != nil { return fmt.Errorf("gandiv5: %w", err) } diff --git a/providers/dns/gcloud/googlecloud.go b/providers/dns/gcloud/googlecloud.go index cf6ff07f6..85cf6d41d 100644 --- a/providers/dns/gcloud/googlecloud.go +++ b/providers/dns/gcloud/googlecloud.go @@ -14,7 +14,7 @@ import ( "cloud.google.com/go/compute/metadata" "github.com/cenkalti/backoff/v5" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/log" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/platform/wait" @@ -68,7 +68,7 @@ func NewDefaultConfig() *Config { ZoneID: env.GetOrDefaultString(EnvZoneID, ""), AllowPrivateZone: env.GetOrDefaultBool(EnvAllowPrivateZone, false), ImpersonateServiceAccount: env.GetOrDefaultString(EnvImpersonateServiceAccount, ""), - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 180*time.Second), PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, 5*time.Second), } @@ -191,7 +191,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.getHostedZone(ctx, info.EffectiveFQDN) if err != nil { @@ -305,7 +305,7 @@ func (d *DNSProvider) applyChanges(ctx context.Context, zone string, change *gdn // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.getHostedZone(ctx, info.EffectiveFQDN) if err != nil { @@ -382,7 +382,7 @@ func (d *DNSProvider) lookupHostedZoneID(ctx context.Context, domain string) (st return zone.DnsName, []*gdns.ManagedZone{zone}, nil } - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, dns.Fqdn(domain)) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, dns.Fqdn(domain)) if err != nil { return "", nil, fmt.Errorf("could not find zone: %w", err) } diff --git a/providers/dns/gcore/gcore.go b/providers/dns/gcore/gcore.go index 759708164..be07a5107 100644 --- a/providers/dns/gcore/gcore.go +++ b/providers/dns/gcore/gcore.go @@ -8,7 +8,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/gcore" ) @@ -33,7 +33,7 @@ type Config = gcore.Config // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, gcore.DefaultPropagationTimeout), PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, gcore.DefaultPollingInterval), HTTPClient: &http.Client{ diff --git a/providers/dns/gigahostno/gigahostno.go b/providers/dns/gigahostno/gigahostno.go index 7c81cf5fc..711a2f29f 100644 --- a/providers/dns/gigahostno/gigahostno.go +++ b/providers/dns/gigahostno/gigahostno.go @@ -9,7 +9,7 @@ import ( "sync" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/gigahostno/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -44,9 +44,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -115,7 +115,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) err := d.authenticate(ctx) if err != nil { @@ -129,7 +129,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { return fmt.Errorf("gigahostno: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zone.Name) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zone.Name) if err != nil { return fmt.Errorf("gigahostno: %w", err) } @@ -153,7 +153,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) err := d.authenticate(ctx) if err != nil { @@ -167,7 +167,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { return fmt.Errorf("gigahostno: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zone.Name) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zone.Name) if err != nil { return fmt.Errorf("gigahostno: %w", err) } @@ -221,7 +221,7 @@ func (d *DNSProvider) findZone(ctx context.Context, fqdn string) (*internal.Zone return nil, fmt.Errorf("get zones: %w", err) } - for d := range dnsnew.UnFqdnDomainsSeq(fqdn) { + for d := range dns01.UnFqdnDomainsSeq(fqdn) { for _, zone := range zones { if zone.Name == d && zone.Active == "1" { return &zone, nil diff --git a/providers/dns/glesys/glesys.go b/providers/dns/glesys/glesys.go index ae3def481..c06677fc2 100644 --- a/providers/dns/glesys/glesys.go +++ b/providers/dns/glesys/glesys.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/glesys/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -113,15 +113,15 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // find authZone - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("glesys: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("glesys: %w", err) } @@ -131,7 +131,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { defer d.inProgressMu.Unlock() // add TXT record into authZone - recordID, err := d.client.AddTXTRecord(ctx, dnsnew.UnFqdn(authZone), subDomain, info.Value, d.config.TTL) + recordID, err := d.client.AddTXTRecord(ctx, dns01.UnFqdn(authZone), subDomain, info.Value, d.config.TTL) if err != nil { return err } @@ -145,7 +145,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // acquire lock and retrieve authZone d.inProgressMu.Lock() diff --git a/providers/dns/godaddy/godaddy.go b/providers/dns/godaddy/godaddy.go index 9f57c621e..f514e85c9 100644 --- a/providers/dns/godaddy/godaddy.go +++ b/providers/dns/godaddy/godaddy.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/godaddy/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -47,7 +47,7 @@ func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, minTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 120*time.Second), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -111,16 +111,16 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("godaddy: could not find zone for domain %q: %w", domain, err) } - authZone = dnsnew.UnFqdn(authZone) + authZone = dns01.UnFqdn(authZone) - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("godaddy: %w", err) } @@ -158,16 +158,16 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("godaddy: could not find zone for domain %q: %w", domain, err) } - authZone = dnsnew.UnFqdn(authZone) + authZone = dns01.UnFqdn(authZone) - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("godaddy: %w", err) } diff --git a/providers/dns/googledomains/googledomains.go b/providers/dns/googledomains/googledomains.go index e9a539b68..2813f4ea6 100644 --- a/providers/dns/googledomains/googledomains.go +++ b/providers/dns/googledomains/googledomains.go @@ -7,7 +7,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" ) // Environment variables names. @@ -56,5 +56,5 @@ func (d *DNSProvider) CleanUp(_, _, _ string) error { } func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { - return dnsnew.DefaultPropagationTimeout, dnsnew.DefaultPollingInterval + return dns01.DefaultPropagationTimeout, dns01.DefaultPollingInterval } diff --git a/providers/dns/gravity/gravity.go b/providers/dns/gravity/gravity.go index 780901ebc..12978dbcf 100644 --- a/providers/dns/gravity/gravity.go +++ b/providers/dns/gravity/gravity.go @@ -9,7 +9,7 @@ import ( "sync" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/gravity/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -45,8 +45,8 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, 1*time.Second), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), @@ -106,7 +106,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) _, err := d.client.Login(ctx) if err != nil { @@ -118,7 +118,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { return fmt.Errorf("gravity: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zone) if err != nil { return fmt.Errorf("gravity: %w", err) } @@ -149,7 +149,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) d.recordsMu.Lock() record, ok := d.records[token] @@ -190,7 +190,7 @@ func (d *DNSProvider) Sequential() time.Duration { func (d *DNSProvider) findZone(ctx context.Context, effectiveFQDN string) (string, error) { var zone string - for fqdn := range dnsnew.DomainsSeq(effectiveFQDN) { + for fqdn := range dns01.DomainsSeq(effectiveFQDN) { zones, err := d.client.GetDNSZones(ctx, fqdn) if err != nil { return "", fmt.Errorf("get DNS zones: %w", err) diff --git a/providers/dns/hetzner/hetzner.go b/providers/dns/hetzner/hetzner.go index 729c1943f..c3410c1c9 100644 --- a/providers/dns/hetzner/hetzner.go +++ b/providers/dns/hetzner/hetzner.go @@ -7,7 +7,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/log" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/hetzner/internal/hetznerv1" @@ -48,7 +48,7 @@ func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, minTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 120*time.Second), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, diff --git a/providers/dns/hetzner/internal/hetznerv1/hetznerv1.go b/providers/dns/hetzner/internal/hetznerv1/hetznerv1.go index c2e36351c..1a95011ad 100644 --- a/providers/dns/hetzner/internal/hetznerv1/hetznerv1.go +++ b/providers/dns/hetzner/internal/hetznerv1/hetznerv1.go @@ -10,7 +10,7 @@ import ( "time" "github.com/cenkalti/backoff/v5" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/platform/wait" "github.com/go-acme/lego/v5/providers/dns/hetzner/internal/hetznerv1/internal" @@ -43,9 +43,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -100,24 +100,24 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("hetzner: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("hetzner: %w", err) } - subDomainPunnycoded, err := idna.ToASCII(dnsnew.UnFqdn(subDomain)) + subDomainPunnycoded, err := idna.ToASCII(dns01.UnFqdn(subDomain)) if err != nil { return fmt.Errorf("hetzner: %w", err) } - zone, err := idna.ToASCII(dnsnew.UnFqdn(authZone)) + zone, err := idna.ToASCII(dns01.UnFqdn(authZone)) if err != nil { return fmt.Errorf("hetzner: %w", err) } @@ -141,24 +141,24 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("hetzner: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("hetzner: %w", err) } - subDomainPunnycoded, err := idna.ToASCII(dnsnew.UnFqdn(subDomain)) + subDomainPunnycoded, err := idna.ToASCII(dns01.UnFqdn(subDomain)) if err != nil { return fmt.Errorf("hetzner: %w", err) } - zone, err := idna.ToASCII(dnsnew.UnFqdn(authZone)) + zone, err := idna.ToASCII(dns01.UnFqdn(authZone)) if err != nil { return fmt.Errorf("hetzner: %w", err) } diff --git a/providers/dns/hetzner/internal/legacy/hetzner.go b/providers/dns/hetzner/internal/legacy/hetzner.go index de2769769..f1289f8e1 100644 --- a/providers/dns/hetzner/internal/legacy/hetzner.go +++ b/providers/dns/hetzner/internal/legacy/hetzner.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/hetzner/internal/legacy/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -45,7 +45,7 @@ func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, minTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 120*time.Second), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -107,21 +107,21 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("hetzner (legacy): could not find zone for domain %q: %w", domain, err) } - zone := dnsnew.UnFqdn(authZone) + zone := dns01.UnFqdn(authZone) zoneID, err := d.client.GetZoneID(ctx, zone) if err != nil { return fmt.Errorf("hetzner (legacy): %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zone) if err != nil { return fmt.Errorf("hetzner (legacy): %w", err) } @@ -145,21 +145,21 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("hetzner (legacy): could not find zone for domain %q: %w", domain, err) } - zone := dnsnew.UnFqdn(authZone) + zone := dns01.UnFqdn(authZone) zoneID, err := d.client.GetZoneID(ctx, zone) if err != nil { return fmt.Errorf("hetzner (legacy): %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zone) if err != nil { return fmt.Errorf("hetzner (legacy): %w", err) } diff --git a/providers/dns/hostingde/hostingde.go b/providers/dns/hostingde/hostingde.go index 8ecbe602d..a03e32a8a 100644 --- a/providers/dns/hostingde/hostingde.go +++ b/providers/dns/hostingde/hostingde.go @@ -8,7 +8,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/hostingde" ) @@ -35,9 +35,9 @@ type Config = hostingde.Config func NewDefaultConfig() *Config { return &Config{ ZoneName: env.GetOrFile(EnvZoneName), - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 2*time.Minute), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, diff --git a/providers/dns/hostinger/hostinger.go b/providers/dns/hostinger/hostinger.go index e3e6958b5..77d80fbad 100644 --- a/providers/dns/hostinger/hostinger.go +++ b/providers/dns/hostinger/hostinger.go @@ -9,7 +9,7 @@ import ( "strconv" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/hostinger/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -40,9 +40,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -95,14 +95,14 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("hostinger: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("hostinger: %w", err) } @@ -119,7 +119,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { }}, } - err = d.client.UpdateDNSRecords(ctx, dnsnew.UnFqdn(authZone), request) + err = d.client.UpdateDNSRecords(ctx, dns01.UnFqdn(authZone), request) if err != nil { return fmt.Errorf("hostinger: update DNS records (add): %w", err) } @@ -131,14 +131,14 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("hostinger: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("hostinger: %w", err) } @@ -166,7 +166,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { Zone: []internal.RecordSet{recordSet}, } - err = d.client.UpdateDNSRecords(ctx, dnsnew.UnFqdn(authZone), request) + err = d.client.UpdateDNSRecords(ctx, dns01.UnFqdn(authZone), request) if err != nil { return fmt.Errorf("hostinger: update DNS records (delete): %w", err) } @@ -179,7 +179,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { Type: "TXT", }} - err = d.client.DeleteDNSRecords(ctx, dnsnew.UnFqdn(authZone), filters) + err = d.client.DeleteDNSRecords(ctx, dns01.UnFqdn(authZone), filters) if err != nil { return fmt.Errorf("hostinger: delete DNS records: %w", err) } @@ -194,7 +194,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { } func (d *DNSProvider) findRecordSet(ctx context.Context, authZone, subDomain string) (internal.RecordSet, error) { - recordSets, err := d.client.GetDNSRecords(ctx, dnsnew.UnFqdn(authZone)) + recordSets, err := d.client.GetDNSRecords(ctx, dns01.UnFqdn(authZone)) if err != nil { return internal.RecordSet{}, fmt.Errorf("get DNS records: %w", err) } diff --git a/providers/dns/hostingnl/hostingnl.go b/providers/dns/hostingnl/hostingnl.go index 6c8fc68e4..b40161f54 100644 --- a/providers/dns/hostingnl/hostingnl.go +++ b/providers/dns/hostingnl/hostingnl.go @@ -11,7 +11,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/hostingnl/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -43,9 +43,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 120*time.Second), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 10*time.Second), }, @@ -105,22 +105,22 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("hostingnl: could not find zone for domain %q: %w", domain, err) } record := internal.Record{ - Name: dnsnew.UnFqdn(info.EffectiveFQDN), + Name: dns01.UnFqdn(info.EffectiveFQDN), Type: "TXT", Content: strconv.Quote(info.Value), TTL: d.config.TTL, Priority: 0, } - newRecord, err := d.client.AddRecord(ctx, dnsnew.UnFqdn(authZone), record) + newRecord, err := d.client.AddRecord(ctx, dns01.UnFqdn(authZone), record) if err != nil { return fmt.Errorf("hostingnl: failed to create TXT record, fqdn=%s: %w", info.EffectiveFQDN, err) } @@ -136,9 +136,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("hostingnl: could not find zone for domain %q: %w", domain, err) } @@ -152,7 +152,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { return fmt.Errorf("hostingnl: unknown record ID for '%s' '%s'", info.EffectiveFQDN, token) } - err = d.client.DeleteRecord(ctx, dnsnew.UnFqdn(authZone), recordID) + err = d.client.DeleteRecord(ctx, dns01.UnFqdn(authZone), recordID) if err != nil { return fmt.Errorf("hostingnl: failed to delete TXT record, id=%s: %w", recordID, err) } diff --git a/providers/dns/hosttech/hosttech.go b/providers/dns/hosttech/hosttech.go index 881e5b2ca..bcfa7e017 100644 --- a/providers/dns/hosttech/hosttech.go +++ b/providers/dns/hosttech/hosttech.go @@ -11,7 +11,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/hosttech/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -44,8 +44,8 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, 3600), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -108,19 +108,19 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("hosttech: could not find zone for domain %q: %w", domain, err) } - zone, err := d.client.GetZone(ctx, dnsnew.UnFqdn(authZone)) + zone, err := d.client.GetZone(ctx, dns01.UnFqdn(authZone)) if err != nil { return fmt.Errorf("hosttech: could not find zone for domain %q (%s): %w", domain, authZone, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("hosttech: %w", err) } @@ -148,14 +148,14 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("hosttech: could not find zone for domain %q: %w", domain, err) } - zone, err := d.client.GetZone(ctx, dnsnew.UnFqdn(authZone)) + zone, err := d.client.GetZone(ctx, dns01.UnFqdn(authZone)) if err != nil { return fmt.Errorf("hosttech: could not find zone for domain %q (%s): %w", domain, authZone, err) } diff --git a/providers/dns/httpnet/httpnet.go b/providers/dns/httpnet/httpnet.go index 166235d4c..a2ab0450f 100644 --- a/providers/dns/httpnet/httpnet.go +++ b/providers/dns/httpnet/httpnet.go @@ -8,7 +8,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/hostingde" ) @@ -37,9 +37,9 @@ type Config = hostingde.Config func NewDefaultConfig() *Config { return &Config{ ZoneName: env.GetOrFile(EnvZoneName), - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 2*time.Minute), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, diff --git a/providers/dns/httpreq/httpreq.go b/providers/dns/httpreq/httpreq.go index d639aa218..23a8cf82b 100644 --- a/providers/dns/httpreq/httpreq.go +++ b/providers/dns/httpreq/httpreq.go @@ -12,7 +12,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/internal/errutils" @@ -59,8 +59,8 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -133,7 +133,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { return nil } - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) msg := &message{ FQDN: info.EffectiveFQDN, Value: info.Value, @@ -166,7 +166,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { return nil } - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) msg := &message{ FQDN: info.EffectiveFQDN, Value: info.Value, diff --git a/providers/dns/huaweicloud/huaweicloud.go b/providers/dns/huaweicloud/huaweicloud.go index 7c664a320..990daf191 100644 --- a/providers/dns/huaweicloud/huaweicloud.go +++ b/providers/dns/huaweicloud/huaweicloud.go @@ -12,7 +12,7 @@ import ( "github.com/cenkalti/backoff/v5" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/platform/wait" "github.com/go-acme/lego/v5/providers/dns/huaweicloud/internal" @@ -56,8 +56,8 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TTL: int32(env.GetOrDefaultInt(EnvTTL, 300)), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPTimeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), } } @@ -131,9 +131,9 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("huaweicloud: could not find zone for domain %q: %w", domain, err) } @@ -181,7 +181,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // gets the record's unique ID from when we created it d.recordIDsMu.Lock() @@ -192,7 +192,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { return fmt.Errorf("huaweicloud: unknown record ID for '%s' '%s'", info.EffectiveFQDN, token) } - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("huaweicloud: could not find zone for domain %q: %w", domain, err) } @@ -225,7 +225,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { return d.config.PropagationTimeout, d.config.PollingInterval } -func (d *DNSProvider) getOrCreateRecordSetID(domain, zoneID string, info dnsnew.ChallengeInfo) (string, error) { +func (d *DNSProvider) getOrCreateRecordSetID(domain, zoneID string, info dns01.ChallengeInfo) (string, error) { records, err := d.client.ListRecordSetsByZone(&hwmodel.ListRecordSetsByZoneRequest{ ZoneId: zoneID, Name: ptr.Pointer(info.EffectiveFQDN), diff --git a/providers/dns/hurricane/hurricane.go b/providers/dns/hurricane/hurricane.go index 96a2f2c36..6539637a6 100644 --- a/providers/dns/hurricane/hurricane.go +++ b/providers/dns/hurricane/hurricane.go @@ -8,7 +8,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/hurricane/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -41,8 +41,8 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 300*time.Second), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), - SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dnsnew.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), + SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dns01.DefaultPropagationTimeout), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -97,9 +97,9 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present updates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - err := d.client.UpdateTxtRecord(ctx, dnsnew.UnFqdn(info.EffectiveFQDN), info.Value) + err := d.client.UpdateTxtRecord(ctx, dns01.UnFqdn(info.EffectiveFQDN), info.Value) if err != nil { return fmt.Errorf("hurricane: %w", err) } @@ -110,9 +110,9 @@ func (d *DNSProvider) Present(domain, _, keyAuth string) error { // CleanUp updates the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - err := d.client.UpdateTxtRecord(ctx, dnsnew.UnFqdn(info.EffectiveFQDN), ".") + err := d.client.UpdateTxtRecord(ctx, dns01.UnFqdn(info.EffectiveFQDN), ".") if err != nil { return fmt.Errorf("hurricane: %w", err) } diff --git a/providers/dns/hyperone/hyperone.go b/providers/dns/hyperone/hyperone.go index 94407d643..113f691ce 100644 --- a/providers/dns/hyperone/hyperone.go +++ b/providers/dns/hyperone/hyperone.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/hyperone/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -47,9 +47,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -112,7 +112,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.getHostedZone(ctx, info.EffectiveFQDN) if err != nil { @@ -145,7 +145,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // There is a small possibility that race will cause to delete recordset with records for other DNS Challenges. func (d *DNSProvider) CleanUp(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.getHostedZone(ctx, info.EffectiveFQDN) if err != nil { @@ -195,7 +195,7 @@ func (d *DNSProvider) CleanUp(domain, _, keyAuth string) error { // getHostedZone gets the hosted zone. func (d *DNSProvider) getHostedZone(ctx context.Context, fqdn string) (*internal.Zone, error) { - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, fqdn) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, fqdn) if err != nil { return nil, fmt.Errorf("could not find zone: %w", err) } diff --git a/providers/dns/ibmcloud/ibmcloud.go b/providers/dns/ibmcloud/ibmcloud.go index 4e19a34e0..32a6499cf 100644 --- a/providers/dns/ibmcloud/ibmcloud.go +++ b/providers/dns/ibmcloud/ibmcloud.go @@ -8,7 +8,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/ibmcloud/internal" "github.com/softlayer/softlayer-go/session" @@ -50,9 +50,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPTimeout: env.GetOrDefaultSecond(EnvHTTPTimeout, session.DefaultTimeout), } } @@ -111,7 +111,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // TODO(ldez) replace domain by FQDN to follow CNAME. err := d.wrapper.AddTXTRecord(info.EffectiveFQDN, domain, info.Value, d.config.TTL) @@ -125,7 +125,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // TODO(ldez) replace domain by FQDN to follow CNAME. err := d.wrapper.CleanupTXTRecord(info.EffectiveFQDN, domain) diff --git a/providers/dns/iij/iij.go b/providers/dns/iij/iij.go index 670e8d069..9ecd799df 100644 --- a/providers/dns/iij/iij.go +++ b/providers/dns/iij/iij.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/iij/doapi" "github.com/iij/doapi/protocol" @@ -93,7 +93,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // TODO(ldez) replace domain by FQDN to follow CNAME. err := d.addTxtRecord(domain, info.Value) @@ -107,7 +107,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // TODO(ldez) replace domain by FQDN to follow CNAME. err := d.deleteTxtRecord(domain, info.Value) @@ -231,7 +231,7 @@ func (d *DNSProvider) listZones() ([]string, error) { } func splitDomain(domain string, zones []string) (string, string, error) { - base := dnsnew.UnFqdn(domain) + base := dns01.UnFqdn(domain) for _, index := range dns.Split(base) { zone := base[index:] @@ -242,7 +242,7 @@ func splitDomain(domain string, zones []string) (string, string, error) { baseOwner = "." + baseOwner } - return "_acme-challenge" + dnsnew.UnFqdn(baseOwner), zone, nil + return "_acme-challenge" + dns01.UnFqdn(baseOwner), zone, nil } } diff --git a/providers/dns/iijdpf/iijdpf.go b/providers/dns/iijdpf/iijdpf.go index 5fa31046b..5c241701a 100644 --- a/providers/dns/iijdpf/iijdpf.go +++ b/providers/dns/iijdpf/iijdpf.go @@ -8,7 +8,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/miekg/dns" dpfapi "github.com/mimuret/golang-iij-dpf/pkg/api" @@ -98,7 +98,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zoneID, err := dpfapiutils.GetZoneIdFromServiceCode(ctx, d.client, d.config.ServiceCode) if err != nil { @@ -122,7 +122,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zoneID, err := dpfapiutils.GetZoneIdFromServiceCode(ctx, d.client, d.config.ServiceCode) if err != nil { diff --git a/providers/dns/infoblox/infoblox.go b/providers/dns/infoblox/infoblox.go index 29b7465dd..9ddefe099 100644 --- a/providers/dns/infoblox/infoblox.go +++ b/providers/dns/infoblox/infoblox.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/useragent" infoblox "github.com/infobloxopen/infoblox-go-client/v2" @@ -77,9 +77,9 @@ func NewDefaultConfig() *Config { SSLVerify: env.GetOrDefaultBool(EnvSSLVerify, true), CACertificate: env.GetOrDefaultString(EnvCACertificate, ""), - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPTimeout: env.GetOrDefaultInt(EnvHTTPTimeout, 30), } } @@ -161,7 +161,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) connector, err := infoblox.NewConnector(d.ibConfig, d.ibAuth, d.transportConfig, &infoblox.WapiRequestBuilder{}, &infoblox.WapiHttpRequestor{}) if err != nil { @@ -172,7 +172,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { objectManager := infoblox.NewObjectManager(connector, useragent.Get(), "") - record, err := objectManager.CreateTXTRecord(d.config.DNSView, dnsnew.UnFqdn(info.EffectiveFQDN), info.Value, uint32(d.config.TTL), true, "lego", nil) + record, err := objectManager.CreateTXTRecord(d.config.DNSView, dns01.UnFqdn(info.EffectiveFQDN), info.Value, uint32(d.config.TTL), true, "lego", nil) if err != nil { return fmt.Errorf("infoblox: could not create TXT record for %s: %w", domain, err) } @@ -187,7 +187,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) connector, err := infoblox.NewConnector(d.ibConfig, d.ibAuth, d.transportConfig, &infoblox.WapiRequestBuilder{}, &infoblox.WapiHttpRequestor{}) if err != nil { diff --git a/providers/dns/infomaniak/infomaniak.go b/providers/dns/infomaniak/infomaniak.go index 96007c39f..83eb813a4 100644 --- a/providers/dns/infomaniak/infomaniak.go +++ b/providers/dns/infomaniak/infomaniak.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/infomaniak/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -117,9 +117,9 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - ikDomain, err := d.client.GetDomainByName(ctx, dnsnew.UnFqdn(info.EffectiveFQDN)) + ikDomain, err := d.client.GetDomainByName(ctx, dns01.UnFqdn(info.EffectiveFQDN)) if err != nil { return fmt.Errorf("infomaniak: could not get domain %q: %w", info.EffectiveFQDN, err) } @@ -128,7 +128,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { d.domainIDs[token] = ikDomain.ID d.domainIDsMu.Unlock() - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, ikDomain.CustomerName) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, ikDomain.CustomerName) if err != nil { return fmt.Errorf("infomaniak: %w", err) } @@ -155,7 +155,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) d.recordIDsMu.Lock() recordID, ok := d.recordIDs[token] @@ -175,7 +175,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { err := d.client.DeleteDNSRecord(ctx, domainID, recordID) if err != nil { - return fmt.Errorf("infomaniak: could not delete record %q: %w", dnsnew.UnFqdn(info.EffectiveFQDN), err) + return fmt.Errorf("infomaniak: could not delete record %q: %w", dns01.UnFqdn(info.EffectiveFQDN), err) } // Delete record ID from map diff --git a/providers/dns/infomaniak/internal/client.go b/providers/dns/infomaniak/internal/client.go index 7d58b03ce..58eaa0889 100644 --- a/providers/dns/infomaniak/internal/client.go +++ b/providers/dns/infomaniak/internal/client.go @@ -11,7 +11,7 @@ import ( "strconv" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/providers/dns/internal/errutils" "golang.org/x/oauth2" ) @@ -71,7 +71,7 @@ func (c *Client) DeleteDNSRecord(ctx context.Context, domainID uint64, recordID // GetDomainByName gets a Domain object from its name. func (c *Client) GetDomainByName(ctx context.Context, name string) (*DNSDomain, error) { // Try to find the most specific domain - for n := range dnsnew.UnFqdnDomainsSeq(dnsnew.UnFqdn(name)) { + for n := range dns01.UnFqdnDomainsSeq(dns01.UnFqdn(name)) { domain, err := c.getDomainByName(ctx, n) if err != nil { return nil, err diff --git a/providers/dns/internal/active24/provider.go b/providers/dns/internal/active24/provider.go index 33bdeb390..eb44ffb0a 100644 --- a/providers/dns/internal/active24/provider.go +++ b/providers/dns/internal/active24/provider.go @@ -9,7 +9,7 @@ import ( "strconv" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/providers/dns/internal/active24/internal" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" ) @@ -58,19 +58,19 @@ func NewDNSProviderConfig(config *Config, baseAPIDomain string) (*DNSProvider, e func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return err } - serviceID, err := d.findServiceID(ctx, dnsnew.UnFqdn(authZone)) + serviceID, err := d.findServiceID(ctx, dns01.UnFqdn(authZone)) if err != nil { return fmt.Errorf("find service ID: %w", err) } @@ -94,14 +94,14 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("could not find zone for domain %q: %w", domain, err) } - serviceID, err := d.findServiceID(ctx, dnsnew.UnFqdn(authZone)) + serviceID, err := d.findServiceID(ctx, dns01.UnFqdn(authZone)) if err != nil { return fmt.Errorf("find service ID: %w", err) } @@ -146,10 +146,10 @@ func (d *DNSProvider) findServiceID(ctx context.Context, domain string) (int, er return 0, fmt.Errorf("service not found for domain: %s", domain) } -func (d *DNSProvider) findRecordID(ctx context.Context, serviceID string, info dnsnew.ChallengeInfo) (int, error) { +func (d *DNSProvider) findRecordID(ctx context.Context, serviceID string, info dns01.ChallengeInfo) (int, error) { // NOTE(ldez): Despite the API documentation, the filter doesn't seem to work. filter := internal.RecordFilter{ - Name: dnsnew.UnFqdn(info.EffectiveFQDN), + Name: dns01.UnFqdn(info.EffectiveFQDN), Type: []string{"TXT"}, Content: info.Value, } @@ -164,7 +164,7 @@ func (d *DNSProvider) findRecordID(ctx context.Context, serviceID string, info d continue } - if record.Name != dnsnew.UnFqdn(info.EffectiveFQDN) { + if record.Name != dns01.UnFqdn(info.EffectiveFQDN) { continue } diff --git a/providers/dns/internal/gcore/provider.go b/providers/dns/internal/gcore/provider.go index 4cc8bf694..dd14a8459 100644 --- a/providers/dns/internal/gcore/provider.go +++ b/providers/dns/internal/gcore/provider.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/internal/gcore/internal" ) @@ -68,14 +68,14 @@ func NewDNSProviderConfig(config *Config, baseURL string) (*DNSProvider, error) // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.guessZone(ctx, info.EffectiveFQDN) if err != nil { return err } - err = d.client.AddRRSet(ctx, zone, dnsnew.UnFqdn(info.EffectiveFQDN), info.Value, d.config.TTL) + err = d.client.AddRRSet(ctx, zone, dns01.UnFqdn(info.EffectiveFQDN), info.Value, d.config.TTL) if err != nil { return fmt.Errorf("add txt record: %w", err) } @@ -86,14 +86,14 @@ func (d *DNSProvider) Present(domain, _, keyAuth string) error { // CleanUp removes the record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.guessZone(ctx, info.EffectiveFQDN) if err != nil { return err } - err = d.client.DeleteRRSet(ctx, zone, dnsnew.UnFqdn(info.EffectiveFQDN)) + err = d.client.DeleteRRSet(ctx, zone, dns01.UnFqdn(info.EffectiveFQDN)) if err != nil { return fmt.Errorf("remove txt record: %w", err) } @@ -110,7 +110,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) guessZone(ctx context.Context, fqdn string) (string, error) { var lastErr error - for zone := range dnsnew.UnFqdnDomainsSeq(fqdn) { + for zone := range dns01.UnFqdnDomainsSeq(fqdn) { dnsZone, err := d.client.GetZone(ctx, zone) if err != nil { lastErr = err diff --git a/providers/dns/internal/hostingde/provider.go b/providers/dns/internal/hostingde/provider.go index 16514c601..0df1eeebd 100644 --- a/providers/dns/internal/hostingde/provider.go +++ b/providers/dns/internal/hostingde/provider.go @@ -11,7 +11,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/internal/hostingde/internal" ) @@ -76,7 +76,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zoneName, err := d.getZoneName(ctx, info.EffectiveFQDN) if err != nil { @@ -99,7 +99,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { rec := []internal.DNSRecord{{ Type: "TXT", - Name: dnsnew.UnFqdn(info.EffectiveFQDN), + Name: dns01.UnFqdn(info.EffectiveFQDN), Content: info.Value, TTL: d.config.TTL, }} @@ -115,7 +115,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { } for _, record := range response.Records { - if record.Name == dnsnew.UnFqdn(info.EffectiveFQDN) && record.Content == fmt.Sprintf(`%q`, info.Value) { + if record.Name == dns01.UnFqdn(info.EffectiveFQDN) && record.Content == fmt.Sprintf(`%q`, info.Value) { d.recordIDsMu.Lock() d.recordIDs[info.EffectiveFQDN] = record.ID d.recordIDsMu.Unlock() @@ -133,7 +133,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zoneName, err := d.getZoneName(ctx, info.EffectiveFQDN) if err != nil { @@ -156,7 +156,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { rec := []internal.DNSRecord{{ Type: "TXT", - Name: dnsnew.UnFqdn(info.EffectiveFQDN), + Name: dns01.UnFqdn(info.EffectiveFQDN), Content: `"` + info.Value + `"`, }} @@ -183,7 +183,7 @@ func (d *DNSProvider) getZoneName(ctx context.Context, fqdn string) (string, err return d.config.ZoneName, nil } - zoneName, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, fqdn) + zoneName, err := dns01.DefaultClient().FindZoneByFqdn(ctx, fqdn) if err != nil { return "", fmt.Errorf("could not find zone for %s: %w", fqdn, err) } @@ -192,5 +192,5 @@ func (d *DNSProvider) getZoneName(ctx context.Context, fqdn string) (string, err return "", errors.New("empty zone name") } - return dnsnew.UnFqdn(zoneName), nil + return dns01.UnFqdn(zoneName), nil } diff --git a/providers/dns/internal/ionos/provider.go b/providers/dns/internal/ionos/provider.go index d76fdeb14..655533b99 100644 --- a/providers/dns/internal/ionos/provider.go +++ b/providers/dns/internal/ionos/provider.go @@ -11,7 +11,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" ionos "github.com/go-acme/lego/v5/providers/dns/internal/ionos/internal" ) @@ -76,14 +76,14 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zones, err := d.client.ListZones(ctx) if err != nil { return fmt.Errorf("failed to get zones: %w", err) } - name := dnsnew.UnFqdn(info.EffectiveFQDN) + name := dns01.UnFqdn(info.EffectiveFQDN) zone := findZone(zones, name) if zone == nil { @@ -118,14 +118,14 @@ func (d *DNSProvider) Present(domain, _, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zones, err := d.client.ListZones(ctx) if err != nil { return fmt.Errorf("failed to get zones: %w", err) } - name := dnsnew.UnFqdn(info.EffectiveFQDN) + name := dns01.UnFqdn(info.EffectiveFQDN) zone := findZone(zones, name) if zone == nil { diff --git a/providers/dns/internal/rimuhosting/provider.go b/providers/dns/internal/rimuhosting/provider.go index 791ff941c..20067be60 100644 --- a/providers/dns/internal/rimuhosting/provider.go +++ b/providers/dns/internal/rimuhosting/provider.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/internal/rimuhosting/internal" ) @@ -68,15 +68,15 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - records, err := d.client.FindTXTRecords(ctx, dnsnew.UnFqdn(info.EffectiveFQDN)) + records, err := d.client.FindTXTRecords(ctx, dns01.UnFqdn(info.EffectiveFQDN)) if err != nil { return fmt.Errorf("failed to find record(s) for %s: %w", domain, err) } actions := []internal.ActionParameter{ - internal.NewAddRecordAction(dnsnew.UnFqdn(info.EffectiveFQDN), info.Value, d.config.TTL), + internal.NewAddRecordAction(dns01.UnFqdn(info.EffectiveFQDN), info.Value, d.config.TTL), } for _, record := range records { @@ -94,9 +94,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - action := internal.NewDeleteRecordAction(dnsnew.UnFqdn(info.EffectiveFQDN), info.Value) + action := internal.NewDeleteRecordAction(dns01.UnFqdn(info.EffectiveFQDN), info.Value) _, err := d.client.DoActions(ctx, action) if err != nil { diff --git a/providers/dns/internal/selectel/provider.go b/providers/dns/internal/selectel/provider.go index 953690ad7..6c7d5558e 100644 --- a/providers/dns/internal/selectel/provider.go +++ b/providers/dns/internal/selectel/provider.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/internal/selectel/internal" ) @@ -78,7 +78,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record to fulfill DNS-01 challenge. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // TODO(ldez) replace domain by FQDN to follow CNAME. domainObj, err := d.client.GetDomainByName(ctx, domain) @@ -104,9 +104,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes a TXT record used for DNS-01 challenge. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - recordName := dnsnew.UnFqdn(info.EffectiveFQDN) + recordName := dns01.UnFqdn(info.EffectiveFQDN) // TODO(ldez) replace domain by FQDN to follow CNAME. domainObj, err := d.client.GetDomainByName(ctx, domain) diff --git a/providers/dns/internal/tecnocratica/provider.go b/providers/dns/internal/tecnocratica/provider.go index ea99d859e..b0ce8f456 100644 --- a/providers/dns/internal/tecnocratica/provider.go +++ b/providers/dns/internal/tecnocratica/provider.go @@ -11,7 +11,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/internal/tecnocratica/internal" ) @@ -83,21 +83,21 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("could not find zone for domain %q: %w", domain, err) } - authZone = dnsnew.UnFqdn(authZone) + authZone = dns01.UnFqdn(authZone) zone, err := d.findZone(ctx, authZone) if err != nil { return fmt.Errorf("%w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("%w", err) } @@ -125,7 +125,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) d.recordIDsMu.Lock() zoneID, zoneOK := d.zoneIDs[token] diff --git a/providers/dns/internal/westcn/provider.go b/providers/dns/internal/westcn/provider.go index f9ecfa04a..717908cb2 100644 --- a/providers/dns/internal/westcn/provider.go +++ b/providers/dns/internal/westcn/provider.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/internal/westcn/internal" ) @@ -72,20 +72,20 @@ func NewDNSProviderConfig(config *Config, baseURL string) (*DNSProvider, error) func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("%w", err) } record := internal.Record{ - Domain: dnsnew.UnFqdn(authZone), + Domain: dns01.UnFqdn(authZone), Host: subDomain, Type: "TXT", Value: info.Value, @@ -108,9 +108,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("could not find zone for domain %q: %w", domain, err) } @@ -124,7 +124,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { return fmt.Errorf("unknown record ID for '%s' '%s'", info.EffectiveFQDN, token) } - err = d.client.DeleteRecord(ctx, dnsnew.UnFqdn(authZone), recordID) + err = d.client.DeleteRecord(ctx, dns01.UnFqdn(authZone), recordID) if err != nil { return fmt.Errorf("delete record: %w", err) } diff --git a/providers/dns/internetbs/internetbs.go b/providers/dns/internetbs/internetbs.go index 8b61495d3..a9fee14b4 100644 --- a/providers/dns/internetbs/internetbs.go +++ b/providers/dns/internetbs/internetbs.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/internetbs/internal" @@ -44,8 +44,8 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, 3600), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -106,10 +106,10 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) query := internal.RecordQuery{ - FullRecordName: dnsnew.UnFqdn(info.EffectiveFQDN), + FullRecordName: dns01.UnFqdn(info.EffectiveFQDN), Type: "TXT", Value: info.Value, TTL: d.config.TTL, @@ -126,10 +126,10 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) query := internal.RecordQuery{ - FullRecordName: dnsnew.UnFqdn(info.EffectiveFQDN), + FullRecordName: dns01.UnFqdn(info.EffectiveFQDN), Type: "TXT", Value: info.Value, TTL: d.config.TTL, diff --git a/providers/dns/inwx/inwx.go b/providers/dns/inwx/inwx.go index 262b874b4..faf063823 100644 --- a/providers/dns/inwx/inwx.go +++ b/providers/dns/inwx/inwx.go @@ -8,7 +8,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/log" "github.com/go-acme/lego/v5/platform/config/env" "github.com/nrdcg/goinwx" @@ -48,7 +48,7 @@ func NewDefaultConfig() *Config { TTL: env.GetOrDefaultInt(EnvTTL, 300), // INWX has rather unstable propagation delays, thus using a larger default value PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 6*time.Minute), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), Sandbox: env.GetOrDefaultBool(EnvSandbox, false), } } @@ -99,9 +99,9 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("inwx: could not find zone for domain %q (%s): %w", domain, info.EffectiveFQDN, err) } @@ -124,8 +124,8 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { } request := &goinwx.NameserverRecordRequest{ - Domain: dnsnew.UnFqdn(authZone), - Name: dnsnew.UnFqdn(info.EffectiveFQDN), + Domain: dns01.UnFqdn(authZone), + Name: dns01.UnFqdn(info.EffectiveFQDN), Type: "TXT", Content: info.Value, TTL: d.config.TTL, @@ -147,9 +147,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("inwx: could not find zone for domain %q (%s): %w", domain, info.EffectiveFQDN, err) } @@ -172,8 +172,8 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { } response, err := d.client.Nameservers.Info(&goinwx.NameserverInfoRequest{ - Domain: dnsnew.UnFqdn(authZone), - Name: dnsnew.UnFqdn(info.EffectiveFQDN), + Domain: dns01.UnFqdn(authZone), + Name: dns01.UnFqdn(info.EffectiveFQDN), Type: "TXT", }) if err != nil { diff --git a/providers/dns/ionos/ionos.go b/providers/dns/ionos/ionos.go index 212274bf4..ad53f8a8c 100644 --- a/providers/dns/ionos/ionos.go +++ b/providers/dns/ionos/ionos.go @@ -8,7 +8,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/ionos" ) @@ -37,7 +37,7 @@ func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, ionos.MinTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 15*time.Minute), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, diff --git a/providers/dns/ionoscloud/ionoscloud.go b/providers/dns/ionoscloud/ionoscloud.go index 1ee739f16..36f812ce5 100644 --- a/providers/dns/ionoscloud/ionoscloud.go +++ b/providers/dns/ionoscloud/ionoscloud.go @@ -9,7 +9,7 @@ import ( "sync" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/ionoscloud/internal" @@ -40,9 +40,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 120*time.Second), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -101,14 +101,14 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("ionoscloud: could not find zone for domain %q: %w", domain, err) } - zones, err := d.client.RetrieveZones(ctx, dnsnew.UnFqdn(authZone)) + zones, err := d.client.RetrieveZones(ctx, dns01.UnFqdn(authZone)) if err != nil { return fmt.Errorf("ionoscloud: retrieve zones: %w", err) } @@ -117,7 +117,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { return fmt.Errorf("ionoscloud: zone ID not found for domain %q", domain) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("ionoscloud: %w", err) } @@ -147,7 +147,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) d.recordIDsMu.Lock() zoneID, ok := d.zoneIDs[token] diff --git a/providers/dns/ipv64/ipv64.go b/providers/dns/ipv64/ipv64.go index 0d6ffd25a..53559e9b7 100644 --- a/providers/dns/ipv64/ipv64.go +++ b/providers/dns/ipv64/ipv64.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/ipv64/internal" @@ -42,8 +42,8 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -94,9 +94,9 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - sub, root, err := splitDomain(dnsnew.UnFqdn(info.EffectiveFQDN)) + sub, root, err := splitDomain(dns01.UnFqdn(info.EffectiveFQDN)) if err != nil { return fmt.Errorf("ipv64: %w", err) } @@ -112,9 +112,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp clears IPv64 TXT record. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - sub, root, err := splitDomain(dnsnew.UnFqdn(info.EffectiveFQDN)) + sub, root, err := splitDomain(dns01.UnFqdn(info.EffectiveFQDN)) if err != nil { return fmt.Errorf("ipv64: %w", err) } diff --git a/providers/dns/ispconfig/ispconfig.go b/providers/dns/ispconfig/ispconfig.go index ae0cb281a..cb2cc4e19 100644 --- a/providers/dns/ispconfig/ispconfig.go +++ b/providers/dns/ispconfig/ispconfig.go @@ -11,7 +11,7 @@ import ( "sync" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/ispconfig/internal" @@ -48,9 +48,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -124,7 +124,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) sessionID, err := d.client.Login(ctx, d.config.Username, d.config.Password) if err != nil { @@ -174,7 +174,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // gets the record's unique ID d.recordIDsMu.Lock() @@ -209,7 +209,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { } func (d *DNSProvider) findZone(ctx context.Context, sessionID, fqdn string) (int, error) { - for domain := range dnsnew.UnFqdnDomainsSeq(fqdn) { + for domain := range dns01.UnFqdnDomainsSeq(fqdn) { zoneID, err := d.client.GetZoneID(ctx, sessionID, domain) if err == nil { return zoneID, nil diff --git a/providers/dns/ispconfigddns/ispconfigddns.go b/providers/dns/ispconfigddns/ispconfigddns.go index bf5aeaf93..81579d690 100644 --- a/providers/dns/ispconfigddns/ispconfigddns.go +++ b/providers/dns/ispconfigddns/ispconfigddns.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/ispconfigddns/internal" @@ -45,8 +45,8 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, 3600), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -114,14 +114,14 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - zone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + zone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("ispconfig (DDNS module): could not find zone for domain %q: %w", domain, err) } - err = d.client.AddTXTRecord(ctx, dnsnew.UnFqdn(zone), info.EffectiveFQDN, info.Value) + err = d.client.AddTXTRecord(ctx, dns01.UnFqdn(zone), info.EffectiveFQDN, info.Value) if err != nil { return fmt.Errorf("ispconfig (DDNS module): add record: %w", err) } @@ -133,14 +133,14 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - zone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + zone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("ispconfig (DDNS module): could not find zone for domain %q: %w", domain, err) } - err = d.client.DeleteTXTRecord(ctx, dnsnew.UnFqdn(zone), info.EffectiveFQDN, info.Value) + err = d.client.DeleteTXTRecord(ctx, dns01.UnFqdn(zone), info.EffectiveFQDN, info.Value) if err != nil { return fmt.Errorf("ispconfig (DDNS module): delete record: %w", err) } diff --git a/providers/dns/jdcloud/jdcloud.go b/providers/dns/jdcloud/jdcloud.go index 6c81ca485..e35a0d3d5 100644 --- a/providers/dns/jdcloud/jdcloud.go +++ b/providers/dns/jdcloud/jdcloud.go @@ -13,7 +13,7 @@ import ( "github.com/go-acme/jdcloud-sdk-go/services/domainservice/apis" jdcclient "github.com/go-acme/jdcloud-sdk-go/services/domainservice/client" domainservice "github.com/go-acme/jdcloud-sdk-go/services/domainservice/models" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" ) @@ -46,9 +46,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPTimeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), } } @@ -107,19 +107,19 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("jdcloud: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("jdcloud: %w", err) } - zone, err := d.findZone(dnsnew.UnFqdn(authZone)) + zone, err := d.findZone(dns01.UnFqdn(authZone)) if err != nil { return fmt.Errorf("jdcloud: %w", err) } @@ -153,7 +153,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) d.recordIDsMu.Lock() recordID, recordOK := d.recordIDs[token] diff --git a/providers/dns/joker/internal/dmapi/client.go b/providers/dns/joker/internal/dmapi/client.go index d1ddf51c8..37e281715 100644 --- a/providers/dns/joker/internal/dmapi/client.go +++ b/providers/dns/joker/internal/dmapi/client.go @@ -14,7 +14,7 @@ import ( "sync" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/providers/dns/internal/errutils" ) @@ -65,7 +65,7 @@ func (c *Client) GetZone(ctx context.Context, domain string) (*Response, error) return nil, errors.New("must be logged in to get zone") } - return c.postRequest(ctx, "dns-zone-get", url.Values{"domain": {dnsnew.UnFqdn(domain)}}) + return c.postRequest(ctx, "dns-zone-get", url.Values{"domain": {dns01.UnFqdn(domain)}}) } // PutZone uploads DNS zone to Joker DMAPI. @@ -74,7 +74,7 @@ func (c *Client) PutZone(ctx context.Context, domain, zone string) (*Response, e return nil, errors.New("must be logged in to put zone") } - return c.postRequest(ctx, "dns-zone-put", url.Values{"domain": {dnsnew.UnFqdn(domain)}, "zone": {strings.TrimSpace(zone)}}) + return c.postRequest(ctx, "dns-zone-put", url.Values{"domain": {dns01.UnFqdn(domain)}, "zone": {strings.TrimSpace(zone)}}) } // postRequest performs actual HTTP request. diff --git a/providers/dns/joker/joker.go b/providers/dns/joker/joker.go index 2f5134bc3..77488777c 100644 --- a/providers/dns/joker/joker.go +++ b/providers/dns/joker/joker.go @@ -7,7 +7,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" ) @@ -49,10 +49,10 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ APIMode: env.GetOrDefaultString(EnvMode, modeDMAPI), - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 2*time.Minute), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), - SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dnsnew.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), + SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dns01.DefaultPropagationTimeout), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 60*time.Second), }, diff --git a/providers/dns/joker/provider_dmapi.go b/providers/dns/joker/provider_dmapi.go index f395d42d5..4e1609239 100644 --- a/providers/dns/joker/provider_dmapi.go +++ b/providers/dns/joker/provider_dmapi.go @@ -7,7 +7,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/joker/internal/dmapi" @@ -80,14 +80,14 @@ func (d *dmapiProvider) Timeout() (timeout, interval time.Duration) { func (d *dmapiProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - zone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + zone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("joker: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zone) if err != nil { return fmt.Errorf("joker: %w", err) } @@ -116,14 +116,14 @@ func (d *dmapiProvider) Present(domain, token, keyAuth string) error { func (d *dmapiProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - zone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + zone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("joker: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zone) if err != nil { return fmt.Errorf("joker: %w", err) } diff --git a/providers/dns/joker/provider_svc.go b/providers/dns/joker/provider_svc.go index 436f5160f..eae59809f 100644 --- a/providers/dns/joker/provider_svc.go +++ b/providers/dns/joker/provider_svc.go @@ -7,7 +7,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/joker/internal/svc" @@ -63,19 +63,19 @@ func (d *svcProvider) Timeout() (timeout, interval time.Duration) { func (d *svcProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - zone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + zone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("joker: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zone) if err != nil { return fmt.Errorf("joker: %w", err) } - err = d.client.SendRequest(context.Background(), dnsnew.UnFqdn(zone), subDomain, info.Value) + err = d.client.SendRequest(context.Background(), dns01.UnFqdn(zone), subDomain, info.Value) if err != nil { return fmt.Errorf("joker: send request: %w", err) } @@ -87,19 +87,19 @@ func (d *svcProvider) Present(domain, token, keyAuth string) error { func (d *svcProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - zone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + zone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("joker: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zone) if err != nil { return fmt.Errorf("joker: %w", err) } - err = d.client.SendRequest(context.Background(), dnsnew.UnFqdn(zone), subDomain, "") + err = d.client.SendRequest(context.Background(), dns01.UnFqdn(zone), subDomain, "") if err != nil { return fmt.Errorf("joker: send request: %w", err) } diff --git a/providers/dns/keyhelp/keyhelp.go b/providers/dns/keyhelp/keyhelp.go index 88a269b00..9f4df71d3 100644 --- a/providers/dns/keyhelp/keyhelp.go +++ b/providers/dns/keyhelp/keyhelp.go @@ -9,7 +9,7 @@ import ( "sync" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/keyhelp/internal" @@ -42,9 +42,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -102,14 +102,14 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("keyhelp: could not find zone for domain %q: %w", domain, err) } - domainInfo, err := d.findDomain(ctx, dnsnew.UnFqdn(authZone)) + domainInfo, err := d.findDomain(ctx, dns01.UnFqdn(authZone)) if err != nil { return fmt.Errorf("keyhelp: %w", err) } @@ -119,7 +119,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { return fmt.Errorf("keyhelp: list domain records: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("keyhelp: %w", err) } @@ -156,7 +156,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // get the domain's unique ID from when we created it d.domainIDsMu.Lock() diff --git a/providers/dns/liara/liara.go b/providers/dns/liara/liara.go index ff122dd59..08fc447b2 100644 --- a/providers/dns/liara/liara.go +++ b/providers/dns/liara/liara.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/log" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -50,8 +50,8 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, 3600), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -131,14 +131,14 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("liara: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("liara: %w", err) } @@ -150,7 +150,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { TTL: d.config.TTL, } - newRecord, err := d.client.CreateRecord(ctx, dnsnew.UnFqdn(authZone), record) + newRecord, err := d.client.CreateRecord(ctx, dns01.UnFqdn(authZone), record) if err != nil { return fmt.Errorf("liara: failed to create TXT record, fqdn=%s: %w", info.EffectiveFQDN, err) } @@ -166,9 +166,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("liara: could not find zone for domain %q: %w", domain, err) } @@ -182,7 +182,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { return fmt.Errorf("liara: unknown record ID for '%s' '%s'", info.EffectiveFQDN, token) } - err = d.client.DeleteRecord(ctx, dnsnew.UnFqdn(authZone), recordID) + err = d.client.DeleteRecord(ctx, dns01.UnFqdn(authZone), recordID) if err != nil { return fmt.Errorf("liara: failed to delete TXT record, id=%s: %w", recordID, err) } diff --git a/providers/dns/lightsail/lightsail.go b/providers/dns/lightsail/lightsail.go index 245d7ea28..0b43e3f8a 100644 --- a/providers/dns/lightsail/lightsail.go +++ b/providers/dns/lightsail/lightsail.go @@ -15,7 +15,7 @@ import ( "github.com/aws/aws-sdk-go-v2/service/lightsail" awstypes "github.com/aws/aws-sdk-go-v2/service/lightsail/types" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" ) @@ -45,8 +45,8 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), } } @@ -118,7 +118,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) params := &lightsail.CreateDomainEntryInput{ DomainName: aws.String(d.config.DNSZone), @@ -140,7 +140,7 @@ func (d *DNSProvider) Present(domain, _, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) params := &lightsail.DeleteDomainEntryInput{ DomainName: aws.String(d.config.DNSZone), diff --git a/providers/dns/limacity/limacity.go b/providers/dns/limacity/limacity.go index e4bd5d89e..441b587cc 100644 --- a/providers/dns/limacity/limacity.go +++ b/providers/dns/limacity/limacity.go @@ -11,7 +11,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/limacity/internal" @@ -119,7 +119,7 @@ func (d *DNSProvider) Sequential() time.Duration { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) domains, err := d.client.GetDomains(ctx) if err != nil { @@ -131,7 +131,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { return fmt.Errorf("limacity: find domain: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, dom.UnicodeFqdn) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, dom.UnicodeFqdn) if err != nil { return fmt.Errorf("limacity: %w", err) } @@ -159,7 +159,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // gets the domain's unique ID d.domainIDsMu.Lock() @@ -201,8 +201,8 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { } func findDomain(domains []internal.Domain, fqdn string) (internal.Domain, error) { - for f := range dnsnew.DomainsSeq(fqdn) { - domain := dnsnew.UnFqdn(f) + for f := range dns01.DomainsSeq(fqdn) { + domain := dns01.UnFqdn(f) for _, dom := range domains { if dom.UnicodeFqdn == domain || dom.UnicodeFqdn == f { diff --git a/providers/dns/linode/linode.go b/providers/dns/linode/linode.go index 947e6a2e5..fb43263b0 100644 --- a/providers/dns/linode/linode.go +++ b/providers/dns/linode/linode.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/internal/useragent" @@ -133,7 +133,7 @@ func (d *DNSProvider) Timeout() (time.Duration, time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.getHostedZoneInfo(ctx, info.EffectiveFQDN) if err != nil { @@ -141,7 +141,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { } createOpts := linodego.DomainRecordCreateOptions{ - Name: dnsnew.UnFqdn(info.EffectiveFQDN), + Name: dns01.UnFqdn(info.EffectiveFQDN), Target: info.Value, TTLSec: d.config.TTL, Type: linodego.RecordTypeTXT, @@ -156,7 +156,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.getHostedZoneInfo(ctx, info.EffectiveFQDN) if err != nil { @@ -173,7 +173,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { // Remove the specified resource, if it exists. for _, resource := range resources { - if (resource.Name == dnsnew.UnFqdn(info.EffectiveFQDN) || resource.Name == zone.resourceName) && + if (resource.Name == dns01.UnFqdn(info.EffectiveFQDN) || resource.Name == zone.resourceName) && resource.Target == info.Value { if err := d.client.DeleteDomainRecord(ctx, zone.domainID, resource.ID); err != nil { return err @@ -186,13 +186,13 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { func (d *DNSProvider) getHostedZoneInfo(ctx context.Context, fqdn string) (*hostedZoneInfo, error) { // Lookup the zone that handles the specified FQDN. - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, fqdn) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, fqdn) if err != nil { return nil, fmt.Errorf("could not find zone: %w", err) } // Query the authority zone. - filter, err := json.Marshal(map[string]string{"domain": dnsnew.UnFqdn(authZone)}) + filter, err := json.Marshal(map[string]string{"domain": dns01.UnFqdn(authZone)}) if err != nil { return nil, fmt.Errorf("failed to create JSON filter: %w", err) } @@ -208,7 +208,7 @@ func (d *DNSProvider) getHostedZoneInfo(ctx context.Context, fqdn string) (*host return nil, errors.New("domain not found") } - subDomain, err := dnsnew.ExtractSubDomain(fqdn, authZone) + subDomain, err := dns01.ExtractSubDomain(fqdn, authZone) if err != nil { return nil, err } diff --git a/providers/dns/liquidweb/liquidweb.go b/providers/dns/liquidweb/liquidweb.go index 447e71dff..f6ffb68e9 100644 --- a/providers/dns/liquidweb/liquidweb.go +++ b/providers/dns/liquidweb/liquidweb.go @@ -12,7 +12,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" lw "github.com/liquidweb/liquidweb-go/client" "github.com/liquidweb/liquidweb-go/network" @@ -56,7 +56,7 @@ func NewDefaultConfig() *Config { BaseURL: defaultBaseURL, TTL: env.GetOneWithFallback(EnvTTL, 300, strconv.Atoi, altEnvName(EnvTTL)), PropagationTimeout: env.GetOneWithFallback(EnvPropagationTimeout, 2*time.Minute, env.ParseSecond, altEnvName(EnvPropagationTimeout)), - PollingInterval: env.GetOneWithFallback(EnvPollingInterval, dnsnew.DefaultPollingInterval, env.ParseSecond, altEnvName(EnvPollingInterval)), + PollingInterval: env.GetOneWithFallback(EnvPollingInterval, dns01.DefaultPollingInterval, env.ParseSecond, altEnvName(EnvPollingInterval)), HTTPTimeout: env.GetOneWithFallback(EnvHTTPTimeout, 1*time.Minute, env.ParseSecond, altEnvName(EnvHTTPTimeout)), } } @@ -120,10 +120,10 @@ func (d *DNSProvider) Timeout() (time.Duration, time.Duration) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) params := &network.DNSRecordParams{ - Name: dnsnew.UnFqdn(info.EffectiveFQDN), + Name: dns01.UnFqdn(info.EffectiveFQDN), RData: strconv.Quote(info.Value), Type: "TXT", Zone: d.config.Zone, diff --git a/providers/dns/loopia/loopia.go b/providers/dns/loopia/loopia.go index d70a2ec59..da401dbfb 100644 --- a/providers/dns/loopia/loopia.go +++ b/providers/dns/loopia/loopia.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/loopia/internal" @@ -57,7 +57,7 @@ func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, minTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 40*time.Minute), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPropagationTimeout), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, time.Minute), }, @@ -123,7 +123,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { return &DNSProvider{ config: config, client: client, - findZoneByFqdn: dnsnew.DefaultClient().FindZoneByFqdn, + findZoneByFqdn: dns01.DefaultClient().FindZoneByFqdn, inProgressInfo: make(map[string]int), }, nil } @@ -138,7 +138,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) subDomain, authZone, err := d.splitDomain(ctx, info.EffectiveFQDN) if err != nil { @@ -172,7 +172,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) subDomain, authZone, err := d.splitDomain(ctx, info.EffectiveFQDN) if err != nil { @@ -210,10 +210,10 @@ func (d *DNSProvider) splitDomain(ctx context.Context, fqdn string) (string, str return "", "", fmt.Errorf("could not find zone: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(fqdn, authZone) + subDomain, err := dns01.ExtractSubDomain(fqdn, authZone) if err != nil { return "", "", err } - return subDomain, dnsnew.UnFqdn(authZone), nil + return subDomain, dns01.UnFqdn(authZone), nil } diff --git a/providers/dns/luadns/luadns.go b/providers/dns/luadns/luadns.go index 7e6404baa..1f1505b0e 100644 --- a/providers/dns/luadns/luadns.go +++ b/providers/dns/luadns/luadns.go @@ -11,7 +11,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/luadns/internal" @@ -49,7 +49,7 @@ func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, minTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 120*time.Second), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -119,19 +119,19 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zones, err := d.client.ListZones(ctx) if err != nil { return fmt.Errorf("luadns: failed to get zones: %w", err) } - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("luadns: could not find zone for domain %q: %w", domain, err) } - zone := findZone(zones, dnsnew.UnFqdn(authZone)) + zone := findZone(zones, dns01.UnFqdn(authZone)) if zone == nil { return fmt.Errorf("luadns: no matching zone found for domain %s", domain) } @@ -158,7 +158,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) d.recordsMu.Lock() record, ok := d.records[token] diff --git a/providers/dns/mailinabox/mailinabox.go b/providers/dns/mailinabox/mailinabox.go index 4650d517c..30d207078 100644 --- a/providers/dns/mailinabox/mailinabox.go +++ b/providers/dns/mailinabox/mailinabox.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/nrdcg/mailinabox" @@ -111,10 +111,10 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) record := mailinabox.Record{ - Name: dnsnew.UnFqdn(info.EffectiveFQDN), + Name: dns01.UnFqdn(info.EffectiveFQDN), Type: "TXT", Value: info.Value, } @@ -130,10 +130,10 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) record := mailinabox.Record{ - Name: dnsnew.UnFqdn(info.EffectiveFQDN), + Name: dns01.UnFqdn(info.EffectiveFQDN), Type: "TXT", Value: info.Value, } diff --git a/providers/dns/manageengine/manageengine.go b/providers/dns/manageengine/manageengine.go index da4aee185..b238db8b2 100644 --- a/providers/dns/manageengine/manageengine.go +++ b/providers/dns/manageengine/manageengine.go @@ -9,7 +9,7 @@ import ( "strings" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/manageengine/internal" @@ -40,9 +40,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), } } @@ -90,9 +90,9 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("manageengine: could not find zone for domain %q: %w", domain, err) } @@ -161,9 +161,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("manageengine: could not find zone for domain %q: %w", domain, err) } diff --git a/providers/dns/manual/manual.go b/providers/dns/manual/manual.go index 0806a7e17..2d3087d63 100644 --- a/providers/dns/manual/manual.go +++ b/providers/dns/manual/manual.go @@ -7,7 +7,7 @@ import ( "os" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" ) const ( @@ -25,15 +25,15 @@ func NewDNSProvider() (*DNSProvider, error) { // Present prints instructions for manually creating the TXT record. func (*DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("manual: could not find zone: %w", err) } fmt.Printf("lego: Please create the following TXT record in your %s zone:\n", authZone) - fmt.Printf(dnsTemplate+"\n", info.EffectiveFQDN, dnsnew.DefaultTTL, info.Value) + fmt.Printf(dnsTemplate+"\n", info.EffectiveFQDN, dns01.DefaultTTL, info.Value) fmt.Printf("lego: Press 'Enter' when you are done\n") _, err = bufio.NewReader(os.Stdin).ReadBytes('\n') @@ -47,15 +47,15 @@ func (*DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp prints instructions for manually removing the TXT record. func (*DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("manual: could not find zone: %w", err) } fmt.Printf("lego: You can now remove this TXT record from your %s zone:\n", authZone) - fmt.Printf(dnsTemplate+"\n", info.EffectiveFQDN, dnsnew.DefaultTTL, "...") + fmt.Printf(dnsTemplate+"\n", info.EffectiveFQDN, dns01.DefaultTTL, "...") return nil } @@ -63,5 +63,5 @@ func (*DNSProvider) CleanUp(domain, token, keyAuth string) error { // Sequential All DNS challenges for this provider will be resolved sequentially. // Returns the interval between each iteration. func (d *DNSProvider) Sequential() time.Duration { - return dnsnew.DefaultPropagationTimeout + return dns01.DefaultPropagationTimeout } diff --git a/providers/dns/metaname/metaname.go b/providers/dns/metaname/metaname.go index bc3f38ff1..e50a2d22f 100644 --- a/providers/dns/metaname/metaname.go +++ b/providers/dns/metaname/metaname.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/nzdjb/go-metaname" ) @@ -40,9 +40,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), } } @@ -94,16 +94,16 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("metaname: could not find zone for domain %q: %w", domain, err) } - authZone = dnsnew.UnFqdn(authZone) + authZone = dns01.UnFqdn(authZone) - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("metaname: could not extract subDomain: %w", err) } @@ -131,14 +131,14 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("metaname: could not find zone for domain %q: %w", domain, err) } - authZone = dnsnew.UnFqdn(authZone) + authZone = dns01.UnFqdn(authZone) d.recordsMu.Lock() ref, ok := d.records[token] diff --git a/providers/dns/metaregistrar/metaregistrar.go b/providers/dns/metaregistrar/metaregistrar.go index 57370e326..a0daed876 100644 --- a/providers/dns/metaregistrar/metaregistrar.go +++ b/providers/dns/metaregistrar/metaregistrar.go @@ -9,7 +9,7 @@ import ( "strconv" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/metaregistrar/internal" @@ -40,9 +40,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -95,23 +95,23 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("metaregistrar: could not find zone for domain %q: %w", domain, err) } updateRequest := internal.DNSZoneUpdateRequest{ Add: []internal.Record{{ - Name: dnsnew.UnFqdn(info.EffectiveFQDN), + Name: dns01.UnFqdn(info.EffectiveFQDN), Type: "TXT", TTL: d.config.TTL, Content: info.Value, }}, } - _, err = d.client.UpdateDNSZone(ctx, dnsnew.UnFqdn(authZone), updateRequest) + _, err = d.client.UpdateDNSZone(ctx, dns01.UnFqdn(authZone), updateRequest) if err != nil { return fmt.Errorf("metaregistrar: %w", err) } @@ -123,23 +123,23 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("metaregistrar: could not find zone for domain %q: %w", domain, err) } updateRequest := internal.DNSZoneUpdateRequest{ Remove: []internal.Record{{ - Name: dnsnew.UnFqdn(info.EffectiveFQDN), + Name: dns01.UnFqdn(info.EffectiveFQDN), Type: "TXT", TTL: d.config.TTL, Content: strconv.Quote(info.Value), }}, } - _, err = d.client.UpdateDNSZone(ctx, dnsnew.UnFqdn(authZone), updateRequest) + _, err = d.client.UpdateDNSZone(ctx, dns01.UnFqdn(authZone), updateRequest) if err != nil { return fmt.Errorf("metaregistrar: %w", err) } diff --git a/providers/dns/mijnhost/mijnhost.go b/providers/dns/mijnhost/mijnhost.go index 7204a47c9..dee79ddd1 100644 --- a/providers/dns/mijnhost/mijnhost.go +++ b/providers/dns/mijnhost/mijnhost.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/mijnhost/internal" @@ -45,9 +45,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, 5*time.Second), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), @@ -115,7 +115,7 @@ func (d *DNSProvider) Sequential() time.Duration { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) domains, err := d.client.ListDomains(ctx) if err != nil { @@ -132,7 +132,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { return fmt.Errorf("mijnhost: get records: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, dom.Domain) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, dom.Domain) if err != nil { return fmt.Errorf("mijnhost: %w", err) } @@ -147,7 +147,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // mijn.host doesn't support multiple values for a domain, // so we removed existing record for the subdomain. cleanedRecords := filterRecords(records, func(record internal.Record) bool { - return record.Type == txtType && (record.Name == subDomain || record.Name == dnsnew.UnFqdn(info.EffectiveFQDN)) + return record.Type == txtType && (record.Name == subDomain || record.Name == dns01.UnFqdn(info.EffectiveFQDN)) }) cleanedRecords = append(cleanedRecords, record) @@ -164,7 +164,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) domains, err := d.client.ListDomains(ctx) if err != nil { @@ -194,7 +194,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { } func findDomain(domains []internal.Domain, fqdn string) (internal.Domain, error) { - for domain := range dnsnew.UnFqdnDomainsSeq(fqdn) { + for domain := range dns01.UnFqdnDomainsSeq(fqdn) { for _, dom := range domains { if dom.Domain == domain { return dom, nil diff --git a/providers/dns/mittwald/mittwald.go b/providers/dns/mittwald/mittwald.go index 89d2a6382..f12a8cc4c 100644 --- a/providers/dns/mittwald/mittwald.go +++ b/providers/dns/mittwald/mittwald.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/mittwald/internal" @@ -123,7 +123,7 @@ func (d *DNSProvider) Sequential() time.Duration { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.getOrCreateZone(ctx, info.EffectiveFQDN) if err != nil { @@ -152,7 +152,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // get the record's unique ID from when we created it d.zoneIDsMu.Lock() @@ -194,7 +194,7 @@ func (d *DNSProvider) getOrCreateZone(ctx context.Context, fqdn string) (*intern } for _, zone := range zones { - if zone.Domain == dnsnew.UnFqdn(fqdn) { + if zone.Domain == dns01.UnFqdn(fqdn) { return &zone, nil } } @@ -206,7 +206,7 @@ func (d *DNSProvider) getOrCreateZone(ctx context.Context, fqdn string) (*intern return nil, fmt.Errorf("find zone: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(fqdn, parentZone.Domain) + subDomain, err := dns01.ExtractSubDomain(fqdn, parentZone.Domain) if err != nil { return nil, err } @@ -225,7 +225,7 @@ func (d *DNSProvider) getOrCreateZone(ctx context.Context, fqdn string) (*intern } func findDomain(domains []internal.Domain, fqdn string) (internal.Domain, error) { - for domain := range dnsnew.UnFqdnDomainsSeq(fqdn) { + for domain := range dns01.UnFqdnDomainsSeq(fqdn) { for _, dom := range domains { if dom.Domain == domain { return dom, nil @@ -237,7 +237,7 @@ func findDomain(domains []internal.Domain, fqdn string) (internal.Domain, error) } func findZone(zones []internal.DNSZone, fqdn string) (internal.DNSZone, error) { - for domain := range dnsnew.UnFqdnDomainsSeq(fqdn) { + for domain := range dns01.UnFqdnDomainsSeq(fqdn) { for _, zon := range zones { if zon.Domain == domain { return zon, nil diff --git a/providers/dns/myaddr/myaddr.go b/providers/dns/myaddr/myaddr.go index e0645ec35..7bb99fa0f 100644 --- a/providers/dns/myaddr/myaddr.go +++ b/providers/dns/myaddr/myaddr.go @@ -9,7 +9,7 @@ import ( "strings" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/myaddr/internal" @@ -42,10 +42,10 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), - SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), + SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -104,14 +104,14 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("myaddr: could not find zone for domain %q: %w", domain, err) } - fullSubdomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + fullSubdomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("myaddr: %w", err) } diff --git a/providers/dns/mydnsjp/mydnsjp.go b/providers/dns/mydnsjp/mydnsjp.go index 9ae88d354..3c4f0e410 100644 --- a/providers/dns/mydnsjp/mydnsjp.go +++ b/providers/dns/mydnsjp/mydnsjp.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/mydnsjp/internal" @@ -42,7 +42,7 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 2*time.Minute), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -103,7 +103,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // TODO(ldez) replace domain by FQDN to follow CNAME. err := d.client.AddTXTRecord(ctx, domain, info.Value) @@ -117,7 +117,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // TODO(ldez) replace domain by FQDN to follow CNAME. err := d.client.DeleteTXTRecord(ctx, domain, info.Value) diff --git a/providers/dns/mythicbeasts/mythicbeasts.go b/providers/dns/mythicbeasts/mythicbeasts.go index 372985419..498d8dc5f 100644 --- a/providers/dns/mythicbeasts/mythicbeasts.go +++ b/providers/dns/mythicbeasts/mythicbeasts.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/mythicbeasts/internal" @@ -58,9 +58,9 @@ func NewDefaultConfig() (*Config, error) { } return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), APIEndpoint: apiEndpoint, AuthAPIEndpoint: authEndpoint, HTTPClient: &http.Client{ @@ -128,19 +128,19 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("mythicbeasts: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("mythicbeasts: %w", err) } - authZone = dnsnew.UnFqdn(authZone) + authZone = dns01.UnFqdn(authZone) ctxAuth, err := d.client.CreateAuthenticatedContext(ctx) if err != nil { @@ -159,19 +159,19 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("mythicbeasts: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("mythicbeasts: %w", err) } - authZone = dnsnew.UnFqdn(authZone) + authZone = dns01.UnFqdn(authZone) ctxAuth, err := d.client.CreateAuthenticatedContext(ctx) if err != nil { diff --git a/providers/dns/namecheap/namecheap.go b/providers/dns/namecheap/namecheap.go index 1253585e6..630b2200f 100644 --- a/providers/dns/namecheap/namecheap.go +++ b/providers/dns/namecheap/namecheap.go @@ -11,7 +11,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/log" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -69,7 +69,7 @@ func NewDefaultConfig() *Config { return &Config{ BaseURL: baseURL, - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, time.Hour), PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, 15*time.Second), HTTPClient: &http.Client{ @@ -229,7 +229,7 @@ type pseudoRecord struct { // newPseudoRecord builds a challenge record from a domain name and a challenge authentication key. func newPseudoRecord(ctx context.Context, domain, keyAuth string) (*pseudoRecord, error) { - domain = dnsnew.UnFqdn(domain) + domain = dns01.UnFqdn(domain) tld, _ := publicsuffix.PublicSuffix(domain) if tld == domain { @@ -245,7 +245,7 @@ func newPseudoRecord(ctx context.Context, domain, keyAuth string) (*pseudoRecord host = strings.Join(parts[:longest-1], ".") } - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) return &pseudoRecord{ domain: domain, diff --git a/providers/dns/namedotcom/namedotcom.go b/providers/dns/namedotcom/namedotcom.go index c27829314..3b7ef2124 100644 --- a/providers/dns/namedotcom/namedotcom.go +++ b/providers/dns/namedotcom/namedotcom.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/namedotcom/go/v4/namecom" @@ -116,10 +116,10 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) if info.EffectiveFQDN != info.FQDN { - domain = dnsnew.UnFqdn(info.EffectiveFQDN) + domain = dns01.UnFqdn(info.EffectiveFQDN) } domainDetails, err := d.client.GetDomain(&namecom.GetDomainRequest{DomainName: domain}) @@ -127,7 +127,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { return fmt.Errorf("namedotcom: API call failed: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, domainDetails.DomainName) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, domainDetails.DomainName) if err != nil { return fmt.Errorf("namedotcom: %w", err) } @@ -151,10 +151,10 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) if info.EffectiveFQDN != info.FQDN { - domain = dnsnew.UnFqdn(info.EffectiveFQDN) + domain = dns01.UnFqdn(info.EffectiveFQDN) } records, err := d.getRecords(domain) diff --git a/providers/dns/namesilo/namesilo.go b/providers/dns/namesilo/namesilo.go index 015946fc4..80b4868b1 100644 --- a/providers/dns/namesilo/namesilo.go +++ b/providers/dns/namesilo/namesilo.go @@ -8,7 +8,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/nrdcg/namesilo" @@ -44,8 +44,8 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, defaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), } } @@ -96,16 +96,16 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - zone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + zone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("namesilo: could not find zone for domain %q: %w", domain, err) } - zoneName := dnsnew.UnFqdn(zone) + zoneName := dns01.UnFqdn(zone) - subdomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zoneName) + subdomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zoneName) if err != nil { return fmt.Errorf("namesilo: %w", err) } @@ -128,27 +128,27 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - zone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + zone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("namesilo: could not find zone for domain %q: %w", domain, err) } - zoneName := dnsnew.UnFqdn(zone) + zoneName := dns01.UnFqdn(zone) resp, err := d.client.DnsListRecords(ctx, &namesilo.DnsListRecordsParams{Domain: zoneName}) if err != nil { return fmt.Errorf("namesilo: %w", err) } - subdomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zoneName) + subdomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zoneName) if err != nil { return fmt.Errorf("namesilo: %w", err) } for _, r := range resp.Reply.ResourceRecord { - if r.Type == "TXT" && r.Value == info.Value && (r.Host == subdomain || r.Host == dnsnew.UnFqdn(info.EffectiveFQDN)) { + if r.Type == "TXT" && r.Value == info.Value && (r.Host == subdomain || r.Host == dns01.UnFqdn(info.EffectiveFQDN)) { _, err := d.client.DnsDeleteRecord(ctx, &namesilo.DnsDeleteRecordParams{Domain: zoneName, ID: r.RecordID}) if err != nil { return fmt.Errorf("namesilo: %w", err) diff --git a/providers/dns/nearlyfreespeech/internal/client.go b/providers/dns/nearlyfreespeech/internal/client.go index f45c00a25..ba6108c91 100644 --- a/providers/dns/nearlyfreespeech/internal/client.go +++ b/providers/dns/nearlyfreespeech/internal/client.go @@ -13,7 +13,7 @@ import ( "strings" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/providers/dns/internal/errutils" querystring "github.com/google/go-querystring/query" ) @@ -47,7 +47,7 @@ func NewClient(login, apiKey string) *Client { } func (c *Client) AddRecord(ctx context.Context, domain string, record Record) error { - endpoint := c.baseURL.JoinPath("dns", dnsnew.UnFqdn(domain), "addRR") + endpoint := c.baseURL.JoinPath("dns", dns01.UnFqdn(domain), "addRR") params, err := querystring.Values(record) if err != nil { @@ -58,7 +58,7 @@ func (c *Client) AddRecord(ctx context.Context, domain string, record Record) er } func (c *Client) RemoveRecord(ctx context.Context, domain string, record Record) error { - endpoint := c.baseURL.JoinPath("dns", dnsnew.UnFqdn(domain), "removeRR") + endpoint := c.baseURL.JoinPath("dns", dns01.UnFqdn(domain), "removeRR") params, err := querystring.Values(record) if err != nil { diff --git a/providers/dns/nearlyfreespeech/nearlyfreespeech.go b/providers/dns/nearlyfreespeech/nearlyfreespeech.go index 19267d488..30e375500 100644 --- a/providers/dns/nearlyfreespeech/nearlyfreespeech.go +++ b/providers/dns/nearlyfreespeech/nearlyfreespeech.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/nearlyfreespeech/internal" @@ -47,9 +47,9 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, 3600), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), - SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dnsnew.DefaultPropagationTimeout), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), + SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dns01.DefaultPropagationTimeout), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -117,14 +117,14 @@ func (d *DNSProvider) Sequential() time.Duration { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("nearlyfreespeech: could not find zone for domain %q: %w", domain, err) } - recordName, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + recordName, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("nearlyfreespeech: %w", err) } @@ -148,14 +148,14 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("nearlyfreespeech: could not find zone for domain %q: %w", domain, err) } - recordName, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + recordName, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("nearlyfreespeech: %w", err) } diff --git a/providers/dns/neodigit/neodigit.go b/providers/dns/neodigit/neodigit.go index ac9f578ef..7eed26361 100644 --- a/providers/dns/neodigit/neodigit.go +++ b/providers/dns/neodigit/neodigit.go @@ -8,7 +8,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/tecnocratica" ) @@ -35,7 +35,7 @@ type Config = tecnocratica.Config // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 5*time.Minute), PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, 10*time.Second), HTTPClient: &http.Client{ diff --git a/providers/dns/netcup/internal/client_live_test.go b/providers/dns/netcup/internal/client_live_test.go index bd5cd0e99..61562f29b 100644 --- a/providers/dns/netcup/internal/client_live_test.go +++ b/providers/dns/netcup/internal/client_live_test.go @@ -6,7 +6,7 @@ import ( "strings" "testing" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/tester" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -35,12 +35,12 @@ func TestClient_GetDNSRecords_Live(t *testing.T) { ctx, err := client.CreateSessionContext(t.Context()) require.NoError(t, err) - info := dnsnew.GetChallengeInfo(ctx, envTest.GetDomain(), "123d==") + info := dns01.GetChallengeInfo(ctx, envTest.GetDomain(), "123d==") - zone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + zone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) require.NoError(t, err) - zone = dnsnew.UnFqdn(zone) + zone = dns01.UnFqdn(zone) // TestMethod _, err = client.GetDNSRecords(ctx, zone) @@ -68,9 +68,9 @@ func TestClient_UpdateDNSRecord_Live(t *testing.T) { ctx, err := client.CreateSessionContext(t.Context()) require.NoError(t, err) - info := dnsnew.GetChallengeInfo(ctx, envTest.GetDomain(), "123d==") + info := dns01.GetChallengeInfo(ctx, envTest.GetDomain(), "123d==") - zone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + zone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) require.NotErrorIs(t, err, fmt.Errorf("error finding DNSZone, %w", err)) hostname := strings.Replace(info.EffectiveFQDN, "."+zone, "", 1) @@ -83,7 +83,7 @@ func TestClient_UpdateDNSRecord_Live(t *testing.T) { } // test - zone = dnsnew.UnFqdn(zone) + zone = dns01.UnFqdn(zone) err = client.UpdateDNSRecord(ctx, zone, []DNSRecord{record}) require.NoError(t, err) diff --git a/providers/dns/netcup/netcup.go b/providers/dns/netcup/netcup.go index cf0c3460d..d58cf0808 100644 --- a/providers/dns/netcup/netcup.go +++ b/providers/dns/netcup/netcup.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/log" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -106,9 +106,9 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - zone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + zone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("netcup: could not find zone for domain %q: %w", domain, err) } @@ -132,7 +132,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { Destination: info.Value, } - zone = dnsnew.UnFqdn(zone) + zone = dns01.UnFqdn(zone) records, err := d.client.GetDNSRecords(ctxAuth, zone) if err != nil { @@ -154,9 +154,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - zone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + zone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("netcup: could not find zone for domain %q: %w", domain, err) } @@ -175,7 +175,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { hostname := strings.Replace(info.EffectiveFQDN, "."+zone, "", 1) - zone = dnsnew.UnFqdn(zone) + zone = dns01.UnFqdn(zone) records, err := d.client.GetDNSRecords(ctxAuth, zone) if err != nil { diff --git a/providers/dns/netcup/netcup_test.go b/providers/dns/netcup/netcup_test.go index 18bea787c..c972a0162 100644 --- a/providers/dns/netcup/netcup_test.go +++ b/providers/dns/netcup/netcup_test.go @@ -4,7 +4,7 @@ import ( "fmt" "testing" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/tester" "github.com/stretchr/testify/require" ) @@ -165,12 +165,12 @@ func TestLivePresentAndCleanup(t *testing.T) { ctx := t.Context() - info := dnsnew.GetChallengeInfo(ctx, envTest.GetDomain(), "123d==") + info := dns01.GetChallengeInfo(ctx, envTest.GetDomain(), "123d==") - zone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + zone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) require.NoError(t, err) - zone = dnsnew.UnFqdn(zone) + zone = dns01.UnFqdn(zone) testCases := []string{ zone, diff --git a/providers/dns/netlify/netlify.go b/providers/dns/netlify/netlify.go index 9a31a505b..72ef52278 100644 --- a/providers/dns/netlify/netlify.go +++ b/providers/dns/netlify/netlify.go @@ -11,7 +11,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/netlify/internal" @@ -44,8 +44,8 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, 300), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -108,17 +108,17 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("netlify: could not find zone for domain %q: %w", domain, err) } - authZone = dnsnew.UnFqdn(authZone) + authZone = dns01.UnFqdn(authZone) record := internal.DNSRecord{ - Hostname: dnsnew.UnFqdn(info.EffectiveFQDN), + Hostname: dns01.UnFqdn(info.EffectiveFQDN), TTL: d.config.TTL, Type: "TXT", Value: info.Value, @@ -140,14 +140,14 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("netlify: could not find zone for domain %q: %w", domain, err) } - authZone = dnsnew.UnFqdn(authZone) + authZone = dns01.UnFqdn(authZone) // gets the record's unique ID from when we created it d.recordIDsMu.Lock() diff --git a/providers/dns/nicmanager/nicmanager.go b/providers/dns/nicmanager/nicmanager.go index 721281869..d7f10a4e5 100644 --- a/providers/dns/nicmanager/nicmanager.go +++ b/providers/dns/nicmanager/nicmanager.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/nicmanager/internal" @@ -57,7 +57,7 @@ func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, minTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 5*time.Minute), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 10*time.Second), }, @@ -144,14 +144,14 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - rootDomain, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + rootDomain, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("nicmanager: could not find zone for domain %q: %w", domain, err) } - zone, err := d.client.GetZone(ctx, dnsnew.UnFqdn(rootDomain)) + zone, err := d.client.GetZone(ctx, dns01.UnFqdn(rootDomain)) if err != nil { return fmt.Errorf("nicmanager: failed to get zone %q: %w", rootDomain, err) } @@ -177,19 +177,19 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - rootDomain, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + rootDomain, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("nicmanager: could not find zone for domain %q: %w", domain, err) } - zone, err := d.client.GetZone(ctx, dnsnew.UnFqdn(rootDomain)) + zone, err := d.client.GetZone(ctx, dns01.UnFqdn(rootDomain)) if err != nil { return fmt.Errorf("nicmanager: failed to get zone %q: %w", rootDomain, err) } - name := dnsnew.UnFqdn(info.EffectiveFQDN) + name := dns01.UnFqdn(info.EffectiveFQDN) var ( existingRecord internal.Record diff --git a/providers/dns/nicru/nicru.go b/providers/dns/nicru/nicru.go index fda84b218..75d59ab53 100644 --- a/providers/dns/nicru/nicru.go +++ b/providers/dns/nicru/nicru.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/nicru/internal" @@ -106,21 +106,21 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("nicru: could not find zone for domain %q: %w", domain, err) } - authZone = dnsnew.UnFqdn(authZone) + authZone = dns01.UnFqdn(authZone) zone, err := d.findZone(ctx, authZone) if err != nil { return fmt.Errorf("nicru: find zone: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("nicru: %w", err) } @@ -164,21 +164,21 @@ func (d *DNSProvider) Present(domain, _, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("nicru: could not find zone for domain %q: %w", domain, err) } - authZone = dnsnew.UnFqdn(authZone) + authZone = dns01.UnFqdn(authZone) zone, err := d.findZone(ctx, authZone) if err != nil { return fmt.Errorf("nicru: find zone: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("nicru: %w", err) } @@ -188,7 +188,7 @@ func (d *DNSProvider) CleanUp(domain, _, keyAuth string) error { return fmt.Errorf("nicru: get records: %w", err) } - subDomain = dnsnew.UnFqdn(subDomain) + subDomain = dns01.UnFqdn(subDomain) for _, record := range records { if record.TXT == nil { diff --git a/providers/dns/nifcloud/nifcloud.go b/providers/dns/nifcloud/nifcloud.go index dc204ae71..203cae24d 100644 --- a/providers/dns/nifcloud/nifcloud.go +++ b/providers/dns/nifcloud/nifcloud.go @@ -11,7 +11,7 @@ import ( "github.com/cenkalti/backoff/v5" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/platform/wait" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -48,9 +48,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -113,7 +113,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) err := d.changeRecord(ctx, "CREATE", info.EffectiveFQDN, info.Value, d.config.TTL) if err != nil { @@ -127,7 +127,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) err := d.changeRecord(ctx, "DELETE", info.EffectiveFQDN, info.Value, d.config.TTL) if err != nil { @@ -144,12 +144,12 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { } func (d *DNSProvider) changeRecord(ctx context.Context, action, fqdn, value string, ttl int) error { - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, fqdn) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, fqdn) if err != nil { return fmt.Errorf("could not find zone: %w", err) } - name := dnsnew.UnFqdn(fqdn) + name := dns01.UnFqdn(fqdn) if authZone == fqdn { name = "@" } @@ -180,7 +180,7 @@ func (d *DNSProvider) changeRecord(ctx context.Context, action, fqdn, value stri }, } - resp, err := d.client.ChangeResourceRecordSets(ctx, dnsnew.UnFqdn(authZone), reqParams) + resp, err := d.client.ChangeResourceRecordSets(ctx, dns01.UnFqdn(authZone), reqParams) if err != nil { return fmt.Errorf("failed to change record set: %w", err) } diff --git a/providers/dns/njalla/njalla.go b/providers/dns/njalla/njalla.go index 05c290160..b04b4300b 100644 --- a/providers/dns/njalla/njalla.go +++ b/providers/dns/njalla/njalla.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/njalla/internal" @@ -44,8 +44,8 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, 300), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -109,7 +109,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) rootDomain, subDomain, err := splitDomain(info.EffectiveFQDN) if err != nil { @@ -117,8 +117,8 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { } record := internal.Record{ - Name: subDomain, // TODO need to be tested - Domain: dnsnew.UnFqdn(rootDomain), // TODO need to be tested + Name: subDomain, // TODO need to be tested + Domain: dns01.UnFqdn(rootDomain), // TODO need to be tested Content: info.Value, TTL: d.config.TTL, Type: "TXT", @@ -139,7 +139,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) rootDomain, _, err := splitDomain(info.EffectiveFQDN) if err != nil { @@ -155,7 +155,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { return fmt.Errorf("njalla: unknown record ID for '%s' '%s'", info.EffectiveFQDN, token) } - err = d.client.RemoveRecord(ctx, recordID, dnsnew.UnFqdn(rootDomain)) + err = d.client.RemoveRecord(ctx, recordID, dns01.UnFqdn(rootDomain)) if err != nil { return fmt.Errorf("njalla: failed to delete TXT records: fqdn=%s, recordID=%s: %w", info.EffectiveFQDN, recordID, err) } diff --git a/providers/dns/nodion/nodion.go b/providers/dns/nodion/nodion.go index da45d3ce2..aa7a31e4a 100644 --- a/providers/dns/nodion/nodion.go +++ b/providers/dns/nodion/nodion.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/nrdcg/nodion" @@ -43,9 +43,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 2*time.Minute), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -113,19 +113,19 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("nodion: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("nodion: %w", err) } - zones, err := d.client.GetZones(ctx, &nodion.ZonesFilter{Name: dnsnew.UnFqdn(authZone)}) + zones, err := d.client.GetZones(ctx, &nodion.ZonesFilter{Name: dns01.UnFqdn(authZone)}) if err != nil { return fmt.Errorf("nodion: %w", err) } @@ -150,7 +150,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { _, err = d.client.CreateRecord(ctx, zoneID, record) if err != nil { return fmt.Errorf("nodion: failed to create TXT records [domain: %s, sub domain: %s]: %w", - dnsnew.UnFqdn(authZone), subDomain, err) + dns01.UnFqdn(authZone), subDomain, err) } d.zoneIDsMu.Lock() @@ -164,9 +164,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("nodion: could not find zone for domain %q: %w", domain, err) } @@ -179,7 +179,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { return fmt.Errorf("nodion: unknown zone ID for '%s' '%s'", info.EffectiveFQDN, token) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("nodion: %w", err) } @@ -205,7 +205,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { _, err = d.client.DeleteRecord(ctx, zoneID, records[0].ID) if err != nil { - return fmt.Errorf("regru: failed to remove TXT records [domain: %s]: %w", dnsnew.UnFqdn(authZone), err) + return fmt.Errorf("regru: failed to remove TXT records [domain: %s]: %w", dns01.UnFqdn(authZone), err) } d.zoneIDsMu.Lock() diff --git a/providers/dns/ns1/ns1.go b/providers/dns/ns1/ns1.go index 5ba5a3489..685098eac 100644 --- a/providers/dns/ns1/ns1.go +++ b/providers/dns/ns1/ns1.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "gopkg.in/ns1/ns1-go.v2/rest" @@ -42,9 +42,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 10*time.Second), }, @@ -94,20 +94,20 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.getHostedZone(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("ns1: %w", err) } - record, _, err := d.client.Records.Get(zone.Zone, dnsnew.UnFqdn(info.EffectiveFQDN), "TXT") + record, _, err := d.client.Records.Get(zone.Zone, dns01.UnFqdn(info.EffectiveFQDN), "TXT") // Create a new record if errors.Is(err, rest.ErrRecordMissing) || record == nil { // Work through a bug in the NS1 API library that causes 400 Input validation failed (Value None for field '.filters' is not of type ...) // So the `tags` and `blockedTags` parameters should be initialized to empty. - record = dns.NewRecord(zone.Zone, dnsnew.UnFqdn(info.EffectiveFQDN), "TXT", make(map[string]string), make([]string, 0)) + record = dns.NewRecord(zone.Zone, dns01.UnFqdn(info.EffectiveFQDN), "TXT", make(map[string]string), make([]string, 0)) record.TTL = d.config.TTL record.Answers = []*dns.Answer{{Rdata: []string{info.Value}}} @@ -137,14 +137,14 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.getHostedZone(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("ns1: %w", err) } - name := dnsnew.UnFqdn(info.EffectiveFQDN) + name := dns01.UnFqdn(info.EffectiveFQDN) _, err = d.client.Records.Delete(zone.Zone, name, "TXT") if err != nil { @@ -161,12 +161,12 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { } func (d *DNSProvider) getHostedZone(ctx context.Context, fqdn string) (*dns.Zone, error) { - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, fqdn) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, fqdn) if err != nil { return nil, fmt.Errorf("could not find zone: %w", err) } - authZone = dnsnew.UnFqdn(authZone) + authZone = dns01.UnFqdn(authZone) zone, _, err := d.client.Zones.Get(authZone, false) if err != nil { diff --git a/providers/dns/octenium/octenium.go b/providers/dns/octenium/octenium.go index 0dd453383..211f49f6c 100644 --- a/providers/dns/octenium/octenium.go +++ b/providers/dns/octenium/octenium.go @@ -9,7 +9,7 @@ import ( "sync" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/log" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -42,9 +42,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -106,9 +106,9 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("octenium: could not find zone for domain '%s': %w", domain, err) } @@ -141,7 +141,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) d.domainIDsMu.Lock() domainID, ok := d.domainIDs[token] @@ -183,7 +183,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { } func (d *DNSProvider) getDomainID(ctx context.Context, authZone string) (string, error) { - domains, err := d.client.ListDomains(ctx, dnsnew.UnFqdn(authZone)) + domains, err := d.client.ListDomains(ctx, dns01.UnFqdn(authZone)) if err != nil { return "", fmt.Errorf("list domains: %w", err) } diff --git a/providers/dns/oraclecloud/oraclecloud.go b/providers/dns/oraclecloud/oraclecloud.go index 434955e90..195373c34 100644 --- a/providers/dns/oraclecloud/oraclecloud.go +++ b/providers/dns/oraclecloud/oraclecloud.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/nrdcg/oci-go-sdk/common/v1065" @@ -72,9 +72,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, time.Minute), }, @@ -158,16 +158,16 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - zoneNameOrID, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + zoneNameOrID, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("oraclecloud: could not find zone for domain %q: %w", domain, err) } // generate request to dns.PatchDomainRecordsRequest recordOperation := dns.RecordOperation{ - Domain: common.String(dnsnew.UnFqdn(info.EffectiveFQDN)), + Domain: common.String(dns01.UnFqdn(info.EffectiveFQDN)), Rdata: common.String(info.Value), Rtype: common.String("TXT"), Ttl: common.Int(d.config.TTL), @@ -177,7 +177,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { request := dns.PatchDomainRecordsRequest{ CompartmentId: common.String(d.config.CompartmentID), ZoneNameOrId: common.String(zoneNameOrID), - Domain: common.String(dnsnew.UnFqdn(info.EffectiveFQDN)), + Domain: common.String(dns01.UnFqdn(info.EffectiveFQDN)), PatchDomainRecordsDetails: dns.PatchDomainRecordsDetails{ Items: []dns.RecordOperation{recordOperation}, }, @@ -195,9 +195,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - zoneNameOrID, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + zoneNameOrID, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("oraclecloud: could not find zone for domain %q: %w", domain, err) } @@ -205,7 +205,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { // search to TXT record's hash to delete getRequest := dns.GetDomainRecordsRequest{ ZoneNameOrId: common.String(zoneNameOrID), - Domain: common.String(dnsnew.UnFqdn(info.EffectiveFQDN)), + Domain: common.String(dns01.UnFqdn(info.EffectiveFQDN)), CompartmentId: common.String(d.config.CompartmentID), Rtype: common.String("TXT"), } @@ -239,7 +239,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { patchRequest := dns.PatchDomainRecordsRequest{ ZoneNameOrId: common.String(zoneNameOrID), - Domain: common.String(dnsnew.UnFqdn(info.EffectiveFQDN)), + Domain: common.String(dns01.UnFqdn(info.EffectiveFQDN)), PatchDomainRecordsDetails: dns.PatchDomainRecordsDetails{ Items: []dns.RecordOperation{recordOperation}, }, diff --git a/providers/dns/otc/otc.go b/providers/dns/otc/otc.go index 672af3089..b53105582 100644 --- a/providers/dns/otc/otc.go +++ b/providers/dns/otc/otc.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/otc/internal" @@ -73,9 +73,9 @@ func NewDefaultConfig() *Config { IdentityEndpoint: env.GetOrDefaultString(EnvIdentityEndpoint, defaultIdentityEndpoint), TTL: env.GetOrDefaultInt(EnvTTL, minTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), - SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dnsnew.DefaultPropagationTimeout), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), + SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dns01.DefaultPropagationTimeout), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 10*time.Second), Transport: tr, @@ -140,9 +140,9 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("otc: could not find zone for domain %q: %w", domain, err) } @@ -177,9 +177,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("otc: could not find zone for domain %q: %w", domain, err) } diff --git a/providers/dns/ovh/ovh.go b/providers/dns/ovh/ovh.go index 2eb975a37..a7b52844a 100644 --- a/providers/dns/ovh/ovh.go +++ b/providers/dns/ovh/ovh.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/internal/useragent" @@ -88,9 +88,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, ovh.DefaultTimeout), }, @@ -176,16 +176,16 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("ovh: could not find zone for domain %q: %w", domain, err) } - authZone = dnsnew.UnFqdn(authZone) + authZone = dns01.UnFqdn(authZone) - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("ovh: %w", err) } @@ -220,7 +220,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // get the record's unique ID from when we created it d.recordIDsMu.Lock() @@ -231,12 +231,12 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { return fmt.Errorf("ovh: unknown record ID for '%s'", info.EffectiveFQDN) } - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("ovh: could not find zone for domain %q: %w", domain, err) } - authZone = dnsnew.UnFqdn(authZone) + authZone = dns01.UnFqdn(authZone) reqURL := fmt.Sprintf("/domain/zone/%s/record/%d", authZone, recordID) diff --git a/providers/dns/pdns/pdns.go b/providers/dns/pdns/pdns.go index d90ccb0cb..8c58a6f3f 100644 --- a/providers/dns/pdns/pdns.go +++ b/providers/dns/pdns/pdns.go @@ -11,7 +11,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/log" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -52,7 +52,7 @@ func NewDefaultConfig() *Config { return &Config{ ServerName: env.GetOrDefaultString(EnvServerName, "localhost"), APIVersion: env.GetOrDefaultInt(EnvAPIVersion, 0), - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 120*time.Second), PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, 2*time.Second), HTTPClient: &http.Client{ @@ -130,9 +130,9 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("pdns: could not find zone for domain %q: %w", domain, err) } @@ -145,7 +145,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { name := info.EffectiveFQDN if d.client.APIVersion() == 0 { // pre-v1 API wants non-fqdn - name = dnsnew.UnFqdn(info.EffectiveFQDN) + name = dns01.UnFqdn(info.EffectiveFQDN) } // Look for existing records. @@ -194,9 +194,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("pdns: could not find zone for domain %q: %w", domain, err) } @@ -248,7 +248,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { func findTxtRecord(zone *internal.HostedZone, fqdn string) *internal.RRSet { for _, set := range zone.RRSets { - if set.Type == "TXT" && (set.Name == dnsnew.UnFqdn(fqdn) || set.Name == fqdn) { + if set.Type == "TXT" && (set.Name == dns01.UnFqdn(fqdn) || set.Name == fqdn) { return &set } } diff --git a/providers/dns/plesk/plesk.go b/providers/dns/plesk/plesk.go index aba51b201..d49e182a2 100644 --- a/providers/dns/plesk/plesk.go +++ b/providers/dns/plesk/plesk.go @@ -11,7 +11,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/plesk/internal" @@ -49,8 +49,8 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, 300), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -127,19 +127,19 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("plesk: could not find zone for domain %q: %w", domain, err) } - siteID, err := d.client.GetSite(ctx, dnsnew.UnFqdn(authZone)) + siteID, err := d.client.GetSite(ctx, dns01.UnFqdn(authZone)) if err != nil { return fmt.Errorf("plesk: failed to get site: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("nodion: %w", err) } @@ -159,7 +159,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) d.recordIDsMu.Lock() recordID, ok := d.recordIDs[token] diff --git a/providers/dns/porkbun/porkbun.go b/providers/dns/porkbun/porkbun.go index 50cecfc21..58cc36c07 100644 --- a/providers/dns/porkbun/porkbun.go +++ b/providers/dns/porkbun/porkbun.go @@ -11,7 +11,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/nrdcg/porkbun" @@ -120,7 +120,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zoneName, hostName, err := splitDomain(ctx, info.EffectiveFQDN) if err != nil { @@ -134,7 +134,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { TTL: strconv.Itoa(d.config.TTL), } - recordID, err := d.client.CreateRecord(ctx, dnsnew.UnFqdn(zoneName), record) + recordID, err := d.client.CreateRecord(ctx, dns01.UnFqdn(zoneName), record) if err != nil { return fmt.Errorf("porkbun: failed to create record: %w", err) } @@ -150,7 +150,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // gets the record's unique ID from when we created it d.recordIDsMu.Lock() @@ -166,7 +166,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { return fmt.Errorf("porkbun: %w", err) } - err = d.client.DeleteRecord(ctx, dnsnew.UnFqdn(zoneName), recordID) + err = d.client.DeleteRecord(ctx, dns01.UnFqdn(zoneName), recordID) if err != nil { return fmt.Errorf("porkbun: failed to delete record: %w", err) } @@ -180,12 +180,12 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { // splitDomain splits the hostname from the authoritative zone, and returns both parts. func splitDomain(ctx context.Context, fqdn string) (string, string, error) { - zone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, fqdn) + zone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, fqdn) if err != nil { return "", "", fmt.Errorf("could not find zone: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(fqdn, zone) + subDomain, err := dns01.ExtractSubDomain(fqdn, zone) if err != nil { return "", "", err } diff --git a/providers/dns/rackspace/internal/client.go b/providers/dns/rackspace/internal/client.go index 2a7f9d2d6..ee7115b92 100644 --- a/providers/dns/rackspace/internal/client.go +++ b/providers/dns/rackspace/internal/client.go @@ -10,7 +10,7 @@ import ( "net/url" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/providers/dns/internal/errutils" ) @@ -80,12 +80,12 @@ func (c *Client) DeleteRecord(ctx context.Context, zoneID, recordID string) erro // GetHostedZoneID performs a lookup to get the DNS zone which needs modifying for a given FQDN. func (c *Client) GetHostedZoneID(ctx context.Context, fqdn string) (string, error) { - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, fqdn) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, fqdn) if err != nil { return "", fmt.Errorf("could not find zone: %w", err) } - zoneSearchResponse, err := c.listDomainsByName(ctx, dnsnew.UnFqdn(authZone)) + zoneSearchResponse, err := c.listDomainsByName(ctx, dns01.UnFqdn(authZone)) if err != nil { return "", err } @@ -124,7 +124,7 @@ func (c *Client) listDomainsByName(ctx context.Context, domain string) (*ZoneSea // FindTxtRecord searches a DNS zone for a TXT record with a specific name. func (c *Client) FindTxtRecord(ctx context.Context, fqdn, zoneID string) (*Record, error) { - records, err := c.searchRecords(ctx, zoneID, dnsnew.UnFqdn(fqdn), "TXT") + records, err := c.searchRecords(ctx, zoneID, dns01.UnFqdn(fqdn), "TXT") if err != nil { return nil, err } diff --git a/providers/dns/rackspace/rackspace.go b/providers/dns/rackspace/rackspace.go index 656da0ba3..ff11e2c24 100644 --- a/providers/dns/rackspace/rackspace.go +++ b/providers/dns/rackspace/rackspace.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/rackspace/internal" @@ -46,8 +46,8 @@ func NewDefaultConfig() *Config { return &Config{ BaseURL: internal.DefaultIdentityURL, TTL: env.GetOrDefaultInt(EnvTTL, 300), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -133,7 +133,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zoneID, err := d.client.GetHostedZoneID(ctx, info.EffectiveFQDN) if err != nil { @@ -141,7 +141,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { } record := internal.Record{ - Name: dnsnew.UnFqdn(info.EffectiveFQDN), + Name: dns01.UnFqdn(info.EffectiveFQDN), Type: "TXT", Data: info.Value, TTL: d.config.TTL, @@ -158,7 +158,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zoneID, err := d.client.GetHostedZoneID(ctx, info.EffectiveFQDN) if err != nil { diff --git a/providers/dns/rainyun/rainyun.go b/providers/dns/rainyun/rainyun.go index 09f80dab5..f2d305aee 100644 --- a/providers/dns/rainyun/rainyun.go +++ b/providers/dns/rainyun/rainyun.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/rainyun/internal" @@ -43,9 +43,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 2*time.Minute), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -97,19 +97,19 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("rainyun: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("rainyun: %w", err) } - domainID, err := d.findDomainID(ctx, dnsnew.UnFqdn(authZone)) + domainID, err := d.findDomainID(ctx, dns01.UnFqdn(authZone)) if err != nil { return fmt.Errorf("rainyun: find domain ID: %w", err) } @@ -134,14 +134,14 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("rainyun: could not find zone for domain %q: %w", domain, err) } - domainID, err := d.findDomainID(ctx, dnsnew.UnFqdn(authZone)) + domainID, err := d.findDomainID(ctx, dns01.UnFqdn(authZone)) if err != nil { return fmt.Errorf("rainyun: find domain ID: %w", err) } @@ -180,13 +180,13 @@ func (d *DNSProvider) findDomainID(ctx context.Context, domain string) (int, err return 0, fmt.Errorf("domain not found: %s", domain) } -func (d *DNSProvider) findRecordID(ctx context.Context, domainID int, info dnsnew.ChallengeInfo) (int, error) { +func (d *DNSProvider) findRecordID(ctx context.Context, domainID int, info dns01.ChallengeInfo) (int, error) { records, err := d.client.ListRecords(ctx, domainID) if err != nil { return 0, fmt.Errorf("list records: %w", err) } - zone := dnsnew.UnFqdn(info.EffectiveFQDN) + zone := dns01.UnFqdn(info.EffectiveFQDN) for _, record := range records { if strings.HasPrefix(zone, record.Host) && record.Value == info.Value { diff --git a/providers/dns/rcodezero/rcodezero.go b/providers/dns/rcodezero/rcodezero.go index b6a5db943..04c406922 100644 --- a/providers/dns/rcodezero/rcodezero.go +++ b/providers/dns/rcodezero/rcodezero.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/rcodezero/internal" @@ -41,7 +41,7 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 4*time.Minute), PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, 10*time.Second), HTTPClient: &http.Client{ @@ -101,9 +101,9 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("rcodezero: could not find zone for domain %q: %w", domain, err) } @@ -127,9 +127,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("rcodezero: could not find zone for domain %q: %w", domain, err) } diff --git a/providers/dns/regfish/regfish.go b/providers/dns/regfish/regfish.go index 23b8e5d14..e6c59dfe9 100644 --- a/providers/dns/regfish/regfish.go +++ b/providers/dns/regfish/regfish.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" regfishapi "github.com/regfish/regfish-dnsapi-go" @@ -43,9 +43,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -105,7 +105,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) record := regfishapi.Record{ Name: info.EffectiveFQDN, @@ -129,7 +129,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // get the record's unique ID from when we created it d.recordIDsMu.Lock() diff --git a/providers/dns/regru/regru.go b/providers/dns/regru/regru.go index 5b6e7ddf2..9d03d3d76 100644 --- a/providers/dns/regru/regru.go +++ b/providers/dns/regru/regru.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/regru/internal" @@ -50,8 +50,8 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, 300), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -134,22 +134,22 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("regru: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("regru: %w", err) } - err = d.client.AddTXTRecord(ctx, dnsnew.UnFqdn(authZone), subDomain, info.Value) + err = d.client.AddTXTRecord(ctx, dns01.UnFqdn(authZone), subDomain, info.Value) if err != nil { return fmt.Errorf("regru: failed to create TXT records [domain: %s, sub domain: %s]: %w", - dnsnew.UnFqdn(authZone), subDomain, err) + dns01.UnFqdn(authZone), subDomain, err) } return nil @@ -159,22 +159,22 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("regru: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("regru: %w", err) } - err = d.client.RemoveTxtRecord(ctx, dnsnew.UnFqdn(authZone), subDomain, info.Value) + err = d.client.RemoveTxtRecord(ctx, dns01.UnFqdn(authZone), subDomain, info.Value) if err != nil { return fmt.Errorf("regru: failed to remove TXT records [domain: %s, sub domain: %s]: %w", - dnsnew.UnFqdn(authZone), subDomain, err) + dns01.UnFqdn(authZone), subDomain, err) } return nil diff --git a/providers/dns/rfc2136/rfc2136.go b/providers/dns/rfc2136/rfc2136.go index dd2cda856..c1dc3647c 100644 --- a/providers/dns/rfc2136/rfc2136.go +++ b/providers/dns/rfc2136/rfc2136.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/rfc2136/internal" "github.com/miekg/dns" @@ -58,10 +58,10 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TSIGAlgorithm: env.GetOrDefaultString(EnvTSIGAlgorithm, dns.HmacSHA1), - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, env.GetOrDefaultSecond("RFC2136_TIMEOUT", dnsnew.DefaultPropagationTimeout)), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), - SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dnsnew.DefaultPropagationTimeout), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, env.GetOrDefaultSecond("RFC2136_TIMEOUT", dns01.DefaultPropagationTimeout)), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), + SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dns01.DefaultPropagationTimeout), DNSTimeout: env.GetOrDefaultSecond(EnvDNSTimeout, 10*time.Second), } } @@ -167,7 +167,7 @@ func (d *DNSProvider) Sequential() time.Duration { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) err := d.changeRecord(ctx, "INSERT", info.EffectiveFQDN, info.Value, d.config.TTL) if err != nil { @@ -180,7 +180,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) err := d.changeRecord(ctx, "REMOVE", info.EffectiveFQDN, info.Value, d.config.TTL) if err != nil { @@ -192,7 +192,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { func (d *DNSProvider) changeRecord(ctx context.Context, action, fqdn, value string, ttl int) error { // Find the zone for the given fqdn - zone, err := dnsnew.DefaultClient().FindZoneByFqdnCustom(ctx, fqdn, []string{d.config.Nameserver}) + zone, err := dns01.DefaultClient().FindZoneByFqdnCustom(ctx, fqdn, []string{d.config.Nameserver}) if err != nil { return err } diff --git a/providers/dns/rfc2136/rfc2136_test.go b/providers/dns/rfc2136/rfc2136_test.go index c4a836531..5c1495f7b 100644 --- a/providers/dns/rfc2136/rfc2136_test.go +++ b/providers/dns/rfc2136/rfc2136_test.go @@ -6,7 +6,7 @@ import ( "testing" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/tester" "github.com/go-acme/lego/v5/platform/tester/dnsmock" "github.com/miekg/dns" @@ -162,7 +162,7 @@ func TestNewDNSProviderConfig(t *testing.T) { } func TestDNSProvider_Present_success(t *testing.T) { - dnsnew.DefaultClient().ClearFqdnCache() + dns01.DefaultClient().ClearFqdnCache() addr := dnsmock.NewServer(). Query(fakeZone+" SOA", dnsmock.SOA("")). @@ -180,7 +180,7 @@ func TestDNSProvider_Present_success(t *testing.T) { } func TestDNSProvider_Present_success_updatePacket(t *testing.T) { - dnsnew.DefaultClient().ClearFqdnCache() + dns01.DefaultClient().ClearFqdnCache() reqChan := make(chan *dns.Msg, 1) @@ -237,7 +237,7 @@ func TestDNSProvider_Present_success_updatePacket(t *testing.T) { } func TestDNSProvider_Present_error(t *testing.T) { - dnsnew.DefaultClient().ClearFqdnCache() + dns01.DefaultClient().ClearFqdnCache() addr := dnsmock.NewServer(). Query(fakeZone+" SOA", dnsmock.Error(dns.RcodeNotZone)). @@ -258,7 +258,7 @@ func TestDNSProvider_Present_error(t *testing.T) { } func TestDNSProvider_Present_tsig_success(t *testing.T) { - dnsnew.DefaultClient().ClearFqdnCache() + dns01.DefaultClient().ClearFqdnCache() addr := dnsmock.NewServer(). Query(fakeZone+" SOA", dnsmock.SOA("")). @@ -282,7 +282,7 @@ func TestDNSProvider_Present_tsig_success(t *testing.T) { } func TestDNSProvider_Present_tsig_error(t *testing.T) { - dnsnew.DefaultClient().ClearFqdnCache() + dns01.DefaultClient().ClearFqdnCache() addr := dnsmock.NewServer(). Query(fakeZone+" SOA", dnsmock.SOA("")). diff --git a/providers/dns/rimuhosting/rimuhosting.go b/providers/dns/rimuhosting/rimuhosting.go index 34d71176c..6466a5eb4 100644 --- a/providers/dns/rimuhosting/rimuhosting.go +++ b/providers/dns/rimuhosting/rimuhosting.go @@ -8,7 +8,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/rimuhosting" ) @@ -34,8 +34,8 @@ type Config = rimuhosting.Config func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, rimuhosting.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, diff --git a/providers/dns/route53/route53.go b/providers/dns/route53/route53.go index 16bdb7e0d..f3fb81ec2 100644 --- a/providers/dns/route53/route53.go +++ b/providers/dns/route53/route53.go @@ -19,7 +19,7 @@ import ( "github.com/aws/aws-sdk-go-v2/service/sts" "github.com/cenkalti/backoff/v5" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/platform/wait" "github.com/go-acme/lego/v5/providers/dns/internal/ptr" @@ -140,7 +140,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) hostedZoneID, err := d.getHostedZoneID(ctx, info.EffectiveFQDN) if err != nil { @@ -184,7 +184,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) hostedZoneID, err := d.getHostedZoneID(ctx, info.EffectiveFQDN) if err != nil { @@ -305,14 +305,14 @@ func (d *DNSProvider) getHostedZoneID(ctx context.Context, fqdn string) (string, return d.config.HostedZoneID, nil } - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, fqdn) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, fqdn) if err != nil { return "", fmt.Errorf("could not find zone for FQDN %q: %w", fqdn, err) } // .DNSName should not have a trailing dot reqParams := &route53.ListHostedZonesByNameInput{ - DNSName: aws.String(dnsnew.UnFqdn(authZone)), + DNSName: aws.String(dns01.UnFqdn(authZone)), } resp, err := d.client.ListHostedZonesByName(ctx, reqParams) diff --git a/providers/dns/safedns/internal/client.go b/providers/dns/safedns/internal/client.go index a237335bc..e6ca47dfb 100644 --- a/providers/dns/safedns/internal/client.go +++ b/providers/dns/safedns/internal/client.go @@ -11,7 +11,7 @@ import ( "strconv" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/providers/dns/internal/errutils" ) @@ -40,7 +40,7 @@ func NewClient(authToken string) *Client { // AddRecord adds a DNS record. func (c *Client) AddRecord(ctx context.Context, zone string, record Record) (*AddRecordResponse, error) { - endpoint := c.baseURL.JoinPath("zones", dnsnew.UnFqdn(zone), "records") + endpoint := c.baseURL.JoinPath("zones", dns01.UnFqdn(zone), "records") req, err := newJSONRequest(ctx, http.MethodPost, endpoint, record) if err != nil { @@ -59,7 +59,7 @@ func (c *Client) AddRecord(ctx context.Context, zone string, record Record) (*Ad // RemoveRecord removes a DNS record. func (c *Client) RemoveRecord(ctx context.Context, zone string, recordID int) error { - endpoint := c.baseURL.JoinPath("zones", dnsnew.UnFqdn(zone), "records", strconv.Itoa(recordID)) + endpoint := c.baseURL.JoinPath("zones", dns01.UnFqdn(zone), "records", strconv.Itoa(recordID)) req, err := newJSONRequest(ctx, http.MethodDelete, endpoint, nil) if err != nil { diff --git a/providers/dns/safedns/internal/client_test.go b/providers/dns/safedns/internal/client_test.go index 1030e1b02..01ae5a468 100644 --- a/providers/dns/safedns/internal/client_test.go +++ b/providers/dns/safedns/internal/client_test.go @@ -6,7 +6,7 @@ import ( "net/url" "testing" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/tester/servermock" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -37,7 +37,7 @@ func TestClient_AddRecord(t *testing.T) { Name: "_acme-challenge.example.com", Type: "TXT", Content: `"w6uP8Tcg6K2QR905Rms8iXTlksL6OD1KOWBxTK7wxPI"`, - TTL: dnsnew.DefaultTTL, + TTL: dns01.DefaultTTL, } response, err := client.AddRecord(t.Context(), "example.com", record) @@ -70,7 +70,7 @@ func TestClient_AddRecord_error(t *testing.T) { Name: "_acme-challenge.example.com", Type: "TXT", Content: `"w6uP8Tcg6K2QR905Rms8iXTlksL6OD1KOWBxTK7wxPI"`, - TTL: dnsnew.DefaultTTL, + TTL: dns01.DefaultTTL, } _, err := client.AddRecord(t.Context(), "example.com", record) diff --git a/providers/dns/safedns/safedns.go b/providers/dns/safedns/safedns.go index b25c9c8b1..ce0f1055a 100644 --- a/providers/dns/safedns/safedns.go +++ b/providers/dns/safedns/safedns.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/safedns/internal" @@ -44,9 +44,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -110,15 +110,15 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - zone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, dns.Fqdn(info.EffectiveFQDN)) + zone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, dns.Fqdn(info.EffectiveFQDN)) if err != nil { return fmt.Errorf("safedns: could not find zone for domain %q: %w", domain, err) } record := internal.Record{ - Name: dnsnew.UnFqdn(info.EffectiveFQDN), + Name: dns01.UnFqdn(info.EffectiveFQDN), Type: "TXT", Content: fmt.Sprintf("%q", info.Value), TTL: d.config.TTL, @@ -140,9 +140,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("safedns: could not find zone for domain %q: %w", domain, err) } diff --git a/providers/dns/sakuracloud/sakuracloud.go b/providers/dns/sakuracloud/sakuracloud.go index c4c598489..24082e624 100644 --- a/providers/dns/sakuracloud/sakuracloud.go +++ b/providers/dns/sakuracloud/sakuracloud.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/internal/useragent" @@ -48,9 +48,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 10*time.Second), }, @@ -116,7 +116,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) err := d.addTXTRecord(ctx, info.EffectiveFQDN, info.Value, d.config.TTL) if err != nil { @@ -129,7 +129,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) err := d.cleanupTXTRecord(ctx, info.EffectiveFQDN, info.Value) if err != nil { diff --git a/providers/dns/sakuracloud/wrapper.go b/providers/dns/sakuracloud/wrapper.go index 86686d015..3a1dd1557 100644 --- a/providers/dns/sakuracloud/wrapper.go +++ b/providers/dns/sakuracloud/wrapper.go @@ -5,7 +5,7 @@ import ( "fmt" "sync" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/sacloud/iaas-api-go" "github.com/sacloud/iaas-api-go/search" ) @@ -23,7 +23,7 @@ func (d *DNSProvider) addTXTRecord(ctx context.Context, fqdn, value string, ttl return err } - subDomain, err := dnsnew.ExtractSubDomain(fqdn, zone.Name) + subDomain, err := dns01.ExtractSubDomain(fqdn, zone.Name) if err != nil { return err } @@ -55,7 +55,7 @@ func (d *DNSProvider) cleanupTXTRecord(ctx context.Context, fqdn, value string) return err } - subDomain, err := dnsnew.ExtractSubDomain(fqdn, zone.Name) + subDomain, err := dns01.ExtractSubDomain(fqdn, zone.Name) if err != nil { return err } @@ -82,12 +82,12 @@ func (d *DNSProvider) cleanupTXTRecord(ctx context.Context, fqdn, value string) } func (d *DNSProvider) getHostedZone(ctx context.Context, domain string) (*iaas.DNS, error) { - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, domain) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, domain) if err != nil { return nil, fmt.Errorf("could not find zone: %w", err) } - zoneName := dnsnew.UnFqdn(authZone) + zoneName := dns01.UnFqdn(authZone) conditions := &iaas.FindCondition{ Filter: search.Filter{ diff --git a/providers/dns/scaleway/scaleway.go b/providers/dns/scaleway/scaleway.go index 5e03e3547..a9880a1e3 100644 --- a/providers/dns/scaleway/scaleway.go +++ b/providers/dns/scaleway/scaleway.go @@ -12,7 +12,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/internal/useragent" @@ -142,7 +142,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record to fulfill DNS-01 challenge. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) records := []*scwdomain.Record{{ Data: fmt.Sprintf(`%q`, info.Value), @@ -172,7 +172,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes a TXT record used for DNS-01 challenge. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) recordIdentifier := &scwdomain.RecordIdentifier{ Name: info.EffectiveFQDN, diff --git a/providers/dns/selectel/selectel.go b/providers/dns/selectel/selectel.go index 53bab126e..9af361ef6 100644 --- a/providers/dns/selectel/selectel.go +++ b/providers/dns/selectel/selectel.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/selectel" ) @@ -39,7 +39,7 @@ func NewDefaultConfig() *Config { BaseURL: env.GetOrDefaultString(EnvBaseURL, ""), TTL: env.GetOrDefaultInt(EnvTTL, selectel.MinTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 120*time.Second), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, diff --git a/providers/dns/selectelv2/selectelv2.go b/providers/dns/selectelv2/selectelv2.go index fdf24e76b..aba8d647b 100644 --- a/providers/dns/selectelv2/selectelv2.go +++ b/providers/dns/selectelv2/selectelv2.go @@ -9,7 +9,7 @@ import ( "strings" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/internal/useragent" @@ -155,14 +155,14 @@ func (d *DNSProvider) Present(domain, _, keyAuth string) error { return fmt.Errorf("selectelv2: authorize: %w", err) } - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := client.getZone(ctx, domain) if err != nil { return fmt.Errorf("selectelv2: get zone: %w", err) } - rrset, err := client.getRRset(ctx, dnsnew.UnFqdn(info.EffectiveFQDN), zone.ID) + rrset, err := client.getRRset(ctx, dns01.UnFqdn(info.EffectiveFQDN), zone.ID) if err != nil { if !errors.Is(err, errNotFound) { return fmt.Errorf("selectelv2: get RRSet: %w", err) @@ -202,14 +202,14 @@ func (d *DNSProvider) CleanUp(domain, _, keyAuth string) error { return fmt.Errorf("selectelv2: authorize: %w", err) } - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := client.getZone(ctx, domain) if err != nil { return fmt.Errorf("selectelv2: get zone: %w", err) } - rrset, err := client.getRRset(ctx, dnsnew.UnFqdn(info.EffectiveFQDN), zone.ID) + rrset, err := client.getRRset(ctx, dns01.UnFqdn(info.EffectiveFQDN), zone.ID) if err != nil { return fmt.Errorf("selectelv2: get RRSet: %w", err) } @@ -293,7 +293,7 @@ func (w *clientWrapper) getZone(ctx context.Context, name string) (*selectelapi. } } - if len(strings.Split(dnsnew.UnFqdn(name), ".")) == 1 { + if len(strings.Split(dns01.UnFqdn(name), ".")) == 1 { return nil, fmt.Errorf("zone '%s' for challenge has not been found", name) } diff --git a/providers/dns/selfhostde/selfhostde.go b/providers/dns/selfhostde/selfhostde.go index bd4d308d0..c562355ca 100644 --- a/providers/dns/selfhostde/selfhostde.go +++ b/providers/dns/selfhostde/selfhostde.go @@ -11,7 +11,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/selfhostde/internal" @@ -50,7 +50,7 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 4*time.Minute), PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, 30*time.Second), HTTPClient: &http.Client{ @@ -151,9 +151,9 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - recordID, err := d.config.getSeqNext(dnsnew.UnFqdn(info.EffectiveFQDN)) + recordID, err := d.config.getSeqNext(dns01.UnFqdn(info.EffectiveFQDN)) if err != nil { return fmt.Errorf("selfhostde: %w", err) } @@ -173,14 +173,14 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record previously created. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) d.recordIDsMu.Lock() recordID, ok := d.recordIDs[token] d.recordIDsMu.Unlock() if !ok { - return fmt.Errorf("selfhostde: unknown record ID for %q", dnsnew.UnFqdn(info.EffectiveFQDN)) + return fmt.Errorf("selfhostde: unknown record ID for %q", dns01.UnFqdn(info.EffectiveFQDN)) } err := d.client.UpdateTXTRecord(ctx, recordID, "empty") diff --git a/providers/dns/servercow/servercow.go b/providers/dns/servercow/servercow.go index 088cd3d98..09c8279c0 100644 --- a/providers/dns/servercow/servercow.go +++ b/providers/dns/servercow/servercow.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/servercow/internal" @@ -45,9 +45,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -104,7 +104,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) authZone, err := getAuthZone(ctx, info.EffectiveFQDN) if err != nil { @@ -116,7 +116,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { return fmt.Errorf("servercow: %w", err) } - recordName, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + recordName, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("servercow: %w", err) } @@ -163,7 +163,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) authZone, err := getAuthZone(ctx, info.EffectiveFQDN) if err != nil { @@ -175,7 +175,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { return fmt.Errorf("servercow: failed to get TXT records: %w", err) } - recordName, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + recordName, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("servercow: %w", err) } @@ -220,12 +220,12 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { } func getAuthZone(ctx context.Context, domain string) (string, error) { - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, domain) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, domain) if err != nil { return "", fmt.Errorf("could not find zone: %w", err) } - return dnsnew.UnFqdn(authZone), nil + return dns01.UnFqdn(authZone), nil } func findRecords(records []internal.Record, name string) *internal.Record { diff --git a/providers/dns/shellrent/shellrent.go b/providers/dns/shellrent/shellrent.go index 787fd0366..90e2b8699 100644 --- a/providers/dns/shellrent/shellrent.go +++ b/providers/dns/shellrent/shellrent.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/shellrent/internal" @@ -122,14 +122,14 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - zone, err := d.findZone(ctx, dnsnew.UnFqdn(info.EffectiveFQDN)) + zone, err := d.findZone(ctx, dns01.UnFqdn(info.EffectiveFQDN)) if err != nil { return fmt.Errorf("shellrent: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zone.DomainName) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zone.DomainName) if err != nil { return fmt.Errorf("shellrent: %w", err) } @@ -156,7 +156,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // gets the record's unique ID from when we created it d.recordIDsMu.Lock() diff --git a/providers/dns/simply/simply.go b/providers/dns/simply/simply.go index a76c5a921..896376abd 100644 --- a/providers/dns/simply/simply.go +++ b/providers/dns/simply/simply.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/simply/internal" @@ -44,7 +44,7 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 5*time.Minute), PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, 10*time.Second), HTTPClient: &http.Client{ @@ -119,16 +119,16 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("simply: could not find zone for domain %q: %w", domain, err) } - authZone = dnsnew.UnFqdn(authZone) + authZone = dns01.UnFqdn(authZone) - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("regru: %w", err) } @@ -156,14 +156,14 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("simply: could not find zone for domain %q: %w", domain, err) } - authZone = dnsnew.UnFqdn(authZone) + authZone = dns01.UnFqdn(authZone) // gets the record's unique ID from when we created it d.recordIDsMu.Lock() diff --git a/providers/dns/sonic/sonic.go b/providers/dns/sonic/sonic.go index 983f81ca9..8c57748f4 100644 --- a/providers/dns/sonic/sonic.go +++ b/providers/dns/sonic/sonic.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/sonic/internal" @@ -45,10 +45,10 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 10*time.Second), }, @@ -100,9 +100,9 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - err := d.client.SetRecord(ctx, dnsnew.UnFqdn(info.EffectiveFQDN), info.Value, d.config.TTL) + err := d.client.SetRecord(ctx, dns01.UnFqdn(info.EffectiveFQDN), info.Value, d.config.TTL) if err != nil { return fmt.Errorf("sonic: unable to create record for %s: %w", info.EffectiveFQDN, err) } @@ -113,9 +113,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT records matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - err := d.client.SetRecord(ctx, dnsnew.UnFqdn(info.EffectiveFQDN), "_", d.config.TTL) + err := d.client.SetRecord(ctx, dns01.UnFqdn(info.EffectiveFQDN), "_", d.config.TTL) if err != nil { return fmt.Errorf("sonic: unable to clean record for %s: %w", info.EffectiveFQDN, err) } diff --git a/providers/dns/spaceship/spaceship.go b/providers/dns/spaceship/spaceship.go index 654a717df..2daa9a341 100644 --- a/providers/dns/spaceship/spaceship.go +++ b/providers/dns/spaceship/spaceship.go @@ -8,7 +8,7 @@ import ( "net/http" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/spaceship/internal" @@ -41,9 +41,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -97,14 +97,14 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("spaceship: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("spaceship: %w", err) } @@ -116,7 +116,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { TTL: d.config.TTL, } - err = d.client.AddRecord(ctx, dnsnew.UnFqdn(authZone), record) + err = d.client.AddRecord(ctx, dns01.UnFqdn(authZone), record) if err != nil { return fmt.Errorf("spaceship: %w", err) } @@ -128,14 +128,14 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("spaceship: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("spaceship: %w", err) } @@ -146,7 +146,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { Value: info.Value, } - err = d.client.DeleteRecord(ctx, dnsnew.UnFqdn(authZone), record) + err = d.client.DeleteRecord(ctx, dns01.UnFqdn(authZone), record) if err != nil { return fmt.Errorf("spaceship: %w", err) } diff --git a/providers/dns/stackpath/internal/client.go b/providers/dns/stackpath/internal/client.go index afab8d78a..f28ba576b 100644 --- a/providers/dns/stackpath/internal/client.go +++ b/providers/dns/stackpath/internal/client.go @@ -9,7 +9,7 @@ import ( "net/http" "net/url" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/providers/dns/internal/errutils" "golang.org/x/net/publicsuffix" ) @@ -45,7 +45,7 @@ func (c *Client) GetZones(ctx context.Context, domain string) (*Zone, error) { return nil, err } - tld, err := publicsuffix.EffectiveTLDPlusOne(dnsnew.UnFqdn(domain)) + tld, err := publicsuffix.EffectiveTLDPlusOne(dns01.UnFqdn(domain)) if err != nil { return nil, err } diff --git a/providers/dns/stackpath/stackpath.go b/providers/dns/stackpath/stackpath.go index 3ad85a3e1..1a21e6568 100644 --- a/providers/dns/stackpath/stackpath.go +++ b/providers/dns/stackpath/stackpath.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/stackpath/internal" @@ -43,9 +43,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), } } @@ -99,14 +99,14 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.client.GetZones(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("stackpath: get zones: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zone.Domain) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zone.Domain) if err != nil { return fmt.Errorf("stackpath: %w", err) } @@ -129,14 +129,14 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.client.GetZones(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("stackpath: get zones: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zone.Domain) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zone.Domain) if err != nil { return fmt.Errorf("stackpath: %w", err) } diff --git a/providers/dns/syse/syse.go b/providers/dns/syse/syse.go index 11cfccdf6..da0fff0a4 100644 --- a/providers/dns/syse/syse.go +++ b/providers/dns/syse/syse.go @@ -9,7 +9,7 @@ import ( "sync" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/syse/internal" @@ -40,7 +40,7 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 1200*time.Second), PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, 10*time.Second), HTTPClient: &http.Client{ @@ -119,14 +119,14 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("syse: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("syse: %w", err) } @@ -139,7 +139,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { Active: true, } - newRecord, err := d.client.CreateRecord(ctx, dnsnew.UnFqdn(authZone), record) + newRecord, err := d.client.CreateRecord(ctx, dns01.UnFqdn(authZone), record) if err != nil { return fmt.Errorf("syse: create record: %w", err) } @@ -155,9 +155,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("syse: could not find zone for domain %q: %w", domain, err) } @@ -171,7 +171,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { return fmt.Errorf("syse: unknown record ID for '%s' '%s'", info.EffectiveFQDN, token) } - err = d.client.DeleteRecord(ctx, dnsnew.UnFqdn(authZone), recordID) + err = d.client.DeleteRecord(ctx, dns01.UnFqdn(authZone), recordID) if err != nil { return fmt.Errorf("syse: delete record: %w", err) } diff --git a/providers/dns/technitium/technitium.go b/providers/dns/technitium/technitium.go index 6c910de44..c88085182 100644 --- a/providers/dns/technitium/technitium.go +++ b/providers/dns/technitium/technitium.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/technitium/internal" @@ -44,9 +44,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -99,7 +99,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) record := internal.Record{ Domain: info.EffectiveFQDN, @@ -118,7 +118,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) record := internal.Record{ Domain: info.EffectiveFQDN, diff --git a/providers/dns/tencentcloud/tencentcloud.go b/providers/dns/tencentcloud/tencentcloud.go index f3e582c58..1b80441e4 100644 --- a/providers/dns/tencentcloud/tencentcloud.go +++ b/providers/dns/tencentcloud/tencentcloud.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" dnspod "github.com/go-acme/tencentclouddnspod/v20210323" "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common" @@ -50,8 +50,8 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, 600), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPTimeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), } } @@ -117,7 +117,7 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.getHostedZone(ctx, info.EffectiveFQDN) if err != nil { @@ -149,7 +149,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.getHostedZone(ctx, info.EffectiveFQDN) if err != nil { diff --git a/providers/dns/tencentcloud/wrapper.go b/providers/dns/tencentcloud/wrapper.go index 59a5afbdc..c5a580254 100644 --- a/providers/dns/tencentcloud/wrapper.go +++ b/providers/dns/tencentcloud/wrapper.go @@ -5,7 +5,7 @@ import ( "errors" "fmt" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" dnspod "github.com/go-acme/tencentclouddnspod/v20210323" "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common" errorsdk "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors" @@ -32,7 +32,7 @@ func (d *DNSProvider) getHostedZone(ctx context.Context, domain string) (*dnspod request.Offset = common.Int64Ptr(int64(len(domains))) } - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, domain) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, domain) if err != nil { return nil, fmt.Errorf("could not find zone: %w", err) } @@ -40,7 +40,7 @@ func (d *DNSProvider) getHostedZone(ctx context.Context, domain string) (*dnspod var hostedZone *dnspod.DomainListItem for _, zone := range domains { - unfqdn := dnsnew.UnFqdn(authZone) + unfqdn := dns01.UnFqdn(authZone) if *zone.Name == unfqdn || *zone.Punycode == unfqdn { hostedZone = zone } @@ -87,7 +87,7 @@ func extractRecordName(fqdn, zone string) (string, error) { return "", fmt.Errorf("fail to convert punycode: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(fqdn, asciiDomain) + subDomain, err := dns01.ExtractSubDomain(fqdn, asciiDomain) if err != nil { return "", err } diff --git a/providers/dns/timewebcloud/internal/client.go b/providers/dns/timewebcloud/internal/client.go index 5dc464820..9de2d1c1e 100644 --- a/providers/dns/timewebcloud/internal/client.go +++ b/providers/dns/timewebcloud/internal/client.go @@ -11,7 +11,7 @@ import ( "strconv" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/providers/dns/internal/errutils" "golang.org/x/oauth2" ) @@ -41,7 +41,7 @@ func NewClient(hc *http.Client) *Client { // CreateRecord creates a DNS record. // https://timeweb.cloud/api-docs#tag/Domeny/operation/createDomainDNSRecord func (c *Client) CreateRecord(ctx context.Context, zone string, record DNSRecord) (*DNSRecord, error) { - endpoint := c.baseURL.JoinPath("v1", "domains", dnsnew.UnFqdn(zone), "dns-records") + endpoint := c.baseURL.JoinPath("v1", "domains", dns01.UnFqdn(zone), "dns-records") req, err := newJSONRequest(ctx, http.MethodPost, endpoint, record) if err != nil { @@ -61,7 +61,7 @@ func (c *Client) CreateRecord(ctx context.Context, zone string, record DNSRecord // DeleteRecord deletes a DNS record. // https://timeweb.cloud/api-docs#tag/Domeny/operation/deleteDomainDNSRecord func (c *Client) DeleteRecord(ctx context.Context, zone string, recordID int) error { - endpoint := c.baseURL.JoinPath("v1", "domains", dnsnew.UnFqdn(zone), "dns-records", strconv.Itoa(recordID)) + endpoint := c.baseURL.JoinPath("v1", "domains", dns01.UnFqdn(zone), "dns-records", strconv.Itoa(recordID)) req, err := newJSONRequest(ctx, http.MethodDelete, endpoint, nil) if err != nil { diff --git a/providers/dns/timewebcloud/timewebcloud.go b/providers/dns/timewebcloud/timewebcloud.go index 40599983d..2d52ec17e 100644 --- a/providers/dns/timewebcloud/timewebcloud.go +++ b/providers/dns/timewebcloud/timewebcloud.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/timewebcloud/internal" @@ -41,8 +41,8 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 10*time.Second), }, @@ -105,14 +105,14 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("timewebcloud: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("timewebcloud: %w", err) } @@ -139,9 +139,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("timewebcloud: could not find zone for domain %q: %w", domain, err) } diff --git a/providers/dns/todaynic/todaynic.go b/providers/dns/todaynic/todaynic.go index d70abb27d..46b483101 100644 --- a/providers/dns/todaynic/todaynic.go +++ b/providers/dns/todaynic/todaynic.go @@ -10,7 +10,7 @@ import ( "sync" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/todaynic/internal" @@ -44,8 +44,8 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, 600), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -103,20 +103,20 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("todaynic: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("todaynic: %w", err) } record := internal.Record{ - Domain: dnsnew.UnFqdn(authZone), + Domain: dns01.UnFqdn(authZone), Host: subDomain, Type: "TXT", Value: info.Value, @@ -138,7 +138,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) d.recordIDsMu.Lock() recordID, ok := d.recordIDs[token] diff --git a/providers/dns/transip/transip.go b/providers/dns/transip/transip.go index df6897b7f..b5204b2fa 100644 --- a/providers/dns/transip/transip.go +++ b/providers/dns/transip/transip.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/transip/gotransip/v6" transipdomain "github.com/transip/gotransip/v6/domain" @@ -111,20 +111,20 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("transip: could not find zone for domain %q: %w", domain, err) } // get the subDomain - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("transip: %w", err) } - domainName := dnsnew.UnFqdn(authZone) + domainName := dns01.UnFqdn(authZone) entry := transipdomain.DNSEntry{ Name: subDomain, @@ -144,20 +144,20 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("transip: could not find zone for domain %q: %w", domain, err) } // get the subDomain - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("transip: %w", err) } - domainName := dnsnew.UnFqdn(authZone) + domainName := dns01.UnFqdn(authZone) // get all DNS entries dnsEntries, err := d.repository.GetDNSEntries(domainName) diff --git a/providers/dns/ultradns/ultradns.go b/providers/dns/ultradns/ultradns.go index 05acc837c..747e8bfb9 100644 --- a/providers/dns/ultradns/ultradns.go +++ b/providers/dns/ultradns/ultradns.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/useragent" "github.com/ultradns/ultradns-go-sdk/pkg/client" @@ -55,7 +55,7 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ Endpoint: env.GetOrDefaultString(EnvEndpoint, defaultEndpoint), - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 2*time.Minute), PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, 4*time.Second), } @@ -106,9 +106,9 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("ultradns: could not find zone for domain %q: %w", domain, err) } @@ -149,9 +149,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("ultradns: could not find zone for domain %q: %w", domain, err) } diff --git a/providers/dns/uniteddomains/uniteddomains.go b/providers/dns/uniteddomains/uniteddomains.go index a6956ddc2..a90c5821c 100644 --- a/providers/dns/uniteddomains/uniteddomains.go +++ b/providers/dns/uniteddomains/uniteddomains.go @@ -8,7 +8,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/ionos" ) @@ -39,7 +39,7 @@ func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, minTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 15*time.Minute), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, diff --git a/providers/dns/variomedia/variomedia.go b/providers/dns/variomedia/variomedia.go index 6284663e1..f0a5ad19b 100644 --- a/providers/dns/variomedia/variomedia.go +++ b/providers/dns/variomedia/variomedia.go @@ -12,7 +12,7 @@ import ( "github.com/cenkalti/backoff/v5" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/platform/wait" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" @@ -49,9 +49,9 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, 300), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), - SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dnsnew.DefaultPropagationTimeout), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), + SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dns01.DefaultPropagationTimeout), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -117,14 +117,14 @@ func (d *DNSProvider) Sequential() time.Duration { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("variomedia: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("variomedia: %w", err) } @@ -132,7 +132,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { record := internal.DNSRecord{ RecordType: "TXT", Name: subDomain, - Domain: dnsnew.UnFqdn(authZone), + Domain: dns01.UnFqdn(authZone), Data: info.Value, TTL: d.config.TTL, } @@ -157,7 +157,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record previously created. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // get the record's unique ID from when we created it d.recordIDsMu.Lock() diff --git a/providers/dns/vegadns/vegadns.go b/providers/dns/vegadns/vegadns.go index e7a0c35fb..b94d16ce6 100644 --- a/providers/dns/vegadns/vegadns.go +++ b/providers/dns/vegadns/vegadns.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/nrdcg/vegadns" @@ -111,14 +111,14 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) domainID, err := d.findDomainID(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("vegadns: find domain ID for %s: %w", info.EffectiveFQDN, err) } - err = d.client.CreateTXTRecord(ctx, domainID, dnsnew.UnFqdn(info.EffectiveFQDN), info.Value, d.config.TTL) + err = d.client.CreateTXTRecord(ctx, domainID, dns01.UnFqdn(info.EffectiveFQDN), info.Value, d.config.TTL) if err != nil { return fmt.Errorf("vegadns: create TXT record: %w", err) } @@ -130,14 +130,14 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) domainID, err := d.findDomainID(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("vegadns: find domain ID for %s: %w", info.EffectiveFQDN, err) } - recordID, err := d.findRecordID(ctx, domainID, dnsnew.UnFqdn(info.EffectiveFQDN)) + recordID, err := d.findRecordID(ctx, domainID, dns01.UnFqdn(info.EffectiveFQDN)) if err != nil { return fmt.Errorf("vegadns: find record ID for %d: %w", domainID, err) } @@ -151,7 +151,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { } func (d *DNSProvider) findDomainID(ctx context.Context, fqdn string) (int, error) { - for host := range dnsnew.UnFqdnDomainsSeq(fqdn) { + for host := range dns01.UnFqdnDomainsSeq(fqdn) { id, err := d.client.GetDomainID(ctx, host) if err != nil { continue diff --git a/providers/dns/vercel/internal/client.go b/providers/dns/vercel/internal/client.go index 458bbde89..381ad4f99 100644 --- a/providers/dns/vercel/internal/client.go +++ b/providers/dns/vercel/internal/client.go @@ -10,7 +10,7 @@ import ( "net/url" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/providers/dns/internal/errutils" "golang.org/x/oauth2" ) @@ -43,7 +43,7 @@ func NewClient(hc *http.Client, teamID string) *Client { // CreateRecord creates a DNS record. // https://vercel.com/docs/rest-api#endpoints/dns/create-a-dns-record func (c *Client) CreateRecord(ctx context.Context, zone string, record Record) (*CreateRecordResponse, error) { - endpoint := c.baseURL.JoinPath("v2", "domains", dnsnew.UnFqdn(zone), "records") + endpoint := c.baseURL.JoinPath("v2", "domains", dns01.UnFqdn(zone), "records") req, err := newJSONRequest(ctx, http.MethodPost, endpoint, record) if err != nil { @@ -63,7 +63,7 @@ func (c *Client) CreateRecord(ctx context.Context, zone string, record Record) ( // DeleteRecord deletes a DNS record. // https://vercel.com/docs/rest-api#endpoints/dns/delete-a-dns-record func (c *Client) DeleteRecord(ctx context.Context, zone, recordID string) error { - endpoint := c.baseURL.JoinPath("v2", "domains", dnsnew.UnFqdn(zone), "records", recordID) + endpoint := c.baseURL.JoinPath("v2", "domains", dns01.UnFqdn(zone), "records", recordID) req, err := newJSONRequest(ctx, http.MethodDelete, endpoint, nil) if err != nil { diff --git a/providers/dns/vercel/vercel.go b/providers/dns/vercel/vercel.go index 85c6ffb5d..5de0d0d90 100644 --- a/providers/dns/vercel/vercel.go +++ b/providers/dns/vercel/vercel.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/vercel/internal" @@ -111,9 +111,9 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("vercel: could not find zone for domain %q: %w", domain, err) } @@ -141,9 +141,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("vercel: could not find zone for domain %q: %w", domain, err) } diff --git a/providers/dns/versio/versio.go b/providers/dns/versio/versio.go index 48d330410..93db84c5b 100644 --- a/providers/dns/versio/versio.go +++ b/providers/dns/versio/versio.go @@ -11,7 +11,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/versio/internal" @@ -56,9 +56,9 @@ func NewDefaultConfig() *Config { return &Config{ BaseURL: baseURL, TTL: env.GetOrDefaultInt(EnvTTL, 300), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, 5*time.Second), - SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dnsnew.DefaultPropagationTimeout), + SequenceInterval: env.GetOrDefaultSecond(EnvSequenceInterval, dns01.DefaultPropagationTimeout), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -126,9 +126,9 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("versio: could not find zone for domain %q: %w", domain, err) } @@ -137,7 +137,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { d.dnsEntriesMu.Lock() defer d.dnsEntriesMu.Unlock() - zoneName := dnsnew.UnFqdn(authZone) + zoneName := dns01.UnFqdn(authZone) domains, err := d.client.GetDomain(ctx, zoneName) if err != nil { @@ -168,9 +168,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("versio: could not find zone for domain %q: %w", domain, err) } @@ -179,7 +179,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { d.dnsEntriesMu.Lock() defer d.dnsEntriesMu.Unlock() - zoneName := dnsnew.UnFqdn(authZone) + zoneName := dns01.UnFqdn(authZone) domains, err := d.client.GetDomain(ctx, zoneName) if err != nil { diff --git a/providers/dns/vinyldns/vinyldns.go b/providers/dns/vinyldns/vinyldns.go index c2f78a855..0b0838732 100644 --- a/providers/dns/vinyldns/vinyldns.go +++ b/providers/dns/vinyldns/vinyldns.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/internal/useragent" @@ -120,7 +120,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) existingRecord, err := d.getRecordSet(ctx, info.EffectiveFQDN) if err != nil { @@ -161,7 +161,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) existingRecord, err := d.getRecordSet(ctx, info.EffectiveFQDN) if err != nil { diff --git a/providers/dns/vinyldns/wrapper.go b/providers/dns/vinyldns/wrapper.go index 441ee393d..502063cb8 100644 --- a/providers/dns/vinyldns/wrapper.go +++ b/providers/dns/vinyldns/wrapper.go @@ -5,7 +5,7 @@ import ( "fmt" "github.com/cenkalti/backoff/v5" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/wait" "github.com/vinyldns/go-vinyldns/vinyldns" ) @@ -119,12 +119,12 @@ func (d *DNSProvider) waitForChanges(ctx context.Context, operation string, resp // splitDomain splits the hostname from the authoritative zone, and returns both parts. func splitDomain(ctx context.Context, fqdn string) (string, string, error) { - zone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, fqdn) + zone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, fqdn) if err != nil { return "", "", fmt.Errorf("could not find zone: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(fqdn, zone) + subDomain, err := dns01.ExtractSubDomain(fqdn, zone) if err != nil { return "", "", err } diff --git a/providers/dns/virtualname/virtualname.go b/providers/dns/virtualname/virtualname.go index e2e3a934e..55668947a 100644 --- a/providers/dns/virtualname/virtualname.go +++ b/providers/dns/virtualname/virtualname.go @@ -8,7 +8,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/tecnocratica" ) @@ -35,7 +35,7 @@ type Config = tecnocratica.Config // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 5*time.Minute), PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, 10*time.Second), HTTPClient: &http.Client{ diff --git a/providers/dns/vkcloud/vkcloud.go b/providers/dns/vkcloud/vkcloud.go index 724e980a8..b1fbb5deb 100644 --- a/providers/dns/vkcloud/vkcloud.go +++ b/providers/dns/vkcloud/vkcloud.go @@ -8,7 +8,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/vkcloud/internal" "github.com/gophercloud/gophercloud" @@ -61,8 +61,8 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, 60), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), } } @@ -122,14 +122,14 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("vkcloud: could not find zone for domain %q: %w", domain, err) } - authZone = dnsnew.UnFqdn(authZone) + authZone = dns01.UnFqdn(authZone) zones, err := d.client.ListZones() if err != nil { @@ -148,7 +148,7 @@ func (d *DNSProvider) Present(domain, _, keyAuth string) error { return fmt.Errorf("vkcloud: cant find dns zone %s in VK Cloud", authZone) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("vkcloud: %w", err) } @@ -164,14 +164,14 @@ func (d *DNSProvider) Present(domain, _, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("vkcloud: could not find zone for domain %q: %w", domain, err) } - authZone = dnsnew.UnFqdn(authZone) + authZone = dns01.UnFqdn(authZone) zones, err := d.client.ListZones() if err != nil { @@ -190,7 +190,7 @@ func (d *DNSProvider) CleanUp(domain, _, keyAuth string) error { return nil } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("vkcloud: %w", err) } @@ -235,7 +235,7 @@ func (d *DNSProvider) removeTXTRecord(zoneUUID, name, value string) error { return err } - name = dnsnew.UnFqdn(name) + name = dns01.UnFqdn(name) for _, record := range records { if record.Name == name && record.Content == value { return d.client.DeleteTXTRecord(zoneUUID, record.UUID) diff --git a/providers/dns/volcengine/volcengine.go b/providers/dns/volcengine/volcengine.go index 2f32e2611..b322a99fa 100644 --- a/providers/dns/volcengine/volcengine.go +++ b/providers/dns/volcengine/volcengine.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/ptr" "github.com/volcengine/volc-sdk-golang/base" @@ -119,14 +119,14 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) zone, err := d.getZone(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("volcengine: get zone ID: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, ptr.Deref(zone.ZoneName)) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, ptr.Deref(zone.ZoneName)) if err != nil { return fmt.Errorf("volcengine: %w", err) } @@ -154,7 +154,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // gets the record's unique ID d.recordIDsMu.Lock() @@ -180,7 +180,7 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { } func (d *DNSProvider) getZone(ctx context.Context, fqdn string) (volc.TopZoneResponse, error) { - for domain := range dnsnew.UnFqdnDomainsSeq(fqdn) { + for domain := range dns01.UnFqdnDomainsSeq(fqdn) { lzr := &volc.ListZonesRequest{ Key: ptr.Pointer(domain), SearchMode: ptr.Pointer("exact"), diff --git a/providers/dns/vscale/vscale.go b/providers/dns/vscale/vscale.go index 41f8cb9e6..69f48d7b2 100644 --- a/providers/dns/vscale/vscale.go +++ b/providers/dns/vscale/vscale.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/selectel" ) @@ -41,7 +41,7 @@ func NewDefaultConfig() *Config { BaseURL: env.GetOrDefaultString(EnvBaseURL, defaultBaseURL), TTL: env.GetOrDefaultInt(EnvTTL, selectel.MinTTL), PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, 120*time.Second), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, diff --git a/providers/dns/vultr/vultr.go b/providers/dns/vultr/vultr.go index 584ba13d7..86434fe2b 100644 --- a/providers/dns/vultr/vultr.go +++ b/providers/dns/vultr/vultr.go @@ -11,7 +11,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/vultr/govultr/v3" @@ -45,9 +45,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPTimeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), } } @@ -94,7 +94,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // TODO(ldez) replace domain by FQDN to follow CNAME. zoneDomain, err := d.getHostedZone(ctx, domain) @@ -102,7 +102,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { return fmt.Errorf("vultr: %w", err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, zoneDomain) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, zoneDomain) if err != nil { return fmt.Errorf("vultr: %w", err) } @@ -127,7 +127,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) // TODO(ldez) replace domain by FQDN to follow CNAME. zoneDomain, records, err := d.findTxtRecords(ctx, domain, info.EffectiveFQDN) @@ -198,7 +198,7 @@ func (d *DNSProvider) findTxtRecords(ctx context.Context, domain, fqdn string) ( return "", nil, err } - subDomain, err := dnsnew.ExtractSubDomain(fqdn, zoneDomain) + subDomain, err := dns01.ExtractSubDomain(fqdn, zoneDomain) if err != nil { return "", nil, err } diff --git a/providers/dns/webnames/webnames.go b/providers/dns/webnames/webnames.go index fabdd8dd0..ea8b8d8c4 100644 --- a/providers/dns/webnames/webnames.go +++ b/providers/dns/webnames/webnames.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/webnames/internal" @@ -42,8 +42,8 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - PropagationTimeout: env.GetOneWithFallback(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout, env.ParseSecond, altEnvName(EnvPropagationTimeout)), - PollingInterval: env.GetOneWithFallback(EnvPollingInterval, dnsnew.DefaultPollingInterval, env.ParseSecond, altEnvName(EnvPollingInterval)), + PropagationTimeout: env.GetOneWithFallback(EnvPropagationTimeout, dns01.DefaultPropagationTimeout, env.ParseSecond, altEnvName(EnvPropagationTimeout)), + PollingInterval: env.GetOneWithFallback(EnvPollingInterval, dns01.DefaultPollingInterval, env.ParseSecond, altEnvName(EnvPollingInterval)), HTTPClient: &http.Client{ Timeout: env.GetOneWithFallback(EnvHTTPTimeout, 20*time.Second, env.ParseSecond, altEnvName(EnvHTTPTimeout)), }, @@ -95,22 +95,22 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("webnamesru: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("webnamesru: %w", err) } - err = d.client.AddTXTRecord(ctx, dnsnew.UnFqdn(authZone), subDomain, info.Value) + err = d.client.AddTXTRecord(ctx, dns01.UnFqdn(authZone), subDomain, info.Value) if err != nil { return fmt.Errorf("webnamesru: failed to create TXT records [domain: %s, sub domain: %s]: %w", - dnsnew.UnFqdn(authZone), subDomain, err) + dns01.UnFqdn(authZone), subDomain, err) } return nil @@ -120,22 +120,22 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("webnamesru: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("webnamesru: %w", err) } - err = d.client.RemoveTXTRecord(ctx, dnsnew.UnFqdn(authZone), subDomain, info.Value) + err = d.client.RemoveTXTRecord(ctx, dns01.UnFqdn(authZone), subDomain, info.Value) if err != nil { return fmt.Errorf("webnamesru: failed to remove TXT records [domain: %s, sub domain: %s]: %w", - dnsnew.UnFqdn(authZone), subDomain, err) + dns01.UnFqdn(authZone), subDomain, err) } return nil diff --git a/providers/dns/webnamesca/webnamesca.go b/providers/dns/webnamesca/webnamesca.go index 44f28fccf..e057ded99 100644 --- a/providers/dns/webnamesca/webnamesca.go +++ b/providers/dns/webnamesca/webnamesca.go @@ -8,7 +8,7 @@ import ( "net/http" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/webnamesca/internal" @@ -41,9 +41,9 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -97,14 +97,14 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("webnamesca: could not find zone for domain %q: %w", domain, err) } - _, err = d.client.AddTXTRecord(ctx, dnsnew.UnFqdn(authZone), dnsnew.UnFqdn(info.EffectiveFQDN), info.Value) + _, err = d.client.AddTXTRecord(ctx, dns01.UnFqdn(authZone), dns01.UnFqdn(info.EffectiveFQDN), info.Value) if err != nil { return fmt.Errorf("webnamesca: add TXT record: %w", err) } @@ -116,14 +116,14 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("webnamesca: could not find zone for domain %q: %w", domain, err) } - _, err = d.client.DeleteTXTRecord(ctx, dnsnew.UnFqdn(authZone), dnsnew.UnFqdn(info.EffectiveFQDN), info.Value) + _, err = d.client.DeleteTXTRecord(ctx, dns01.UnFqdn(authZone), dns01.UnFqdn(info.EffectiveFQDN), info.Value) if err != nil { return fmt.Errorf("webnamesca: delete TXT record: %w", err) } diff --git a/providers/dns/websupport/websupport.go b/providers/dns/websupport/websupport.go index 163b671d7..b61f85caf 100644 --- a/providers/dns/websupport/websupport.go +++ b/providers/dns/websupport/websupport.go @@ -8,7 +8,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/active24" ) @@ -34,9 +34,9 @@ type Config = active24.Config // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - TTL: env.GetOrDefaultInt(EnvTTL, dnsnew.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + TTL: env.GetOrDefaultInt(EnvTTL, dns01.DefaultTTL), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, diff --git a/providers/dns/wedos/internal/client.go b/providers/dns/wedos/internal/client.go index 8dcd637fe..ead44bb70 100644 --- a/providers/dns/wedos/internal/client.go +++ b/providers/dns/wedos/internal/client.go @@ -10,7 +10,7 @@ import ( "strings" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/providers/dns/internal/errutils" ) @@ -39,7 +39,7 @@ func NewClient(username, password string) *Client { // https://kb.wedos.com/en/wapi-api-interface/wapi-command-dns-rows-list/ func (c *Client) GetRecords(ctx context.Context, zone string) ([]DNSRow, error) { payload := map[string]any{ - "domain": dnsnew.UnFqdn(zone), + "domain": dns01.UnFqdn(zone), } req, err := c.newRequest(ctx, commandDNSRowsList, payload) @@ -62,7 +62,7 @@ func (c *Client) GetRecords(ctx context.Context, zone string) ([]DNSRow, error) // https://kb.wedos.com/en/wapi-api-interface/wapi-command-dns-row-update/ func (c *Client) AddRecord(ctx context.Context, zone string, record DNSRow) error { payload := DNSRowRequest{ - Domain: dnsnew.UnFqdn(zone), + Domain: dns01.UnFqdn(zone), TTL: record.TTL, Type: record.Type, Data: record.Data, @@ -90,7 +90,7 @@ func (c *Client) AddRecord(ctx context.Context, zone string, record DNSRow) erro // https://kb.wedos.com/en/wapi-api-interface/wapi-command-dns-row-delete/ func (c *Client) DeleteRecord(ctx context.Context, zone, recordID string) error { payload := DNSRowRequest{ - Domain: dnsnew.UnFqdn(zone), + Domain: dns01.UnFqdn(zone), ID: recordID, } @@ -106,7 +106,7 @@ func (c *Client) DeleteRecord(ctx context.Context, zone, recordID string) error // https://kb.wedos.com/en/wapi-api-interface/wapi-command-dns-domain-commit/ func (c *Client) Commit(ctx context.Context, zone string) error { payload := map[string]any{ - "name": dnsnew.UnFqdn(zone), + "name": dns01.UnFqdn(zone), } req, err := c.newRequest(ctx, commandDNSDomainCommit, payload) diff --git a/providers/dns/wedos/wedos.go b/providers/dns/wedos/wedos.go index 5483690a3..11d7b58be 100644 --- a/providers/dns/wedos/wedos.go +++ b/providers/dns/wedos/wedos.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/wedos/internal" @@ -110,14 +110,14 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("wedos: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("wedos: %w", err) } @@ -158,14 +158,14 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("wedos: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("wedos: %w", err) } diff --git a/providers/dns/yandex/yandex.go b/providers/dns/yandex/yandex.go index 6f9ed3d38..7a6380f42 100644 --- a/providers/dns/yandex/yandex.go +++ b/providers/dns/yandex/yandex.go @@ -9,7 +9,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/yandex/internal" @@ -43,8 +43,8 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, 21600), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -97,7 +97,7 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record to fulfill the dns-01 challenge. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) rootDomain, subDomain, err := splitDomain(info.EffectiveFQDN) if err != nil { @@ -123,7 +123,7 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) rootDomain, subDomain, err := splitDomain(info.EffectiveFQDN) if err != nil { diff --git a/providers/dns/yandex360/yandex360.go b/providers/dns/yandex360/yandex360.go index a0999c85d..2e799a4ff 100644 --- a/providers/dns/yandex360/yandex360.go +++ b/providers/dns/yandex360/yandex360.go @@ -11,7 +11,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/yandex360/internal" @@ -47,8 +47,8 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, 21600), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -112,19 +112,19 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, dns.Fqdn(info.EffectiveFQDN)) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, dns.Fqdn(info.EffectiveFQDN)) if err != nil { return fmt.Errorf("yandex360: could not find zone for domain %q: %w", domain, err) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("yandex360: %w", err) } - authZone = dnsnew.UnFqdn(authZone) + authZone = dns01.UnFqdn(authZone) record := internal.Record{ Name: subDomain, @@ -149,14 +149,14 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, dns.Fqdn(info.EffectiveFQDN)) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, dns.Fqdn(info.EffectiveFQDN)) if err != nil { return fmt.Errorf("yandex360: could not find zone for domain %q: %w", domain, err) } - authZone = dnsnew.UnFqdn(authZone) + authZone = dns01.UnFqdn(authZone) d.recordIDsMu.Lock() recordID, ok := d.recordIDs[token] diff --git a/providers/dns/yandexcloud/yandexcloud.go b/providers/dns/yandexcloud/yandexcloud.go index 172c037b1..364d6c654 100644 --- a/providers/dns/yandexcloud/yandexcloud.go +++ b/providers/dns/yandexcloud/yandexcloud.go @@ -12,7 +12,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" ycdnsproto "github.com/yandex-cloud/go-genproto/yandex/cloud/dns/v1" ycdns "github.com/yandex-cloud/go-sdk/services/dns/v1" @@ -50,8 +50,8 @@ type Config struct { func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, 60), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), } } @@ -109,9 +109,9 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { func (d *DNSProvider) Present(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("yandexcloud: could not find zone for domain %q: %w", domain, err) } @@ -133,7 +133,7 @@ func (d *DNSProvider) Present(domain, _, keyAuth string) error { return fmt.Errorf("yandexcloud: cant find dns zone %s in yandex cloud", authZone) } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("yandexcloud: %w", err) } @@ -150,9 +150,9 @@ func (d *DNSProvider) Present(domain, _, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, _, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("yandexcloud: could not find zone for domain %q: %w", domain, err) } @@ -174,7 +174,7 @@ func (d *DNSProvider) CleanUp(domain, _, keyAuth string) error { return nil } - subDomain, err := dnsnew.ExtractSubDomain(info.EffectiveFQDN, authZone) + subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone) if err != nil { return fmt.Errorf("yandexcloud: %w", err) } diff --git a/providers/dns/zoneedit/zoneedit.go b/providers/dns/zoneedit/zoneedit.go index 231a9d60e..bd718e1a5 100644 --- a/providers/dns/zoneedit/zoneedit.go +++ b/providers/dns/zoneedit/zoneedit.go @@ -8,7 +8,7 @@ import ( "net/http" "time" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/zoneedit/internal" @@ -39,8 +39,8 @@ type Config struct { // NewDefaultConfig returns a default configuration for the DNSProvider. func NewDefaultConfig() *Config { return &Config{ - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), }, @@ -93,9 +93,9 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) { // Present creates a TXT record using the specified parameters. func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - err := d.client.CreateTXTRecord(dnsnew.UnFqdn(info.EffectiveFQDN), info.Value) + err := d.client.CreateTXTRecord(dns01.UnFqdn(info.EffectiveFQDN), info.Value) if err != nil { return fmt.Errorf("zoneedit: create TXT record: %w", err) } @@ -109,9 +109,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { // CleanUp removes the TXT record matching the specified parameters. func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - err := d.client.DeleteTXTRecord(dnsnew.UnFqdn(info.EffectiveFQDN), info.Value) + err := d.client.DeleteTXTRecord(dns01.UnFqdn(info.EffectiveFQDN), info.Value) if err != nil { return fmt.Errorf("zoneedit: delete TXT record: %w", err) } diff --git a/providers/dns/zoneee/zoneee.go b/providers/dns/zoneee/zoneee.go index b1bc212a5..b6b8e84f2 100644 --- a/providers/dns/zoneee/zoneee.go +++ b/providers/dns/zoneee/zoneee.go @@ -10,7 +10,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/clientdebug" "github.com/go-acme/lego/v5/providers/dns/zoneee/internal" @@ -127,17 +127,17 @@ func (d *DNSProvider) Timeout() (timeout, interval time.Duration) { func (d *DNSProvider) Present(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("zoneee: could not find zone for domain %q: %w", domain, err) } - authZone = dnsnew.UnFqdn(authZone) + authZone = dns01.UnFqdn(authZone) record := internal.TXTRecord{ - Name: dnsnew.UnFqdn(info.EffectiveFQDN), + Name: dns01.UnFqdn(info.EffectiveFQDN), Destination: info.Value, } @@ -153,14 +153,14 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error { func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error { ctx := context.Background() - info := dnsnew.GetChallengeInfo(ctx, domain, keyAuth) + info := dns01.GetChallengeInfo(ctx, domain, keyAuth) - authZone, err := dnsnew.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) + authZone, err := dns01.DefaultClient().FindZoneByFqdn(ctx, info.EffectiveFQDN) if err != nil { return fmt.Errorf("zoneee: could not find zone for domain %q: %w", domain, err) } - authZone = dnsnew.UnFqdn(authZone) + authZone = dns01.UnFqdn(authZone) records, err := d.client.GetTxtRecords(ctx, authZone) if err != nil { diff --git a/providers/dns/zonomi/zonomi.go b/providers/dns/zonomi/zonomi.go index d67249d8b..4d546d30e 100644 --- a/providers/dns/zonomi/zonomi.go +++ b/providers/dns/zonomi/zonomi.go @@ -8,7 +8,7 @@ import ( "time" "github.com/go-acme/lego/v5/challenge" - "github.com/go-acme/lego/v5/challenge/dnsnew" + "github.com/go-acme/lego/v5/challenge/dns01" "github.com/go-acme/lego/v5/platform/config/env" "github.com/go-acme/lego/v5/providers/dns/internal/rimuhosting" ) @@ -36,8 +36,8 @@ type Config = rimuhosting.Config func NewDefaultConfig() *Config { return &Config{ TTL: env.GetOrDefaultInt(EnvTTL, rimuhosting.DefaultTTL), - PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dnsnew.DefaultPropagationTimeout), - PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dnsnew.DefaultPollingInterval), + PropagationTimeout: env.GetOrDefaultSecond(EnvPropagationTimeout, dns01.DefaultPropagationTimeout), + PollingInterval: env.GetOrDefaultSecond(EnvPollingInterval, dns01.DefaultPollingInterval), HTTPClient: &http.Client{ Timeout: env.GetOrDefaultSecond(EnvHTTPTimeout, 30*time.Second), },