-
Notifications
You must be signed in to change notification settings - Fork 17.8k
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
cmd/go: unzip github.com/bep/golibsass@v0.1.0 fails with invalid char '́' (U+0301) #37139
Comments
Reproduce steps:
|
The error is coming from
Its documentation says:
The Unicode Restrictions section is likely relevant. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
I made mistakes in the two comments above, so disregard them. CheckFilePath is documented and implemented to accept all Unicode letters. The problem is that one of the runes in the string "Sáss-UŢF8" is determined not to be a Unicode letter. See https://play.golang.org/p/7l4Je9wHcNY, which prints:
I suspect this has to do with Unicode normalization and Unicode combining characters. Leaving this for people familiar with |
Ideally, this seems like a string we should accept. Though we'll have to be careful about file system Unicode normalization (I think HFS+ does this). There are a couple other open issues about path validation (#29101, #28389, #36774, #31376, probably more). We should come up with a plan to fix all of these before making changes. |
(The |
Maybe? But we would need to tighten the duplicate-path validation, I think. At the moment we reject case-equivalent paths in module contents, but we would need to also check for normalization-equivalent paths. |
Oh, neat! The So, yeah: that part of the source tree can never feasibly be included in a Go module. |
Embedding https://github.com/sass/libsass as a Git subtree in a Go Module fails:
See sass/libsass#3055 -- where some maintainer claims that the path in question is valid Unicode.
The text was updated successfully, but these errors were encountered: