- if the 'Effect' field of user policy and bucket policy
is set to 'Allow', RGWDeleteObj::verify_permission()
should return 0 instead of true;
- as the same with bucket policy, if the 'Effect' field
of user policy is set to 'Deny', RGWDeleteObj::verify_permission()
should return -EACCES instead of false;
Signed-off-by: Enming.Zhang <zvampirem77@gmail.com>
rgw::IAM::s3DeleteObjectVersion,
ARN(s->bucket, s->object.name));
if (usr_policy_res == Effect::Deny) {
- return false;
+ return -EACCES;
}
auto r = s->iam_policy->eval(s->env, *s->auth.identity,
s->object.instance.empty() ?
rgw::IAM::s3DeleteObjectVersion,
ARN(s->bucket, s->object.name));
if (r == Effect::Allow)
- return true;
+ return 0;
else if (r == Effect::Deny)
return -EACCES;
else if (usr_policy_res == Effect::Allow)
- return true;
+ return 0;
}
if (!verify_bucket_permission_no_policy(this, s, RGW_PERM_WRITE)) {