From e9eedecdc85609e6d7f7bcb071334fcb6663c504 Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Tue, 1 Jul 2025 10:42:15 -0400 Subject: [PATCH] rgw/s3: fix PutObject's canned_acl comparisons for BlockPublicAcls canned_acl.compare() returns 0 for matches, so this was rejecting all canned acls Fixes: https://tracker.ceph.com/issues/49135 Signed-off-by: Casey Bodley --- src/rgw/rgw_op.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc index 03daa693506..2d1f7d2fe2a 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -4107,9 +4107,9 @@ int RGWPutObj::init_processing(optional_yield y) { // reject public canned acls if (s->bucket_access_conf && s->bucket_access_conf->block_public_acls() && - (s->canned_acl.compare("public-read") || - s->canned_acl.compare("public-read-write") || - s->canned_acl.compare("authenticated-read"))) { + (s->canned_acl == "public-read" || + s->canned_acl == "public-read-write" || + s->canned_acl == "authenticated-read")) { return -EACCES; } -- 2.47.3