From 8eb36333bc8e709cfb9e4958821548f813e105da Mon Sep 17 00:00:00 2001 From: Abhishek Lekshmanan Date: Thu, 27 Jul 2017 17:36:37 +0200 Subject: [PATCH] rgw: policy: support for s3 conditionals in ListBucket This adds support for s3:prefix,delimeter & maxkeys identifiers when specified as conditionals in policy. Signed-off-by: Abhishek Lekshmanan (cherry picked from commit a7184ca8c507b66ef01687bd85528342ea3bf934) --- src/rgw/rgw_op.cc | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc index 11fdbd4ebc3fd..8007357d01682 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -2239,6 +2239,19 @@ int RGWListBucket::verify_permission() if (op_ret < 0) { return op_ret; } + if (!prefix.empty()) + s->env.emplace(std::piecewise_construct, + std::forward_as_tuple("s3:prefix"), + std::forward_as_tuple(prefix)); + + if (!delimiter.empty()) + s->env.emplace(std::piecewise_construct, + std::forward_as_tuple("s3:delimiter"), + std::forward_as_tuple(delimiter)); + + s->env.emplace(std::piecewise_construct, + std::forward_as_tuple("s3:max-keys"), + std::forward_as_tuple(to_string(max))); if (!verify_bucket_permission(s, list_versions ? -- 2.39.5