diff options
author | Quentin Dufour <quentin@deuxfleurs.fr> | 2021-04-27 21:30:12 +0200 |
---|---|---|
committer | Quentin Dufour <quentin@deuxfleurs.fr> | 2021-04-27 21:30:12 +0200 |
commit | d6e0749e9a5a203332f45ffd8e3328d414ec454c (patch) | |
tree | fbad55d796654186115c676fae0fe24d4277d47e | |
parent | 119217f9f6f904efda33d80f744404c6935ed827 (diff) | |
download | garage-d6e0749e9a5a203332f45ffd8e3328d414ec454c.tar.gz garage-d6e0749e9a5a203332f45ffd8e3328d414ec454c.zip |
Correctly encode ampersand
-rwxr-xr-x | script/test-smoke.sh | 34 | ||||
-rw-r--r-- | src/api/encoding.rs | 1 |
2 files changed, 18 insertions, 17 deletions
diff --git a/script/test-smoke.sh b/script/test-smoke.sh index a2ffcea1..dbb90a20 100755 --- a/script/test-smoke.sh +++ b/script/test-smoke.sh @@ -19,41 +19,41 @@ garage status garage key list garage bucket list -dd if=/dev/urandom of=/tmp/garage.1.rnd bs=1k count=2 # < INLINE_THRESHOLD = 3072 bytes -dd if=/dev/urandom of=/tmp/garage.2.rnd bs=1M count=5 -dd if=/dev/urandom of=/tmp/garage.3.rnd bs=1M count=10 +dd if=/dev/urandom of=/tmp/garage.1.rnd bs=1k count=2 # No multipart, inline storage (< INLINE_THRESHOLD = 3072 bytes) +dd if=/dev/urandom of=/tmp/garage.2.rnd bs=1M count=5 # No multipart but file will be chunked +dd if=/dev/urandom of=/tmp/garage.3.rnd bs=1M count=10 # by default, AWS starts using multipart at 8MB echo "s3 api testing..." for idx in $(seq 1 3); do - # AWS sends - awsgrg cp /tmp/garage.$idx.rnd s3://eprouvette/garage.$idx.aws - + # AWS sends + awsgrg cp "/tmp/garage.$idx.rnd" "s3://eprouvette/&+-é/garage.$idx.aws" + awsgrg ls s3://eprouvette - - awsgrg cp s3://eprouvette/garage.$idx.aws /tmp/garage.$idx.dl + + awsgrg cp "s3://eprouvette/&+-é/garage.$idx.aws" "/tmp/garage.$idx.dl" diff /tmp/garage.$idx.rnd /tmp/garage.$idx.dl rm /tmp/garage.$idx.dl - - s3grg get s3://eprouvette/garage.$idx.aws /tmp/garage.$idx.dl + + s3grg get "s3://eprouvette/&+-é/garage.$idx.aws" "/tmp/garage.$idx.dl" diff /tmp/garage.$idx.rnd /tmp/garage.$idx.dl rm /tmp/garage.$idx.dl - - awsgrg rm s3://eprouvette/garage.$idx.aws + + awsgrg rm "s3://eprouvette/&+-é/garage.$idx.aws" # S3CMD sends - s3grg put /tmp/garage.$idx.rnd s3://eprouvette/garage.$idx.s3cmd + s3grg put "/tmp/garage.$idx.rnd" "s3://eprouvette/&+-é/garage.$idx.s3cmd" s3grg ls s3://eprouvette - s3grg get s3://eprouvette/garage.$idx.s3cmd /tmp/garage.$idx.dl + s3grg get "s3://eprouvette/&+-é/garage.$idx.s3cmd" "/tmp/garage.$idx.dl" diff /tmp/garage.$idx.rnd /tmp/garage.$idx.dl rm /tmp/garage.$idx.dl - - awsgrg cp s3://eprouvette/garage.$idx.s3cmd /tmp/garage.$idx.dl + + awsgrg cp "s3://eprouvette/&+-é/garage.$idx.s3cmd" "/tmp/garage.$idx.dl" diff /tmp/garage.$idx.rnd /tmp/garage.$idx.dl rm /tmp/garage.$idx.dl - s3grg rm s3://eprouvette/garage.$idx.s3cmd + s3grg rm "s3://eprouvette/&+-é/garage.$idx.s3cmd" done rm /tmp/garage.{1,2,3}.rnd diff --git a/src/api/encoding.rs b/src/api/encoding.rs index 63c5dee2..934a827c 100644 --- a/src/api/encoding.rs +++ b/src/api/encoding.rs @@ -5,6 +5,7 @@ pub fn xml_escape(s: &str) -> String { s.replace("<", "<") .replace(">", ">") .replace("\"", """) + .replace("&", "&") } /// Encode &str for use in a URI |