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

fix: make http_request percent-decode URLs #1601

Merged
merged 8 commits into from
Apr 16, 2021

Conversation

ericswanson-dfinity
Copy link
Member

The http_request method now percent decodes URLs:

  • % (hex digit) (hex digit)
  • %%

Fixes #1589

Also updated the asset e2e bash script to clean up its temporary directories and isolate itself from the user's $HOME.

@@ -530,4 +533,54 @@ shared ({caller = creator}) actor class () {
}
};

private func percentDecode(encoded: Text): Result.Result<Text, Text> {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we name it urlDecode instead? And maybe make a proposal to have that as a separate Motoko library. Feels like this code would be useful in a lot of projects in the future.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do wish this functionality were in motoko-base

Copy link
Contributor

@hansl hansl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, non blocking change request.

@mergify mergify bot merged commit 60fa720 into master Apr 16, 2021
@mergify mergify bot deleted the ericswanson/1589-urldecode-http-request-url branch April 16, 2021 17:30
dfinity-bot added a commit that referenced this pull request Mar 4, 2023
## Changelog for advisory-db:
Branch: main
Commits: [rustsec/advisory-db@b485cf4d...8124c2ef](rustsec/advisory-db@b485cf4...8124c2e)

* [`516ebee1`](rustsec/advisory-db@516ebee) Add advisory for pnet_packet ([RustSec/advisory-db⁠#1595](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1595))
* [`988dc5fe`](rustsec/advisory-db@988dc5f) Fix some typos ([RustSec/advisory-db⁠#1593](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1593))
* [`b83953fd`](rustsec/advisory-db@b83953f) Assigned RUSTSEC-2020-0167 to pnet_packet ([RustSec/advisory-db⁠#1596](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1596))
* [`8dcbf290`](rustsec/advisory-db@8dcbf29) Better docs ([RustSec/advisory-db⁠#1598](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1598))
* [`c536da77`](rustsec/advisory-db@c536da7) Update RUSTSEC-2020-0097.md ([RustSec/advisory-db⁠#1600](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1600))
* [`90f7279a`](rustsec/advisory-db@90f7279) Add soundness advisory for cortex-m-rt ([RustSec/advisory-db⁠#1601](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1601))
* [`19425285`](rustsec/advisory-db@1942528) Assigned RUSTSEC-2023-0014 to cortex-m-rt ([RustSec/advisory-db⁠#1606](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1606))
* [`1a941a3d`](rustsec/advisory-db@1a941a3) Add sqlite advisory ([RustSec/advisory-db⁠#1599](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1599))
* [`0e63414b`](rustsec/advisory-db@0e63414) Assigned RUSTSEC-2022-0090 to libsqlite3-sys ([RustSec/advisory-db⁠#1607](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1607))
* [`6e74bc0d`](rustsec/advisory-db@6e74bc0) Add ascii advisory ([RustSec/advisory-db⁠#1618](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1618))
* [`eadc6fea`](rustsec/advisory-db@eadc6fe) Add advisory Tauri filesystem scope bypass ([RustSec/advisory-db⁠#1571](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1571))
* [`bf247555`](rustsec/advisory-db@bf24755) Assigned RUSTSEC-2023-0015 to ascii ([RustSec/advisory-db⁠#1619](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1619))
* [`81e6e5a8`](rustsec/advisory-db@81e6e5a) Assigned RUSTSEC-2022-0091 to tauri ([RustSec/advisory-db⁠#1621](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1621))
* [`6761c690`](rustsec/advisory-db@6761c69) Add informational advisory for partial_sort out-of-bounds read ([RustSec/advisory-db⁠#1617](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1617))
* [`9a5b1008`](rustsec/advisory-db@9a5b100) Assigned RUSTSEC-2023-0016 to partial_sort ([RustSec/advisory-db⁠#1622](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1622))
* [`94f44e82`](rustsec/advisory-db@94f44e8) `maligned::align_first` causes incorrect deallocation ([RustSec/advisory-db⁠#1625](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1625))
* [`8124c2ef`](rustsec/advisory-db@8124c2e) Assigned RUSTSEC-2023-0017 to maligned ([RustSec/advisory-db⁠#1626](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1626))
mergify bot pushed a commit that referenced this pull request Mar 6, 2023
## Changelog for advisory-db:
Branch: main
Commits: [rustsec/advisory-db@b485cf4d...8124c2ef](rustsec/advisory-db@b485cf4...8124c2e)

* [`516ebee1`](rustsec/advisory-db@516ebee) Add advisory for pnet_packet ([RustSec/advisory-db⁠#1595](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1595))
* [`988dc5fe`](rustsec/advisory-db@988dc5f) Fix some typos ([RustSec/advisory-db⁠#1593](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1593))
* [`b83953fd`](rustsec/advisory-db@b83953f) Assigned RUSTSEC-2020-0167 to pnet_packet ([RustSec/advisory-db⁠#1596](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1596))
* [`8dcbf290`](rustsec/advisory-db@8dcbf29) Better docs ([RustSec/advisory-db⁠#1598](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1598))
* [`c536da77`](rustsec/advisory-db@c536da7) Update RUSTSEC-2020-0097.md ([RustSec/advisory-db⁠#1600](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1600))
* [`90f7279a`](rustsec/advisory-db@90f7279) Add soundness advisory for cortex-m-rt ([RustSec/advisory-db⁠#1601](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1601))
* [`19425285`](rustsec/advisory-db@1942528) Assigned RUSTSEC-2023-0014 to cortex-m-rt ([RustSec/advisory-db⁠#1606](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1606))
* [`1a941a3d`](rustsec/advisory-db@1a941a3) Add sqlite advisory ([RustSec/advisory-db⁠#1599](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1599))
* [`0e63414b`](rustsec/advisory-db@0e63414) Assigned RUSTSEC-2022-0090 to libsqlite3-sys ([RustSec/advisory-db⁠#1607](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1607))
* [`6e74bc0d`](rustsec/advisory-db@6e74bc0) Add ascii advisory ([RustSec/advisory-db⁠#1618](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1618))
* [`eadc6fea`](rustsec/advisory-db@eadc6fe) Add advisory Tauri filesystem scope bypass ([RustSec/advisory-db⁠#1571](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1571))
* [`bf247555`](rustsec/advisory-db@bf24755) Assigned RUSTSEC-2023-0015 to ascii ([RustSec/advisory-db⁠#1619](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1619))
* [`81e6e5a8`](rustsec/advisory-db@81e6e5a) Assigned RUSTSEC-2022-0091 to tauri ([RustSec/advisory-db⁠#1621](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1621))
* [`6761c690`](rustsec/advisory-db@6761c69) Add informational advisory for partial_sort out-of-bounds read ([RustSec/advisory-db⁠#1617](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1617))
* [`9a5b1008`](rustsec/advisory-db@9a5b100) Assigned RUSTSEC-2023-0016 to partial_sort ([RustSec/advisory-db⁠#1622](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1622))
* [`94f44e82`](rustsec/advisory-db@94f44e8) `maligned::align_first` causes incorrect deallocation ([RustSec/advisory-db⁠#1625](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1625))
* [`8124c2ef`](rustsec/advisory-db@8124c2e) Assigned RUSTSEC-2023-0017 to maligned ([RustSec/advisory-db⁠#1626](http://r.duckduckgo.com/l/?uddg=https://github.com/RustSec/advisory-db/issues/1626))
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.

asset canister: URL decode asset filenames
2 participants