]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: objects can contain '%'
authorYehuda Sadeh <yehuda@hq.newdream.net>
Sat, 11 Feb 2012 00:47:54 +0000 (16:47 -0800)
committerYehuda Sadeh <yehuda@hq.newdream.net>
Sat, 11 Feb 2012 01:05:01 +0000 (17:05 -0800)
Signed-off-by: Yehuda Sadeh <yehuda@hq.newdream.net>
src/rgw/rgw_rest.cc
src/rgw/rgw_rest_s3.cc

index 935b7eed021fe4b65680b57e8aa29c36550f4617..656b7afcaab81178c779bce701828c8aaaa8e0d2 100644 (file)
@@ -764,8 +764,7 @@ int RGWHandler_REST::preprocess(struct req_state *s, FCGX_Request *fcgx)
   int ret = 0;
 
   s->fcgx = fcgx;
-  string script_name = s->env->get("SCRIPT_NAME");
-  url_decode(script_name, s->path_name);
+  s->path_name = s->env->get("SCRIPT_NAME");
   s->request_uri = s->env->get("REQUEST_URI");
   int pos = s->request_uri.find('?');
   if (pos >= 0) {
index 44e3a9c0864de3edff8900ea35d461ac6d9ff01b..5a1232255636db34f29f5df89da880c3ceabe6b9 100644 (file)
@@ -155,7 +155,7 @@ void RGWListBucket_REST_S3::send_response()
     vector<RGWObjEnt>::iterator iter;
     for (iter = objs.begin(); iter != objs.end(); ++iter) {
       s->formatter->open_array_section("Contents");
-      s->formatter->dump_format("Key", iter->name.c_str());
+      s->formatter->dump_string("Key", iter->name.c_str());
       dump_time(s, "LastModified", &iter->mtime);
       s->formatter->dump_format("ETag", "\"%s\"", iter->etag.c_str());
       s->formatter->dump_int("Size", iter->size);