mirror of
https://github.com/go-acme/lego
synced 2026-03-14 14:35:48 +01:00
chore: clean maps
This commit is contained in:
parent
465d7918a8
commit
a6e6b92d35
29 changed files with 111 additions and 52 deletions
|
|
@ -212,6 +212,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
|
|||
return fmt.Errorf("aliesa: delete record: %w", err)
|
||||
}
|
||||
|
||||
d.recordIDsMu.Lock()
|
||||
delete(d.recordIDs, token)
|
||||
d.recordIDsMu.Unlock()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -186,5 +186,9 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
|
|||
return fmt.Errorf("allinkl: %w", err)
|
||||
}
|
||||
|
||||
d.recordIDsMu.Lock()
|
||||
delete(d.recordIDs, token)
|
||||
d.recordIDsMu.Unlock()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
|
|
@ -53,10 +53,11 @@ func NewDefaultConfig() *Config {
|
|||
|
||||
// DNSProvider implements the challenge.Provider interface.
|
||||
type DNSProvider struct {
|
||||
config *Config
|
||||
client *auroradns.Client
|
||||
|
||||
recordIDs map[string]string
|
||||
recordIDsMu sync.Mutex
|
||||
config *Config
|
||||
client *auroradns.Client
|
||||
}
|
||||
|
||||
// NewDNSProvider returns a DNSProvider instance configured for AuroraDNS.
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ import (
|
|||
"errors"
|
||||
"fmt"
|
||||
"net/http"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/aziontech/azionapi-go-sdk/idns"
|
||||
|
|
@ -56,9 +55,6 @@ func NewDefaultConfig() *Config {
|
|||
type DNSProvider struct {
|
||||
config *Config
|
||||
client *idns.APIClient
|
||||
|
||||
recordIDs map[string]int32
|
||||
recordIDsMu sync.Mutex
|
||||
}
|
||||
|
||||
// NewDNSProvider returns a DNSProvider instance configured for Azion.
|
||||
|
|
@ -98,9 +94,8 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
|
|||
client := idns.NewAPIClient(clientConfig)
|
||||
|
||||
return &DNSProvider{
|
||||
config: config,
|
||||
client: client,
|
||||
recordIDs: make(map[string]int32),
|
||||
config: config,
|
||||
client: client,
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
|
@ -161,12 +156,6 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
|
|||
return errors.New("azion: create zone record error")
|
||||
}
|
||||
|
||||
results := resp.GetResults()
|
||||
|
||||
d.recordIDsMu.Lock()
|
||||
d.recordIDs[token] = results.GetId()
|
||||
d.recordIDsMu.Unlock()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
@ -186,13 +175,6 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
|
|||
return fmt.Errorf("azion: %w", err)
|
||||
}
|
||||
|
||||
defer func() {
|
||||
// Cleans the record ID.
|
||||
d.recordIDsMu.Lock()
|
||||
delete(d.recordIDs, token)
|
||||
d.recordIDsMu.Unlock()
|
||||
}()
|
||||
|
||||
existingRecord, err := d.findExistingTXTRecord(ctxAuth, zone.GetId(), subDomain)
|
||||
if err != nil {
|
||||
return fmt.Errorf("azion: find existing record: %w", err)
|
||||
|
|
|
|||
|
|
@ -151,6 +151,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
|
|||
return fmt.Errorf("binarylane: delete record: %w", err)
|
||||
}
|
||||
|
||||
d.recordIDsMu.Lock()
|
||||
delete(d.recordIDs, token)
|
||||
d.recordIDsMu.Unlock()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -36,11 +36,11 @@ const maxInt = int((^uint(0)) >> 1)
|
|||
|
||||
// Client the Autodns API client.
|
||||
type Client struct {
|
||||
domainIDMapping map[string]int
|
||||
domainIDMu sync.Mutex
|
||||
|
||||
BaseURL *url.URL
|
||||
httpClient *http.Client
|
||||
|
||||
domainIDMapping map[string]int
|
||||
domainIDMu sync.Mutex
|
||||
}
|
||||
|
||||
// NewClient creates a new Client.
|
||||
|
|
|
|||
|
|
@ -61,8 +61,9 @@ func NewDefaultConfig() *Config {
|
|||
}
|
||||
|
||||
type DNSProvider struct {
|
||||
config *Config
|
||||
client *internal.Client
|
||||
config *Config
|
||||
client *internal.Client
|
||||
|
||||
records map[string]*internal.Record
|
||||
recordsMu sync.Mutex
|
||||
}
|
||||
|
|
|
|||
|
|
@ -68,8 +68,9 @@ func NewDefaultConfig() *Config {
|
|||
|
||||
// DNSProvider implements the challenge.Provider interface.
|
||||
type DNSProvider struct {
|
||||
config *Config
|
||||
client *gophercloud.ServiceClient
|
||||
config *Config
|
||||
client *gophercloud.ServiceClient
|
||||
|
||||
dnsEntriesMu sync.Mutex
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -190,16 +190,14 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
|
|||
}
|
||||
|
||||
err = d.client.DeleteRecord(ctx, dns01.UnFqdn(authZone), recordID)
|
||||
|
||||
d.recordIDsMu.Lock()
|
||||
defer delete(d.recordIDs, key)
|
||||
|
||||
d.recordIDsMu.Unlock()
|
||||
|
||||
if err != nil {
|
||||
return fmt.Errorf("easydns: %w", err)
|
||||
}
|
||||
|
||||
d.recordIDsMu.Lock()
|
||||
delete(d.recordIDs, key)
|
||||
d.recordIDsMu.Unlock()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -119,10 +119,9 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
|
|||
}
|
||||
|
||||
return &DNSProvider{
|
||||
config: config,
|
||||
client: client,
|
||||
recordIDs: map[string]*string{},
|
||||
recordIDsMu: sync.Mutex{},
|
||||
config: config,
|
||||
client: client,
|
||||
recordIDs: map[string]*string{},
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
|
@ -190,6 +189,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
|
|||
return fmt.Errorf("edgeone: delete record failed: %w", err)
|
||||
}
|
||||
|
||||
d.recordIDsMu.Lock()
|
||||
delete(d.recordIDs, token)
|
||||
d.recordIDsMu.Unlock()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -163,6 +163,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
|
|||
return fmt.Errorf("gravity: delete record: %w", err)
|
||||
}
|
||||
|
||||
d.recordsMu.Lock()
|
||||
delete(d.records, token)
|
||||
d.recordsMu.Unlock()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -174,5 +174,9 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
|
|||
return fmt.Errorf("hosttech: %w", err)
|
||||
}
|
||||
|
||||
d.recordIDsMu.Lock()
|
||||
delete(d.recordIDs, token)
|
||||
d.recordIDsMu.Unlock()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
|
|
@ -209,6 +209,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
|
|||
return fmt.Errorf("huaweicloud: delete record: %w", err)
|
||||
}
|
||||
|
||||
d.recordIDsMu.Lock()
|
||||
delete(d.recordIDs, token)
|
||||
d.recordIDsMu.Unlock()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -165,16 +165,16 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
|
|||
RecordsToDelete: rec,
|
||||
}
|
||||
|
||||
// Delete record ID from map
|
||||
d.recordIDsMu.Lock()
|
||||
delete(d.recordIDs, info.EffectiveFQDN)
|
||||
d.recordIDsMu.Unlock()
|
||||
|
||||
_, err = d.client.UpdateZone(ctx, req)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Delete record ID from map
|
||||
d.recordIDsMu.Lock()
|
||||
delete(d.recordIDs, info.EffectiveFQDN)
|
||||
d.recordIDsMu.Unlock()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -193,6 +193,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
|
|||
return fmt.Errorf("limacity: delete record (domain ID=%d, record ID=%d): %w", domainID, recordID, err)
|
||||
}
|
||||
|
||||
d.domainIDsMu.Lock()
|
||||
delete(d.domainIDs, info.EffectiveFQDN)
|
||||
d.domainIDsMu.Unlock()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -62,8 +62,9 @@ func NewDefaultConfig() *Config {
|
|||
|
||||
// DNSProvider implements the challenge.Provider interface.
|
||||
type DNSProvider struct {
|
||||
config *Config
|
||||
client *lw.API
|
||||
config *Config
|
||||
client *lw.API
|
||||
|
||||
recordIDs map[string]int
|
||||
recordIDsMu sync.Mutex
|
||||
}
|
||||
|
|
|
|||
|
|
@ -104,10 +104,9 @@ func NewDNSProviderConfig(config *Config) (*DNSProvider, error) {
|
|||
client.HTTPClient = clientdebug.Wrap(client.HTTPClient)
|
||||
|
||||
return &DNSProvider{
|
||||
config: config,
|
||||
client: client,
|
||||
recordsMu: sync.Mutex{},
|
||||
records: make(map[string]*internal.DNSRecord),
|
||||
config: config,
|
||||
client: client,
|
||||
records: make(map[string]*internal.DNSRecord),
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -153,6 +153,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
|
|||
return fmt.Errorf("metaname: delete record: %w", err)
|
||||
}
|
||||
|
||||
d.recordsMu.Lock()
|
||||
delete(d.records, token)
|
||||
d.recordsMu.Unlock()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -170,6 +170,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
|
|||
return fmt.Errorf("mittwald: update/delete TXT record: %w", err)
|
||||
}
|
||||
|
||||
d.zoneIDsMu.Lock()
|
||||
delete(d.zoneIDs, token)
|
||||
d.zoneIDsMu.Unlock()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -208,5 +208,9 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
|
|||
return fmt.Errorf("regru: failed to remove TXT records [domain: %s]: %w", dns01.UnFqdn(authZone), err)
|
||||
}
|
||||
|
||||
d.zoneIDsMu.Lock()
|
||||
delete(d.zoneIDs, token)
|
||||
d.zoneIDsMu.Unlock()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
|
|
@ -169,6 +169,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
|
|||
break
|
||||
}
|
||||
|
||||
d.domainIDsMu.Lock()
|
||||
delete(d.domainIDs, token)
|
||||
d.domainIDsMu.Unlock()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -102,8 +102,9 @@ func (c *Config) hasAppKeyAuth() bool {
|
|||
|
||||
// DNSProvider implements the challenge.Provider interface.
|
||||
type DNSProvider struct {
|
||||
config *Config
|
||||
client *ovh.Client
|
||||
config *Config
|
||||
client *ovh.Client
|
||||
|
||||
recordIDs map[string]int64
|
||||
recordIDsMu sync.Mutex
|
||||
}
|
||||
|
|
|
|||
|
|
@ -173,5 +173,9 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
|
|||
return fmt.Errorf("plesk: failed to delete record (%d): %w", recordID, err)
|
||||
}
|
||||
|
||||
d.recordIDsMu.Lock()
|
||||
delete(d.recordIDs, token)
|
||||
d.recordIDsMu.Unlock()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
|
|
@ -171,6 +171,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
|
|||
return fmt.Errorf("porkbun: failed to delete record: %w", err)
|
||||
}
|
||||
|
||||
d.recordIDsMu.Lock()
|
||||
delete(d.recordIDs, token)
|
||||
d.recordIDsMu.Unlock()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -186,5 +186,9 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
|
|||
return fmt.Errorf("selfhostde: emptied DNS TXT record (id=%s): %w", recordID, err)
|
||||
}
|
||||
|
||||
d.recordIDsMu.Lock()
|
||||
delete(d.recordIDs, token)
|
||||
d.recordIDsMu.Unlock()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
|
|
@ -172,6 +172,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
|
|||
return fmt.Errorf("shellrent: delete record: %w", err)
|
||||
}
|
||||
|
||||
d.recordIDsMu.Lock()
|
||||
delete(d.recordIDs, token)
|
||||
d.recordIDsMu.Unlock()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -172,6 +172,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
|
|||
return fmt.Errorf("syse: delete record: %w", err)
|
||||
}
|
||||
|
||||
d.recordIDsMu.Lock()
|
||||
delete(d.recordIDs, token)
|
||||
d.recordIDsMu.Unlock()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -180,6 +180,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
|
|||
return fmt.Errorf("variomedia: %w", err)
|
||||
}
|
||||
|
||||
d.recordIDsMu.Lock()
|
||||
delete(d.recordIDs, token)
|
||||
d.recordIDsMu.Unlock()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -171,6 +171,10 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
|
|||
return fmt.Errorf("volcengine: delete record: %w", err)
|
||||
}
|
||||
|
||||
d.recordIDsMu.Lock()
|
||||
delete(d.recordIDs, token)
|
||||
d.recordIDsMu.Unlock()
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue