]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: check for non-existent bucket in RGWGetACLs 26530/head
authorMatt Benjamin <mbenjamin@redhat.com>
Wed, 30 Jan 2019 19:09:47 +0000 (14:09 -0500)
committerPrashant D <pdhange@redhat.com>
Tue, 19 Feb 2019 22:44:03 +0000 (17:44 -0500)
Fix incorrect result when attempting to fetch an ACL for a
bucket that does not exist.

This change leads to a NoSuchBucket error result when an ACL is
requested from a non-existent bucket.  A NoSuchKey error result
iss already seen when the target was an object.

Fixes: https://tracker.ceph.com/issues/38116
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
(cherry picked from commit 078981ca4ef1610ab89b60f4c281f521d6838a37)

Conflicts:
src/rgw/rgw_op.cc : Resolved in verify_permission

src/rgw/rgw_op.cc

index 730de87fa31efc40f2b7107667d7d7316fbe9f14..e0cda1af411059fc07ba9e32195088ad30696fd8 100644 (file)
@@ -4625,6 +4625,9 @@ int RGWGetACLs::verify_permission()
                                    rgw::IAM::s3GetObjectAcl :
                                    rgw::IAM::s3GetObjectVersionAcl);
   } else {
+    if (!s->bucket_exists) {
+      return -ERR_NO_SUCH_BUCKET;
+    }
     perm = verify_bucket_permission(s, rgw::IAM::s3GetBucketAcl);
   }
   if (!perm)