Currently RGW returns a 200 on a successful PUT on a bucket policy but
the S3 api extects a 204, which makes sense as it's a success without
any contect returned:
https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTpolicy.html
The sample response in the example above is a 204.
This patch checks the op_ret in `RGWPutBucketPolicy::send_response()`
and on a success we turn it to a 204 (or STATUS_NO_CONTENT).
Fixes: https://tracker.ceph.com/issues/45467
Signed-off-by: Matthew Oliver <moliver@suse.com>
(cherry picked from commit
7fddff78c98ef9a3c73581b892c7dfa04b64cdb3)
void RGWPutBucketPolicy::send_response()
{
+ if (!op_ret) {
+ /* A successful Put Bucket Policy should return a 204 on success */
+ op_ret = STATUS_NO_CONTENT;
+ }
if (op_ret) {
set_req_state_err(s, op_ret);
}