BUGFIX: Domains with Unicode should convert to IDN earlier

This commit is contained in:
Thomas Limoncelli 2025-11-21 10:46:05 -05:00
parent bba3d4fbb8
commit c7f625a502
No known key found for this signature in database

View file

@ -14,6 +14,7 @@ import (
"github.com/StackExchange/dnscontrol/v4/providers"
"github.com/miekg/dns"
"github.com/miekg/dns/dnsutil"
"golang.org/x/net/idna"
)
// Returns false if target does not validate.
@ -359,6 +360,15 @@ func ValidateAndNormalizeConfig(config *models.DNSConfig) (errs []error) {
}
for _, domain := range config.Domains {
// Convert domain name to punycode.
// In the future, we should do something more sophisticated like having a .Name/.NameUnicode/.NameIDN so that users can see.
var err error
domain.Name, err = idna.ToASCII(domain.Name)
if err != nil {
return []error{fmt.Errorf("Can not convert domain %q to IDN: %w", domain.Name, err)}
}
pTypes := []string{}
for _, provider := range domain.DNSProviderInstances {
pType := provider.ProviderType