]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
rgw: fix double slash (//) killing the gateway
authorroot <root@cephdev.cern.ch>
Fri, 26 Jun 2020 10:44:45 +0000 (12:44 +0200)
committerroot <root@cephdev.cern.ch>
Fri, 26 Jun 2020 10:55:22 +0000 (12:55 +0200)
When a bucket is inialized as a static website, a curl request on the bucket with double slash kills the gateway.
The problem is on the URL handling of the subdirectory, which tries to remove the last slash of any URL, so when only / is given as a sub-directory, this results to an empty string.

Fixes: https://tracker.ceph.com/issues/41225
Signed-off-by: Theofilos Mouratidis <t.mour@cern.ch>
src/rgw/rgw_rest_s3.cc

index 47be196e596078dd3e128a15d652da3223b87dd9..411e4de1ae4deb40a9ba38c0ec5cb837bfbc10d8 100644 (file)
@@ -4909,7 +4909,7 @@ bool RGWHandler_REST_S3Website::web_dir() const {
 
   if (subdir_name.empty()) {
     return false;
-  } else if (subdir_name.back() == '/') {
+  } else if (subdir_name.back() == '/' && subdir_name.size() > 1) {
     subdir_name.pop_back();
   }