From: Abhishek Lekshmanan Date: Fri, 30 Aug 2019 09:35:34 +0000 (+0200) Subject: rgw: both princ and nonprinc will not coexist in a single statement X-Git-Tag: v15.1.1~555^2~24 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=36bb77d8b7fa953231e941b24c0e81cc3f184a89;p=ceph.git rgw: both princ and nonprinc will not coexist in a single statement Signed-off-by: Abhishek Lekshmanan --- diff --git a/src/rgw/rgw_iam_policy.cc b/src/rgw/rgw_iam_policy.cc index c33db62149c..86bc8ac9be3 100644 --- a/src/rgw/rgw_iam_policy.cc +++ b/src/rgw/rgw_iam_policy.cc @@ -1443,14 +1443,13 @@ struct IsPublicStatement if (s.effect == Effect::Allow) { for (const auto& p : s.princ) { if (p.is_wildcard()) { - if (s.eval_conditions(iam_all_env) == Effect::Allow) - return true; + return s.eval_conditions(iam_all_env) == Effect::Allow; } } // no princ should not contain fixed values - return std::all_of(s.noprinc.begin(), s.noprinc.end(), [](const rgw::auth::Principal& p) { - return !p.is_wildcard(); - }); + return std::none_of(s.noprinc.begin(), s.noprinc.end(), [](const rgw::auth::Principal& p) { + return p.is_wildcard(); + }); } return false; }