idnatest error if xn-- empty or all-ASCII #827
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
[165-A48] Action Item for Markus Scherer, Editorial Committee: Update UTS#46 to validate ACE label edge cases, see L2/20-240 item F7. For Unicode 14.
Corresponds to spec change
L2/20-240 item F7
The IDNA2008 ToUnicode operation validates ACE labels ("xn--" plus Punycode)
by decoding them, then re-encoding via ToASCII, and verifying that the
round-trip output is the same as the input (case-insensitive).
The UTS#46 ToUnicode operation and its Processing step uses a cheaper
Convert/Validate step which wants to be equivalent.
However, it misses two edge cases which pass Convert/Validate step but which
IDNA2008 catches with its round-trip verification:
I propose that we modify
https://www.unicode.org/reports/tr46/#ProcessingStepPunycode (section 4
Processing > step 4 "Convert/Validate" > If the label starts with
“xn--”) so that it catches these cases.
...