]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: replace '+' with "%20" in canonical query string for s3 v4 auth. 16951/head
authorZhang Shaowen <zhangshaowen@cmss.chinamobile.com>
Wed, 9 Aug 2017 17:51:40 +0000 (13:51 -0400)
committerMatt Benjamin <mbenjamin@redhat.com>
Thu, 10 Aug 2017 16:09:45 +0000 (12:09 -0400)
Fixes: http://tracker.ceph.com/issues/20501
Signed-off-by: Zhang Shaowen <zhangshaowen@cmss.chinamobile.com>
(cherry picked from commit 416bc51101b4ae5da569c9bc3d8d738eeadc25a6)
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
src/rgw/rgw_rest_s3.cc

index e99c3866a5168fbcc424eb3cab49ae3e42f29085..82667d6c5e17b8b4ebf8b6897956003b2a9e83a5 100644 (file)
@@ -3734,6 +3734,8 @@ int RGW_Auth_S3::authorize_v4(RGWRados *store, struct req_state *s)
 
   if (!s->aws4_auth->canonical_qs.empty()) {
 
+    boost::replace_all(s->aws4_auth->canonical_qs, "+", "%20");
+
     /* handle case when query string exists. Step 3 in
      * http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html */