From: Abhishek Lekshmanan Date: Fri, 18 Aug 2017 16:47:17 +0000 (+0200) Subject: rgw: kill iam_action as a RGWOp member X-Git-Tag: v13.0.2~246^2~15 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=7cb7c59959e05c366653d33e3832d04ff6243af1;p=ceph.git rgw: kill iam_action as a RGWOp member since we only use it for verify_permissions, let us kill iam_action as member of RGWOp class Signed-off-by: Abhishek Lekshmanan --- diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc index a11859729745..056390b46abf 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -720,7 +720,7 @@ int RGWGetObj::verify_permission() action = rgw::IAM::s3GetObjectVersion; } if (s->iam_policy->has_conditional(S3_EXISTING_OBJTAG)) - rgw_iam_add_existing_objtags(store, s, obj, iam_action); + rgw_iam_add_existing_objtags(store, s, obj, action); } if (!verify_object_permission(s, action)) { @@ -752,6 +752,9 @@ int RGWOp::verify_op_mask() int RGWGetObjTags::verify_permission() { + auto iam_action = s->object.instance.empty()? + rgw::IAM::s3GetObjectTagging: + rgw::IAM::s3GetObjectVersionTagging; // TODO since we are parsing the bl now anyway, we probably change // the send_response function to accept RGWObjTag instead of a bl if (s->iam_policy->has_conditional(S3_EXISTING_OBJTAG)){ @@ -759,10 +762,7 @@ int RGWGetObjTags::verify_permission() rgw_iam_add_existing_objtags(store, s, obj, iam_action); } - if (!verify_object_permission(s, - s->object.instance.empty() ? - rgw::IAM::s3GetObjectTagging: - rgw::IAM::s3GetObjectVersionTagging)) + if (!verify_object_permission(s,iam_action)) return -EACCES; return 0; @@ -799,8 +799,9 @@ void RGWGetObjTags::execute() int RGWPutObjTags::verify_permission() { - iam_action = s->object.instance.empty() ? - rgw::IAM::s3PutObjectTagging: rgw::IAM::s3PutObjectVersionTagging; + auto iam_action = s->object.instance.empty() ? + rgw::IAM::s3PutObjectTagging: + rgw::IAM::s3PutObjectVersionTagging; if(s->iam_policy->has_conditional(S3_EXISTING_OBJTAG)){ auto obj = rgw_obj(s->bucket, s->object); @@ -841,7 +842,7 @@ void RGWDeleteObjTags::pre_exec() int RGWDeleteObjTags::verify_permission() { if (!s->object.empty()) { - iam_action = s->object.instance.empty() ? + auto iam_action = s->object.instance.empty() ? rgw::IAM::s3DeleteObjectTagging: rgw::IAM::s3DeleteObjectVersionTagging; @@ -4640,7 +4641,9 @@ int RGWGetACLs::verify_permission() { bool perm; if (!s->object.empty()) { - iam_action = s->object.instance.empty() ? rgw::IAM::s3GetObjectAcl : rgw::IAM::s3GetObjectVersionAcl; + auto iam_action = s->object.instance.empty() ? + rgw::IAM::s3GetObjectAcl : + rgw::IAM::s3GetObjectVersionAcl; if (s->iam_policy->has_conditional(S3_EXISTING_OBJTAG)){ rgw_obj obj = rgw_obj(s->bucket, s->object); @@ -4684,13 +4687,12 @@ int RGWPutACLs::verify_permission() } if (!s->object.empty()) { - iam_action = s->object.instance.empty() ? rgw::IAM::s3PutObjectAcl : rgw::IAM::s3PutObjectVersionAcl; + auto iam_action = s->object.instance.empty() ? rgw::IAM::s3PutObjectAcl : rgw::IAM::s3PutObjectVersionAcl; auto obj = rgw_obj(s->bucket, s->object); op_ret = rgw_iam_add_existing_objtags(store, s, obj, iam_action); perm = verify_object_permission(s, iam_action); } else { - iam_action = rgw::IAM::s3PutBucketAcl; - perm = verify_bucket_permission(s, iam_action); + perm = verify_bucket_permission(s, rgw::IAM::s3PutBucketAcl); } if (!perm) return -EACCES; diff --git a/src/rgw/rgw_op.h b/src/rgw/rgw_op.h index a2368d5750bb..9289025c67a4 100644 --- a/src/rgw/rgw_op.h +++ b/src/rgw/rgw_op.h @@ -115,7 +115,6 @@ protected: RGWQuotaInfo bucket_quota; RGWQuotaInfo user_quota; int op_ret; - std::uint64_t iam_action; int do_aws4_auth_completion(); virtual int init_quota();