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; } }
