-
Notifications
You must be signed in to change notification settings - Fork 85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DNS name binary encoding #94
Comments
I believe the current de-facto standard in go and js is to just encode the unicode to utf-8. IIRC, punnycode is only really needed for compatibility with the DNS protocol. However, this may have canonization issues. |
Canonicalizing domain name strings is specified by UTS46. In particular that specification requires one to [ship a mapping table] and decode all domain name labels starting with |
(belatedly) I believe most DNS resolvers will do this internally. I'm fine saying that any domain in a (unless I'm missing something important) |
@Stebalien and me went for standardizing UTF-8 encoding with UTS-46 normalization/canonicalization in #101. |
As mentioned in #22,
/dns
,/dns4
,/dns6
&/dnsaddr
do not currently have an official binary encoding defined.In
py-multiaddr
we currently use Unicode for the text representation and IDNA-2008/Punnycode for the binary representation. Obviously this distinction is only relevant for domains with labels containing non-ASCII characters.How is this handled in other implementations? Is the current behaviour something that could be standardized or is another behaviour more desirable?
The text was updated successfully, but these errors were encountered: