You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by pr...@apache.org on 2022/04/07 03:41:43 UTC
[ranger] 01/02: RANGER-3611: fix NullPtrException in download API
This is an automated email from the ASF dual-hosted git repository.
pradeep pushed a commit to branch ranger-2.3
in repository https://gitbox.apache.org/repos/asf/ranger.git
commit 88a375f3cb5ef4cc110494cd2582cb2f760e3a9d
Author: ZhouTianling <zh...@sensorsdata.cn>
AuthorDate: Tue Feb 8 19:09:45 2022 +0800
RANGER-3611: fix NullPtrException in download API
Signed-off-by: pradeep <pr...@apache.org>
---
.../src/main/java/org/apache/ranger/biz/AssetMgr.java | 2 +-
.../src/main/java/org/apache/ranger/rest/RoleREST.java | 10 ++--------
.../src/main/java/org/apache/ranger/rest/ServiceREST.java | 13 ++++---------
.../src/main/java/org/apache/ranger/rest/XUserREST.java | 15 ++++-----------
4 files changed, 11 insertions(+), 29 deletions(-)
diff --git a/security-admin/src/main/java/org/apache/ranger/biz/AssetMgr.java b/security-admin/src/main/java/org/apache/ranger/biz/AssetMgr.java
index baf169538..d63388c86 100644
--- a/security-admin/src/main/java/org/apache/ranger/biz/AssetMgr.java
+++ b/security-admin/src/main/java/org/apache/ranger/biz/AssetMgr.java
@@ -674,7 +674,7 @@ public class AssetMgr extends AssetMgrBase {
return ret;
}
- public void createPluginInfo(String serviceName, String pluginId, HttpServletRequest request, int entityType, Long downloadedVersion, long lastKnownVersion, long lastActivationTime, int httpCode, String clusterName, String pluginCapabilities) {
+ public void createPluginInfo(String serviceName, String pluginId, HttpServletRequest request, int entityType, Long downloadedVersion, Long lastKnownVersion, long lastActivationTime, int httpCode, String clusterName, String pluginCapabilities) {
RangerRESTUtils restUtils = new RangerRESTUtils();
final String ipAddress = getRemoteAddress(request);
diff --git a/security-admin/src/main/java/org/apache/ranger/rest/RoleREST.java b/security-admin/src/main/java/org/apache/ranger/rest/RoleREST.java
index 220c70037..c72e10511 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/RoleREST.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/RoleREST.java
@@ -723,7 +723,7 @@ public class RoleREST {
@Produces({ "application/json", "application/xml" })
public RangerRoles getRangerRolesIfUpdated(
@PathParam("serviceName") String serviceName,
- @QueryParam("lastKnownRoleVersion") Long lastKnownRoleVersion,
+ @DefaultValue("-1") @QueryParam("lastKnownRoleVersion") Long lastKnownRoleVersion,
@DefaultValue("0") @QueryParam("lastActivationTime") Long lastActivationTime,
@QueryParam("pluginId") String pluginId,
@DefaultValue("") @QueryParam("clusterName") String clusterName,
@@ -751,9 +751,6 @@ public class RoleREST {
logMsg = e.getMessage();
}
if (isValid) {
- if (lastKnownRoleVersion == null) {
- lastKnownRoleVersion = Long.valueOf(-1);
- }
try {
RangerRoles roles = roleStore.getRoles(serviceName, lastKnownRoleVersion);
if (roles == null) {
@@ -793,7 +790,7 @@ public class RoleREST {
@Produces({ "application/json", "application/xml" })
public RangerRoles getSecureRangerRolesIfUpdated(
@PathParam("serviceName") String serviceName,
- @QueryParam("lastKnownRoleVersion") Long lastKnownRoleVersion,
+ @DefaultValue("-1") @QueryParam("lastKnownRoleVersion") Long lastKnownRoleVersion,
@DefaultValue("0") @QueryParam("lastActivationTime") Long lastActivationTime,
@QueryParam("pluginId") String pluginId,
@DefaultValue("") @QueryParam("clusterName") String clusterName,
@@ -824,9 +821,6 @@ public class RoleREST {
logMsg = e.getMessage();
}
if (isValid) {
- if (lastKnownRoleVersion == null) {
- lastKnownRoleVersion = Long.valueOf(-1);
- }
try {
XXService xService = daoManager.getXXService().findByName(serviceName);
if (xService == null) {
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 7453a1900..642a18791 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
@@ -2989,7 +2989,7 @@ public class ServiceREST {
@Produces({ "application/json", "application/xml" })
public ServicePolicies getServicePoliciesIfUpdated(
@PathParam("serviceName") String serviceName,
- @QueryParam("lastKnownVersion") Long lastKnownVersion,
+ @DefaultValue("-1") @QueryParam("lastKnownVersion") Long lastKnownVersion,
@DefaultValue("0") @QueryParam("lastActivationTime") Long lastActivationTime,
@QueryParam("pluginId") String pluginId,
@DefaultValue("") @QueryParam("clusterName") String clusterName,
@@ -3022,11 +3022,8 @@ public class ServiceREST {
httpCode = HttpServletResponse.SC_BAD_REQUEST;
logMsg = e.getMessage();
}
- if (isValid) {
- if (lastKnownVersion == null) {
- lastKnownVersion = Long.valueOf(-1);
- }
+ if (isValid) {
try {
if(RangerPerfTracer.isPerfTraceEnabled(PERF_LOG)) {
perf = RangerPerfTracer.getPerfTracer(PERF_LOG, "ServiceREST.getServicePoliciesIfUpdated(serviceName=" + serviceName + ",lastKnownVersion=" + lastKnownVersion + ",lastActivationTime=" + lastActivationTime + ")");
@@ -3071,7 +3068,7 @@ public class ServiceREST {
@Produces({ "application/json", "application/xml" })
public ServicePolicies getSecureServicePoliciesIfUpdated(
@PathParam("serviceName") String serviceName,
- @QueryParam("lastKnownVersion") Long lastKnownVersion,
+ @DefaultValue("-1") @QueryParam("lastKnownVersion") Long lastKnownVersion,
@DefaultValue("0") @QueryParam("lastActivationTime") Long lastActivationTime,
@QueryParam("pluginId") String pluginId,
@DefaultValue("") @QueryParam("clusterName") String clusterName,
@@ -3104,10 +3101,8 @@ public class ServiceREST {
httpCode = HttpServletResponse.SC_BAD_REQUEST;
logMsg = e.getMessage();
}
+
if (isValid) {
- if (lastKnownVersion == null) {
- lastKnownVersion = Long.valueOf(-1);
- }
try {
if (RangerPerfTracer.isPerfTraceEnabled(PERF_LOG)) {
perf = RangerPerfTracer.getPerfTracer(PERF_LOG, "ServiceREST.getSecureServicePoliciesIfUpdated(serviceName=" + serviceName + ",lastKnownVersion=" + lastKnownVersion + ",lastActivationTime=" + lastActivationTime + ")");
diff --git a/security-admin/src/main/java/org/apache/ranger/rest/XUserREST.java b/security-admin/src/main/java/org/apache/ranger/rest/XUserREST.java
index 451805321..4c9ebb7db 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/XUserREST.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/XUserREST.java
@@ -1299,7 +1299,7 @@ public class XUserREST {
@Path("/download/{serviceName}")
@Produces({ "application/xml", "application/json" })
public RangerUserStore getRangerUserStoreIfUpdated(@PathParam("serviceName") String serviceName,
- @QueryParam("lastKnownUserStoreVersion") Long lastKnownUserStoreVersion,
+ @DefaultValue("-1") @QueryParam("lastKnownUserStoreVersion") Long lastKnownUserStoreVersion,
@DefaultValue("0") @QueryParam("lastActivationTime") Long lastActivationTime,
@QueryParam("pluginId") String pluginId,
@DefaultValue("") @QueryParam("clusterName") String clusterName,
@@ -1313,8 +1313,9 @@ public class XUserREST {
boolean isValid = false;
int httpCode = HttpServletResponse.SC_OK;
String logMsg = null;
+ Long downloadedVersion = null;
- try {
+ try {
bizUtil.failUnauthenticatedIfNotAllowed();
isValid = serviceUtil.isValidService(serviceName, request);
@@ -1326,16 +1327,11 @@ public class XUserREST {
logMsg = e.getMessage();
}
- Long downloadedVersion = null;
-
if (isValid) {
try {
XXService xService = rangerDaoManager.getXXService().findByName(serviceName);
if (xService != null) {
- if (lastKnownUserStoreVersion == null) {
- lastKnownUserStoreVersion = Long.valueOf(-1);
- }
RangerUserStore rangerUserStore = xUserMgr.getRangerUserStore(lastKnownUserStoreVersion);
@@ -1377,7 +1373,7 @@ public class XUserREST {
@Path("/secure/download/{serviceName}")
@Produces({ "application/xml", "application/json" })
public RangerUserStore getSecureRangerUserStoreIfUpdated(@PathParam("serviceName") String serviceName,
- @QueryParam("lastKnownUserStoreVersion") Long lastKnownUserStoreVersion,
+ @DefaultValue("-1") @QueryParam("lastKnownUserStoreVersion") Long lastKnownUserStoreVersion,
@DefaultValue("0") @QueryParam("lastActivationTime") Long lastActivationTime,
@QueryParam("pluginId") String pluginId,
@DefaultValue("") @QueryParam("clusterName") String clusterName,
@@ -1402,9 +1398,6 @@ public class XUserREST {
isValid = true;
}
if (isValid) {
- if (lastKnownUserStoreVersion == null) {
- lastKnownUserStoreVersion = Long.valueOf(-1);
- }
XXServiceDef xServiceDef = rangerDaoManager.getXXServiceDef().getById(xService.getType());
RangerService rangerService = svcStore.getServiceByName(serviceName);