From: Javier M. Mellid Date: Sat, 23 Jan 2016 19:23:17 +0000 (+0100) Subject: rgw: fix bug encoding percentage char in X-Amz-Credential X-Git-Tag: v10.1.0~351^2^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=cc8f31b84183192d14bc013fe1b390f3fa8959c0;p=ceph.git rgw: fix bug encoding percentage char in X-Amz-Credential The X-Amz-Credential value in the URL shows the "/" character only for readability. In practice, it should be encoded as %2F Signed-off-by: Javier M. Mellid --- diff --git a/src/rgw/rgw_rest_s3.cc b/src/rgw/rgw_rest_s3.cc index 75c543c4832a..2ff9f4bb29af 100644 --- a/src/rgw/rgw_rest_s3.cc +++ b/src/rgw/rgw_rest_s3.cc @@ -3126,11 +3126,14 @@ int RGW_Auth_S3::authorize_v4(RGWRados *store, struct req_state *s) if (!using_qs || key != "X-Amz-Signature") { string encoded_key; string encoded_val; - - aws4_uri_encode(key, encoded_key); - aws4_uri_encode(val, encoded_val); - - canonical_qs_map[encoded_key] = encoded_val; + if (key != "X-Amz-Credential") { + aws4_uri_encode(key, encoded_key); + aws4_uri_encode(val, encoded_val); + } else { + encoded_key = key; + encoded_val = val; + } + canonical_qs_map[encoded_key] = encoded_val; } }