-
Notifications
You must be signed in to change notification settings - Fork 285
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
Incorrect sign in function signedUrl when filename contains special chars: !'()#*+? #334
Comments
There is also a problem with non latin symbols (for example Russian). Example: Again no workaround: |
Solution: As I have tested that helped for spechial chars & for non latin chars. |
Function
signedUrl
works incorrect with filenames containig special chars.Problem:
Filename for creating sign is converted with code:
pathname = url.parse(filename).pathname
But filename for returning url is converted with code:
return this.url(filename)
Function
this.url
includes conversion by internal functionencodeSpecialCharacters
, that converts special symbols:!'()#*+?
. Buturl.parse
does not convert these special chars. So results are different. Difference in url & sign cause S3 error SignatureDoesNotMatch.Example:
For Filename:
file (1).png
In sign is:
file%20(1).png
In url is:
file%20%281%29.png
No workaround:
I can't prepare filename by myself outside the knox. Because if I convert special chars in filename before knox, knox will double convert % char (% → %25) and sign will be incorect again. For this example:
file%2520%25281%2529.png
.Please, help!
The text was updated successfully, but these errors were encountered: