Support for IDN
See original GitHub issueHello,
I am owner of zajęzyk.pl
(punycode: xn--zajzyk-y4a.pl
) hosted on CloudFlare.
I got following errors:
$ octodns-dump --config-file=env/production.yaml --output-dir=zones zajęzyk.pl. cloudflare_shared
2018-02-18T12:58:33 [140367053055744] INFO Manager __init__: config_file=env/production.yaml
2018-02-18T12:58:33 [140367053055744] INFO Manager __init__: max_workers=1
2018-02-18T12:58:33 [140367053055744] INFO Manager __init__: max_workers=False
Traceback (most recent call last):
File "/usr/lib/python2.7/logging/__init__.py", line 861, in emit
msg = self.format(record)
File "/usr/lib/python2.7/logging/__init__.py", line 734, in format
return fmt.format(record)
File "/usr/lib/python2.7/logging/__init__.py", line 465, in format
record.message = record.getMessage()
File "/usr/lib/python2.7/logging/__init__.py", line 329, in getMessage
msg = msg % self.args
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 3: ordinal not in range(128)
Logged from file manager.py, line 347
Traceback (most recent call last):
File "/home/adas/.virtualenvs/infra/bin/octodns-dump", line 11, in <module>
sys.exit(main())
File "/home/adas/.virtualenvs/infra/local/lib/python2.7/site-packages/octodns/cmds/dump.py", line 31, in main
manager.dump(args.zone, args.output_dir, args.lenient, *args.source)
File "/home/adas/.virtualenvs/infra/local/lib/python2.7/site-packages/octodns/manager.py", line 360, in dump
zone = Zone(zone, self.configured_sub_zones(zone))
File "/home/adas/.virtualenvs/infra/local/lib/python2.7/site-packages/octodns/manager.py", line 159, in configured_sub_zones
pieces = zone_name[:-1].split('.')[::-1]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 3: ordinal not in range(128)
$ octodns-dump --config-file=env/production.yaml --output-dir=zones xn--zajzyk-y4a.pl. cloudflare_shared
2018-02-18T12:59:28 [139790821807872] INFO Manager __init__: config_file=env/production.yaml
2018-02-18T12:59:28 [139790821807872] INFO Manager __init__: max_workers=1
2018-02-18T12:59:28 [139790821807872] INFO Manager __init__: max_workers=False
2018-02-18T12:59:28 [139790821807872] INFO Manager dump: zone=xn--zajzyk-y4a.pl., sources=()
2018-02-18T12:59:29 [139790821807872] INFO CloudflareProvider[cloudflare_shared] populate: found 0 records
2018-02-18T12:59:29 [139790821807872] INFO YamlProvider[dump] plan: desired=xn--zajzyk-y4a.pl.
2018-02-18T12:59:29 [139790821807872] INFO YamlProvider[dump] plan: No changes
2018-02-18T12:59:29 [139790821807872] INFO YamlProvider[dump] apply: making changes
No DNS records found for punycode. There is records for that domain:
I would like to work with IDN domains just like with regular domains. It is indifferent whether through direct or indirect, but the export must be.
$ python --version
Python 2.7.12
$ pip freeze | grep 'octodns'
octodns==0.8.8
Issue Analytics
- State:
- Created 6 years ago
- Comments:21 (18 by maintainers)
Top Results From Across the Web
IDN Repository Procedures
The Repository of IDN Practices was created to support the development of the internationalized domain names (IDNs) by promoting the sharing ...
Read more >Internationalized domain name - Wikipedia
An internationalized domain name (IDN) is an Internet domain name that contains at least one ... The DNS, which performs a lookup service...
Read more >Internationalized Domain Name (IDN) Services - icann
More information about the "IDN Service: Add, Modify or Remove" and the "IDN Tables: Update and Publish" services are available in the IDN...
Read more >Which TLDs Support IDNs? - eNom
24/7 Support (425) 274-4500 | Submit a Ticket | Who is my Reseller? My Cart | My Account. print
Read more >Introducing Internationalized Domain Name (IDN) Support
Let's Encrypt is pleased to introduce support for issuing certificates that contain Internationalized Domain Names (IDNs).
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Addressed in https://github.com/octodns/octodns/pull/922
octoDNS itself now has the IDN helpers required to implement this support and the remaining work will happen in each provider. They’ll be linked up to this issue as that happens. I’ll probably only look at doing the ones that I have access to and thus can verify. Others should feel free to submit PRs. They’ll likely be fairly simple PRs, especially for providers w/o dynamic support.
Going to call this closed since octoDNS itself is done.