Repository: incubator-ranger
Updated Branches:
  refs/heads/master 8335bdeac -> ccf8d6264


RANGER-307: fix incorrect recursion in getContextEnrichers()


Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/ccf8d626
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/ccf8d626
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/ccf8d626

Branch: refs/heads/master
Commit: ccf8d62642c41e5225a531403a4f9b7aef44d63a
Parents: 8335bde
Author: Abhay Kulkarni <[email protected]>
Authored: Mon Mar 16 11:08:19 2015 -0700
Committer: Madhan Neethiraj <[email protected]>
Committed: Mon Mar 16 11:08:19 2015 -0700

----------------------------------------------------------------------
 .../ranger/plugin/policyengine/CacheMap.java    |  1 -
 .../policyengine/RangerPolicyEngineImpl.java    |  3 +--
 .../RangerPolicyEvaluatorFacade.java            | 22 ++++++++++----------
 .../policyengine/RangerPolicyRepository.java    |  4 +---
 .../RangerDefaultPolicyEvaluator.java           |  3 +--
 .../RangerOptimizedPolicyEvaluator.java         | 10 ++++-----
 6 files changed, 19 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/ccf8d626/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/CacheMap.java
----------------------------------------------------------------------
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/CacheMap.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/CacheMap.java
index 0a1566c..382577e 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/CacheMap.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/CacheMap.java
@@ -21,7 +21,6 @@ package org.apache.ranger.plugin.policyengine;
 import java.util.LinkedHashMap;
 import java.util.Map;
 
