Skip to content
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

bug: Fix SignatureDoesNotMatch when putting files with special characters #278

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

Dorthu
Copy link
Collaborator

@Dorthu Dorthu commented Dec 14, 2021

Related to #277

@mechpaul discovered that putting filenames with some special
characters, such as \ and $ using the obj plugin returns a
SignatureDoesNotMatch error.

To reproduce:

$ echo "test" > 'test$file\name'
$ python3 -m linodecli obj put 'test$file\name' some-bucket

This change properly quotes the URLs such that these characters are
accepted in keys.

…ters

Related to #277

@mechpaul discovered that putting filenames with some special
characters, such as `\` and `$` using the `obj` plugin returns a
SignatureDoesNotMatch error.

To reproduce:

```bash
$ echo "test" > 'test$file\name'
$ python3 -m linodecli obj put 'test$file\name' some-bucket
```

This change properly quotes the URLs such that these characters are
accepted in keys.
@mechpaul
Copy link

This fix works for uploading, but it causes problems in the web GUI.

image

I was not able to test how it worked for public read. Setting the ACL to Public Read threw another exception: Unable to set object's ACL: SignatureDoesNotMatch.

Should keys in the object bucket be unescaped?

@Dorthu
Copy link
Collaborator Author

Dorthu commented Dec 19, 2021

Hmm.. it does appear that the key is being stored escaped. That's not what I intended - I'll revisit it.

@zliang-akamai zliang-akamai self-assigned this Apr 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants