From 0094e9ebd99207b356daf14793cf58c58f36ed8f Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Tue, 25 Jul 2017 16:34:32 -0400 Subject: [PATCH] rgw: policy uses ceph::not_fn instead of std::not2 Signed-off-by: Casey Bodley --- src/rgw/rgw_iam_policy.cc | 13 +++++++------ src/rgw/rgw_iam_policy.h | 8 ++------ 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/rgw/rgw_iam_policy.cc b/src/rgw/rgw_iam_policy.cc index 70231b17ab4..9320fd50d77 100644 --- a/src/rgw/rgw_iam_policy.cc +++ b/src/rgw/rgw_iam_policy.cc @@ -11,6 +11,7 @@ #include #include "rapidjson/reader.h" +#include "common/backport14.h" #include "rgw_auth.h" #include #include "rgw_iam_policy.h" @@ -947,27 +948,27 @@ bool Condition::eval(const Environment& env) const { return orrible(std::equal_to(), s, vals); case TokenID::StringNotEquals: - return orrible(std::not2(std::equal_to()), + return orrible(ceph::not_fn(std::equal_to()), s, vals); case TokenID::StringEqualsIgnoreCase: return orrible(ci_equal_to(), s, vals); case TokenID::StringNotEqualsIgnoreCase: - return orrible(std::not2(ci_equal_to()), s, vals); + return orrible(ceph::not_fn(ci_equal_to()), s, vals); case TokenID::StringLike: return orrible(string_like(), s, vals); case TokenID::StringNotLike: - return orrible(std::not2(string_like()), s, vals); + return orrible(ceph::not_fn(string_like()), s, vals); // Numeric case TokenID::NumericEquals: return shortible(std::equal_to(), as_number, s, vals); case TokenID::NumericNotEquals: - return shortible(std::not2(std::equal_to()), + return shortible(ceph::not_fn(std::equal_to()), as_number, s, vals); @@ -989,7 +990,7 @@ bool Condition::eval(const Environment& env) const { return shortible(std::equal_to(), as_date, s, vals); case TokenID::DateNotEquals: - return shortible(std::not2(std::equal_to()), + return shortible(ceph::not_fn(std::equal_to()), as_date, s, vals); case TokenID::DateLessThan: @@ -1020,7 +1021,7 @@ bool Condition::eval(const Environment& env) const { return shortible(std::equal_to(), as_network, s, vals); case TokenID::NotIpAddress: - return shortible(std::not2(std::equal_to()), as_network, s, + return shortible(ceph::not_fn(std::equal_to()), as_network, s, vals); #if 0 diff --git a/src/rgw/rgw_iam_policy.h b/src/rgw/rgw_iam_policy.h index 6fa1997c86a..5236e6b0219 100644 --- a/src/rgw/rgw_iam_policy.h +++ b/src/rgw/rgw_iam_policy.h @@ -352,18 +352,14 @@ struct Condition { static boost::optional as_network(const std::string& s); - struct ci_equal_to : public std::binary_function { + struct ci_equal_to { bool operator ()(const std::string& s1, const std::string& s2) const { return boost::iequals(s1, s2); } }; - struct string_like : public std::binary_function { + struct string_like { bool operator ()(const std::string& input, const std::string& pattern) const { return match_wildcards(pattern, input, 0); -- 2.39.5