diff options
author | Simon Jürgensmeyer <simon.juergensmeyer@hetzner-cloud.de> | 2025-01-15 09:08:38 +0100 |
---|---|---|
committer | Simon Jürgensmeyer <simon.juergensmeyer@hetzner-cloud.de> | 2025-01-15 09:23:55 +0100 |
commit | 466930b473292978b30a60e410dc755140ecb843 (patch) | |
tree | 24b1dbd159c4f3a819a4d3db7213280094627c51 | |
parent | Merge pull request #61072 from pecastro/doc_and_test_fixes (diff) | |
download | ceph-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.cc | 5 |
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); }; - |