dnscontrol/pkg
Tom Limoncelli 1b2f5d4d34
BUGFIX: IDN support is broken for domain names (#3845)
# Issue

Fixes https://github.com/StackExchange/dnscontrol/issues/3842

CC @das7pad

# Resolution

Convert domain.Name to IDN earlier in the pipeline. Hack the --domains
processing to convert everything to IDN.

* Domain names are now stored 3 ways: The original input from
dnsconfig.js, canonical IDN format (`xn--...`), and Unicode format. All
are downcased. Providers that haven't been updated will receive the IDN
format instead of the original input format. This might break some
providers but only for users with unicode in their D("domain.tld").
PLEASE TEST YOUR PROVIDER.
* BIND filename formatting options have been added to access the new
formats.

# Breaking changes

* BIND zonefiles may change. The default used the name input in the D()
statement. It now defaults to the IDN name + "!tag" if there is a tag.
* Providers that are not IDN-aware may break (hopefully only if they
weren't processing IDN already)

---------

Co-authored-by: Jakob Ackermann <das7pad@outlook.com>
2025-11-29 12:17:44 -05:00
..
bindserial Linting (#2308) 2023-05-01 18:40:10 -04:00
credsfile NEW FEATURE: Empty creds.json should not be an error (#3844) 2025-11-21 10:46:18 -05:00
diff Warn if IGNORE() is unreliable for this provider (#3683) 2025-07-30 20:41:49 -04:00
diff2 Update deps (#3790) 2025-10-10 14:16:46 -04:00
dnsgraph CHORE: Fix lint warnings from golangci-lint (#3311) 2025-01-13 11:33:12 -05:00
dnssort CHORE: Fix lint warnings from golangci-lint (#3311) 2025-01-13 11:33:12 -05:00
dnstree CHORE: Fix lint warnings from golangci-lint (#3311) 2025-01-13 11:33:12 -05:00
domaintags BUGFIX: IDN support is broken for domain names (#3845) 2025-11-29 12:17:44 -05:00
js BUGFIX: IDN support is broken for domain names (#3845) 2025-11-29 12:17:44 -05:00
nameservers CHORE: Fix lint warnings from golangci-lint (#3311) 2025-01-13 11:33:12 -05:00
normalize BUGFIX: IDN support is broken for domain names (#3845) 2025-11-29 12:17:44 -05:00
notifications DEPS: Switch to maintained fork of shoutrrr (#3838) 2025-11-17 11:52:26 -05:00
prettyzone POWERDNS: New record type: LUA (#3815) 2025-11-03 11:32:28 -05:00
printer BUGFIX: IDN support is broken for domain names (#3845) 2025-11-29 12:17:44 -05:00
recorddb CHORE: Fix lint warnings from golangci-lint (#3311) 2025-01-13 11:33:12 -05:00
rejectif Joker: Implement DNS Provider (#3661) 2025-08-04 16:37:20 -04:00
rfc4183 CHORE: Fix lint warnings from golangci-lint (#3311) 2025-01-13 11:33:12 -05:00
rtypecontrol CHORE: Fix lint warnings from golangci-lint (#3311) 2025-01-13 11:33:12 -05:00
rtypes CHORE: Fix lint warnings from golangci-lint (#3311) 2025-01-13 11:33:12 -05:00
soautil CHORE: Satisfy Staticcheck and remove unused code (#2331) 2023-05-08 16:49:26 -04:00
spflib FEATURE: Optionally disable spfcache.json (#3765) 2025-09-13 12:23:46 -04:00
transform FEATURE: Extend PTR magic handling to support RFC4183 names (#3364) 2025-01-14 21:07:19 -05:00
txtutil Update deps (#3790) 2025-10-10 14:16:46 -04:00
version BUG: Output better "version" string when running main.go directly (#3658) 2025-07-09 16:35:23 -04:00
zonecache REFACTOR: Rename commands/zonecache.go (#3646) 2025-06-30 16:16:58 -04:00
zonerecs INWX: Fix INWX provider after their unexpected data-type breaking-change (#3855) 2025-11-29 12:17:13 -05:00