allinkl: factorize findZone

This commit is contained in:
Fernandez Ludovic
2026-01-22 05:10:35 +01:00
parent 16894fb99e
commit 44b89b7e92

View File

@@ -131,22 +131,9 @@ func (d *DNSProvider) Present(domain, token, keyAuth string) error {
ctx = internal.WithContext(ctx, credential)
var authZone string
for z := range dns01.DomainsSeq(info.EffectiveFQDN) {
_, errG := d.client.GetDNSSettings(ctx, z, "")
if errG != nil {
log.Infof("allinkl: get DNS settings zone[%q] %v", z, errG)
continue
}
authZone = z
break
}
if authZone == "" {
return fmt.Errorf("allinkl: unable to find auth zone for '%s'", info.EffectiveFQDN)
authZone, err := d.findZone(ctx, info.EffectiveFQDN)
if err != nil {
return fmt.Errorf("allinkl: %w", err)
}
subDomain, err := dns01.ExtractSubDomain(info.EffectiveFQDN, authZone)
@@ -206,3 +193,17 @@ func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error {
return nil
}
func (d *DNSProvider) findZone(ctx context.Context, fqdn string) (string, error) {
for z := range dns01.DomainsSeq(fqdn) {
_, errG := d.client.GetDNSSettings(ctx, z, "")
if errG != nil {
log.Infof("get DNS settings zone[%q] %v", z, errG)
continue
}
return z, nil
}
return "", fmt.Errorf("unable to find auth zone for '%s'", fqdn)
}