From: mengxiangrui Date: Tue, 6 Jul 2021 11:58:55 +0000 (+0800) Subject: rgw: fail as expected when set/delete-bucket-website attempted on a non-existent... X-Git-Tag: v15.2.15~4^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5831f58409109852546ae81d2074f4c82664bde1;p=ceph.git rgw: fail as expected when set/delete-bucket-website attempted on a non-existent bucket, rgw should return HTTP 404 and NoSuchBucket. Fixes: https://tracker.ceph.com/issues/51536 Signed-off-by: xiangrui meng (cherry picked from commit c623aa45d35b269c6701a57e44ac05bb29a79dc8) Conflicts: - src/rgw/rgw_op.cc Cherry-pick notes: - rgw_op.cc forward_reqeuest_to_master takes different arguments in Octopus vs. Quincy --- diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc index 6914cc1ab6a53..ec0dbf64361dc 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -2786,6 +2786,11 @@ void RGWSetBucketWebsite::execute() if (op_ret < 0) return; + if (!s->bucket_exists) { + op_ret = -ERR_NO_SUCH_BUCKET; + return; + } + if (!store->svc()->zone->is_meta_master()) { op_ret = forward_request_to_master(s, NULL, store, in_data, nullptr); if (op_ret < 0) { @@ -2821,6 +2826,10 @@ void RGWDeleteBucketWebsite::pre_exec() void RGWDeleteBucketWebsite::execute() { + if (!s->bucket_exists) { + op_ret = -ERR_NO_SUCH_BUCKET; + return; + } if (!store->svc()->zone->is_meta_master()) { bufferlist in_data;