-
 public class CacheMap<K, V> extends LinkedHashMap<K, V> {
     private static final float RANGER_CACHE_DEFAULT_LOAD_FACTOR = 0.75f;
 

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/ccf8d626/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEngineImpl.java
----------------------------------------------------------------------
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEngineImpl.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEngineImpl.java
index abae1fe..d590548 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEngineImpl.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEngineImpl.java
@@ -39,7 +39,6 @@ public class RangerPolicyEngineImpl implements 
RangerPolicyEngine {
        private RangerPolicyRepository policyRepository    = null;
        private RangerAuditHandler     defaultAuditHandler = null;
 
-
        public RangerPolicyEngineImpl() {
                if(LOG.isDebugEnabled()) {
                        LOG.debug("==> RangerPolicyEngineImpl()");
@@ -63,7 +62,7 @@ public class RangerPolicyEngineImpl implements 
RangerPolicyEngine {
        @Override
        public List<RangerContextEnricher> getContextEnrichers() {
 
-               return policyRepository == null ? null : getContextEnrichers();
+               return policyRepository == null ? null : 
policyRepository.getContextEnrichers();
        }
 
        @Override

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/ccf8d626/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEvaluatorFacade.java
----------------------------------------------------------------------
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEvaluatorFacade.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEvaluatorFacade.java
index 5c30df3..b95b053 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEvaluatorFacade.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyEvaluatorFacade.java
@@ -34,7 +34,7 @@ public class RangerPolicyEvaluatorFacade implements 
RangerPolicyEvaluator, Compa
     private static final Log LOG = 
LogFactory.getLog(RangerPolicyEvaluatorFacade.class);
 
     RangerDefaultPolicyEvaluator delegate  =   null;
-    int computedPriority            =   0;
+    int computedPolicyEvalOrder            =   0;
     boolean useCachePolicyEngine         = false;
 
     RangerPolicyEvaluatorFacade(boolean useCachePolicyEngine) {
@@ -53,7 +53,7 @@ public class RangerPolicyEvaluatorFacade implements 
RangerPolicyEvaluator, Compa
             LOG.debug("==> RangerPolicyEvaluatorFacade.init(), 
useCachePolicyEngine:" + useCachePolicyEngine);
         }
         delegate.init(policy, serviceDef);
-        computedPriority = computePriority();
+        computedPolicyEvalOrder = computePolicyEvalOrder();
         if(LOG.isDebugEnabled()) {
             LOG.debug("<== RangerPolicyEvaluatorFacade.init(), 
useCachePolicyEngine:" + useCachePolicyEngine);
         }
@@ -91,7 +91,7 @@ public class RangerPolicyEvaluatorFacade implements 
RangerPolicyEvaluator, Compa
         }
         int result;
 
-        if (this.getComputedPriority() == other.getComputedPriority()) {
+        if (this.getComputedPolicyEvalOrder() == 
other.getComputedPolicyEvalOrder()) {
             Map<String, RangerConditionEvaluator> myConditionEvaluators = 
this.delegate.getConditionEvaluators();
             Map<String, RangerConditionEvaluator> otherConditionEvaluators = 
other.delegate.getConditionEvaluators();
 
@@ -100,8 +100,8 @@ public class RangerPolicyEvaluatorFacade implements 
RangerPolicyEvaluator, Compa
 
             result = Integer.compare(myConditionEvaluatorCount, 
otherConditionEvaluatorCount);
         } else {
-            int myComputedPriority = this.getComputedPriority();
-            int otherComputedPriority = other.getComputedPriority();
+            int myComputedPriority = this.getComputedPolicyEvalOrder();
+            int otherComputedPriority = other.getComputedPolicyEvalOrder();
             result = Integer.compare(myComputedPriority, 
otherComputedPriority);
         }
         if(LOG.isDebugEnabled()) {
@@ -111,17 +111,17 @@ public class RangerPolicyEvaluatorFacade implements 
RangerPolicyEvaluator, Compa
         return result;
     }
 
-    private int getComputedPriority() {
-        return computedPriority;
+    private int getComputedPolicyEvalOrder() {
+        return computedPolicyEvalOrder;
     }
 
-    private int computePriority() {
+    private int computePolicyEvalOrder() {
         if(LOG.isDebugEnabled()) {
-            LOG.debug("==> RangerPolicyEvaluatorFacade.computePriority()");
+            LOG.debug("==> 
RangerPolicyEvaluatorFacade.computePolicyEvalOrder()");
         }
-        int result = delegate.computePriority();
+        int result = delegate.computePolicyEvalOrder();
         if(LOG.isDebugEnabled()) {
-            LOG.debug("<==RangerPolicyEvaluatorFacade.computePriority(), 
result:" + result);
+            
LOG.debug("<==RangerPolicyEvaluatorFacade.computePolicyEvalOrder(), result:" + 
result);
         }
         return result;
     }

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/ccf8d626/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyRepository.java
----------------------------------------------------------------------
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyRepository.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyRepository.java
index 700b3ad..ff55990 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyRepository.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyengine/RangerPolicyRepository.java
@@ -98,10 +98,8 @@ public class RangerPolicyRepository {
             if (evaluator != null) {
                 policyEvaluators.add(evaluator);
             }
-
-            Collections.sort(policyEvaluators);
-
         }
+        Collections.sort(policyEvaluators);
 
         String propertyName = "ranger.plugin." + serviceName + 
".policyengine.auditcachesize";
 

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/ccf8d626/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyEvaluator.java
----------------------------------------------------------------------
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyEvaluator.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyEvaluator.java
index 30b36fa..b264664 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyEvaluator.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerDefaultPolicyEvaluator.java
@@ -89,8 +89,7 @@ public class RangerDefaultPolicyEvaluator extends 
RangerAbstractPolicyEvaluator
     public Map<String, RangerConditionEvaluator> getConditionEvaluators() {
         return conditionEvaluators;
     }
-    public int computePriority() { return 0;}
-
+    public int computePolicyEvalOrder() { return 0;}
 
     /**
         * Non-private only for testability.

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/ccf8d626/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerOptimizedPolicyEvaluator.java
----------------------------------------------------------------------
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerOptimizedPolicyEvaluator.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerOptimizedPolicyEvaluator.java
index 59fb87c..af24247 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerOptimizedPolicyEvaluator.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/policyevaluator/RangerOptimizedPolicyEvaluator.java
@@ -97,9 +97,9 @@ public class RangerOptimizedPolicyEvaluator extends 
RangerDefaultPolicyEvaluator
     }
 
     @Override
-    public int computePriority() {
+    public int computePolicyEvalOrder() {
         if(LOG.isDebugEnabled()) {
-            LOG.debug("==> RangerOptimizedPolicyEvaluator.computePriority()");
+            LOG.debug("==> 
RangerOptimizedPolicyEvaluator.computePolicyEvalOrder()");
         }
         RangerServiceDef serviceDef = getServiceDef();
         RangerPolicy policy = getPolicy();
@@ -194,7 +194,7 @@ public class RangerOptimizedPolicyEvaluator extends 
RangerDefaultPolicyEvaluator
         priorityLevel -= 
Math.round(((float)RANGER_POLICY_EVAL_ALL_ACCESS_TYPES_PREMIUM * 
accessPerms.size()) / serviceDef.getAccessTypes().size());
 
         if(LOG.isDebugEnabled()) {
-            LOG.debug("<== RangerOptimizedPolicyEvaluator.computePriority(), 
policyName:" + policy.getName() + ", priority:" + priorityLevel);
+            LOG.debug("<== 
RangerOptimizedPolicyEvaluator.computePolicyEvalOrder(), policyName:" + 
policy.getName() + ", priority:" + priorityLevel);
         }
         return priorityLevel;
     }
@@ -227,13 +227,13 @@ public class RangerOptimizedPolicyEvaluator extends 
RangerDefaultPolicyEvaluator
         if(LOG.isDebugEnabled()) {
             LOG.debug("==> 
RangerOptimizedPolicyEvaluator.checkIfHasAllPerms()");
         }
-
         boolean result = true;
 
         List<RangerServiceDef.RangerAccessTypeDef> serviceAccessTypes = 
getServiceDef().getAccessTypes();
         for (RangerServiceDef.RangerAccessTypeDef serviceAccessType : 
serviceAccessTypes) {
             if(! accessPerms.contains(serviceAccessType.getName())) {
-                return false;
+               result = false;
+                break;
             }
         }
 

Reply via email to