You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by zs...@apache.org on 2018/03/26 09:09:05 UTC
ranger git commit: RANGER-2016 : fix NPE caused by a code path,
where a HttpServletRequest is passed as null,
and re-introduce the non-null validity check
Repository: ranger
Updated Branches:
refs/heads/master 5f6e6ce72 -> ab0b91fd6
RANGER-2016 : fix NPE caused by a code path, where a HttpServletRequest is passed as null, and re-introduce the non-null validity check
Project: http://git-wip-us.apache.org/repos/asf/ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/ranger/commit/ab0b91fd
Tree: http://git-wip-us.apache.org/repos/asf/ranger/tree/ab0b91fd
Diff: http://git-wip-us.apache.org/repos/asf/ranger/diff/ab0b91fd
Branch: refs/heads/master
Commit: ab0b91fd666feb034a7a3c06d419d915f8c6721d
Parents: 5f6e6ce
Author: Zsombor Gegesy <zs...@apache.org>
Authored: Sun Mar 11 20:39:24 2018 +0100
Committer: Zsombor Gegesy <zs...@apache.org>
Committed: Mon Mar 26 11:07:27 2018 +0200
----------------------------------------------------------------------
.../apache/ranger/common/RangerSearchUtil.java | 7 ++--
.../org/apache/ranger/rest/ServiceREST.java | 34 ++++++++++----------
2 files changed, 20 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ranger/blob/ab0b91fd/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java b/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java
index c2783dc..94374ab 100644
--- a/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java
+++ b/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java
@@ -33,6 +33,7 @@ import javax.servlet.http.HttpServletRequest;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang.Validate;
import org.apache.log4j.Logger;
import org.apache.ranger.plugin.util.SearchFilter;
import org.springframework.stereotype.Component;
@@ -42,7 +43,7 @@ public class RangerSearchUtil extends SearchUtil {
final static Logger logger = Logger.getLogger(RangerSearchUtil.class);
public SearchFilter getSearchFilter(@Nonnull HttpServletRequest request, List<SortField> sortFields) {
-
+ Validate.notNull(request, "request");
SearchFilter ret = new SearchFilter();
if (MapUtils.isEmpty(request.getParameterMap())) {
@@ -112,9 +113,7 @@ public class RangerSearchUtil extends SearchUtil {
public SearchFilter getSearchFilterFromLegacyRequest(HttpServletRequest request, List<SortField> sortFields) {
- if (request == null) {
- return null;
- }
+ Validate.notNull(request, "request");
SearchFilter ret = new SearchFilter();
if (MapUtils.isEmpty(request.getParameterMap())) {
http://git-wip-us.apache.org/repos/asf/ranger/blob/ab0b91fd/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java
----------------------------------------------------------------------
diff --git a/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java b/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java
index 3642252..1bff815 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/ServiceREST.java
@@ -2089,7 +2089,7 @@ public class ServiceREST {
LOG.debug("Deleting Policy from provided services in servicesMapJson file...");
}
if (CollectionUtils.isNotEmpty(sourceServices) && CollectionUtils.isNotEmpty(destinationServices)) {
- deletePoliciesProvidedInServiceMap(sourceServices, destinationServices, null);
+ deletePoliciesProvidedInServiceMap(sourceServices, destinationServices);
}
}
@@ -2303,16 +2303,14 @@ public class ServiceREST {
}
private void deletePoliciesProvidedInServiceMap(
- List<String> sourceServices, List<String> destinationServices,
- HttpServletRequest request) {
+ List<String> sourceServices, List<String> destinationServices) {
int totalDeletedPilicies = 0;
if (CollectionUtils.isNotEmpty(sourceServices)
&& CollectionUtils.isNotEmpty(destinationServices)) {
RangerPolicyValidator validator = validatorFactory.getPolicyValidator(svcStore);
for (int i = 0; i < sourceServices.size(); i++) {
if (!destinationServices.get(i).isEmpty()) {
- RangerPolicyList servicePolicies = null;
- servicePolicies = getServicePoliciesByName(destinationServices.get(i), request);
+ final RangerPolicyList servicePolicies = getServicePolicies(destinationServices.get(i), new SearchFilter());
if (servicePolicies != null) {
List<RangerPolicy> rangerPolicyList = servicePolicies.getPolicies();
if (CollectionUtils.isNotEmpty(rangerPolicyList)) {
@@ -2535,11 +2533,20 @@ public class ServiceREST {
LOG.debug("==> ServiceREST.getServicePolicies(" + serviceName + ")");
}
- RangerPolicyList ret = new RangerPolicyList();
- RangerPerfTracer perf = null;
-
SearchFilter filter = searchUtil.getSearchFilter(request, policyService.sortFields);
+ RangerPolicyList ret = getServicePolicies(serviceName, filter);
+
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("<== ServiceREST.getServicePolicies(" + serviceName + "): count="
+ + (ret == null ? 0 : ret.getListSize()));
+ }
+
+ return ret;
+ }
+
+ private RangerPolicyList getServicePolicies(String serviceName, SearchFilter filter) {
+ RangerPerfTracer perf = null;
try {
if(RangerPerfTracer.isPerfTraceEnabled(PERF_LOG)) {
perf = RangerPerfTracer.getPerfTracer(PERF_LOG, "ServiceREST.getServicePolicies(serviceName=" + serviceName + ")");
@@ -2548,7 +2555,7 @@ public class ServiceREST {
if(isAdminUserWithNoFilterParams(filter)) {
PList<RangerPolicy> policies = svcStore.getPaginatedServicePolicies(serviceName, filter);
- ret = toRangerPolicyList(policies);
+ return toRangerPolicyList(policies);
} else {
// get all policies from the store; pick the page to return after applying filter
int savedStartIndex = filter == null ? 0 : filter.getStartIndex();
@@ -2568,7 +2575,7 @@ public class ServiceREST {
servicePolicies = applyAdminAccessFilter(servicePolicies);
- ret = toRangerPolicyList(servicePolicies, filter);
+ return toRangerPolicyList(servicePolicies, filter);
}
} catch(WebApplicationException excp) {
throw excp;
@@ -2579,13 +2586,6 @@ public class ServiceREST {
} finally {
RangerPerfTracer.log(perf);
}
-
- if (LOG.isDebugEnabled()) {
- LOG.debug("<== ServiceREST.getServicePolicies(" + serviceName + "): count="
- + (ret == null ? 0 : ret.getListSize()));
- }
-
- return ret;
}
@GET