]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
rgw: policy uses ceph::not_fn instead of std::not2
authorCasey Bodley <cbodley@redhat.com>
Tue, 25 Jul 2017 20:34:32 +0000 (16:34 -0400)
committerCasey Bodley <cbodley@redhat.com>
Tue, 1 Aug 2017 19:42:24 +0000 (15:42 -0400)
Signed-off-by: Casey Bodley <cbodley@redhat.com>
src/rgw/rgw_iam_policy.cc
src/rgw/rgw_iam_policy.h

index 70231b17ab481169ed8775137e46ff1094b5ca5b..9320fd50d779f32487eacd5ffbd976a93a0ecb5c 100644 (file)
@@ -11,6 +11,7 @@
 #include <iostream>
 #include "rapidjson/reader.h"
 
+#include "common/backport14.h"
 #include "rgw_auth.h"
 #include <arpa/inet.h>
 #include "rgw_iam_policy.h"
@@ -947,27 +948,27 @@ bool Condition::eval(const Environment& env) const {
     return orrible(std::equal_to<std::string>(), s, vals);
 
   case TokenID::StringNotEquals:
-    return orrible(std::not2(std::equal_to<std::string>()),
+    return orrible(ceph::not_fn(std::equal_to<std::string>()),
                   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<double>(), as_number, s, vals);
 
   case TokenID::NumericNotEquals:
-    return shortible(std::not2(std::equal_to<double>()),
+    return shortible(ceph::not_fn(std::equal_to<double>()),
                     as_number, s, vals);
 
 
@@ -989,7 +990,7 @@ bool Condition::eval(const Environment& env) const {
     return shortible(std::equal_to<ceph::real_time>(), as_date, s, vals);
 
   case TokenID::DateNotEquals:
-    return shortible(std::not2(std::equal_to<ceph::real_time>()),
+    return shortible(ceph::not_fn(std::equal_to<ceph::real_time>()),
                     as_date, s, vals);
 
   case TokenID::DateLessThan:
@@ -1020,7 +1021,7 @@ bool Condition::eval(const Environment& env) const {
     return shortible(std::equal_to<MaskedIP>(), as_network, s, vals);
 
   case TokenID::NotIpAddress:
-    return shortible(std::not2(std::equal_to<MaskedIP>()), as_network, s,
+    return shortible(ceph::not_fn(std::equal_to<MaskedIP>()), as_network, s,
                     vals);
 
 #if 0
index 6fa1997c86aa77821ec952ca20b2598716f4fdab..5236e6b02192179af17101d59518cffa19e5bbf1 100644 (file)
@@ -352,18 +352,14 @@ struct Condition {
   static boost::optional<MaskedIP> as_network(const std::string& s);
 
 
-  struct ci_equal_to : public std::binary_function<const std::string,
-                                                  const std::string,
-                                                  bool> {
+  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<const std::string,
-                                                   const std::string,
-                                                   bool> {
+  struct string_like {
     bool operator ()(const std::string& input,
                      const std::string& pattern) const {
       return match_wildcards(pattern, input, 0);