summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Jürgensmeyer <simon.juergensmeyer@hetzner-cloud.de>2025-01-15 09:08:38 +0100
committerSimon Jürgensmeyer <simon.juergensmeyer@hetzner-cloud.de>2025-01-15 09:23:55 +0100
commit466930b473292978b30a60e410dc755140ecb843 (patch)
tree24b1dbd159c4f3a819a4d3db7213280094627c51
parentMerge pull request #61072 from pecastro/doc_and_test_fixes (diff)
downloadceph-466930b473292978b30a60e410dc755140ecb843.tar.xz
ceph-466930b473292978b30a60e410dc755140ecb843.zip
rgw: S3 Delete Bucket Policy should return 204 on success
Currently, RGW returns a 200 on a successful DELETE on a bucket policy but the S3 API expects a 204: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketPolicy.html The sample response in the example above is a 204. This patch checks the op_ret in `RGWDeleteBucketPolicy::send_response()` and on a success we turn it to a 204 (or STATUS_NO_CONTENT). Fixes: https://tracker.ceph.com/issues/69539 Signed-off-by: Simon Jürgensmeyer <simon.juergensmeyer@hetzner-cloud.de>
-rw-r--r--src/rgw/rgw_op.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc
index 7b0ca3134a3..1793c0b8065 100644
--- a/src/rgw/rgw_op.cc
+++ b/src/rgw/rgw_op.cc
@@ -8582,6 +8582,10 @@ void RGWGetBucketPolicy::execute(optional_yield y)
void RGWDeleteBucketPolicy::send_response()
{
+ if (!op_ret) {
+ /* A successful Delete Bucket Policy should return a 204 on success */
+ op_ret = STATUS_NO_CONTENT;
+ }
if (op_ret) {
set_req_state_err(s, op_ret);
}
@@ -9257,4 +9261,3 @@ void rgw_slo_entry::decode_json(JSONObj *obj)
JSONDecoder::decode_json("etag", etag, obj);
JSONDecoder::decode_json("size_bytes", size_bytes, obj);
};
-