This is an automated email from the ASF dual-hosted git repository.
nikhil pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git
The following commit(s) were added to refs/heads/master by this push:
new abfdb08 RANGER-2449 : If service part of zone is not present then
null pointer exception is thrown
abfdb08 is described below
commit abfdb0893f3cd50ced6941d059c08fb82380f598
Author: Nikhil P <[email protected]>
AuthorDate: Wed May 29 15:32:59 2019 +0530
RANGER-2449 : If service part of zone is not present then null pointer
exception is thrown
---
.../java/org/apache/ranger/rest/SecurityZoneREST.java | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git
a/security-admin/src/main/java/org/apache/ranger/rest/SecurityZoneREST.java
b/security-admin/src/main/java/org/apache/ranger/rest/SecurityZoneREST.java
index ce3ffc8..fcf8433 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/SecurityZoneREST.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/SecurityZoneREST.java
@@ -466,13 +466,17 @@ public class SecurityZoneREST {
private void blockAdminFromKMSService(RangerSecurityZone securityZone) {
if(securityZone != null) {
Map<String, RangerSecurityZoneService> serviceMap =
securityZone.getServices();
- for (String serviceName : serviceMap.keySet()) {
- XXService xService =
daoManager.getXXService().findByName(serviceName);
- XXServiceDef xServiceDef =
daoManager.getXXServiceDef().getById(xService.getType());
- if
(EmbeddedServiceDefsUtil.KMS_IMPL_CLASS_NAME.equals(xServiceDef.getImplclassname()))
{
- throw restErrorUtil.createRESTException(
- "KMS
Services/Service-Defs are not accessible for Zone operations",
-
MessageEnums.OPER_NOT_ALLOWED_FOR_ENTITY);
+ if (serviceMap != null) {
+ for (String serviceName : serviceMap.keySet()) {
+ XXService xService =
daoManager.getXXService().findByName(serviceName);
+ if (xService != null) {
+ XXServiceDef xServiceDef =
daoManager.getXXServiceDef().getById(xService.getType());
+ if
(EmbeddedServiceDefsUtil.KMS_IMPL_CLASS_NAME.equals(xServiceDef.getImplclassname()))
{
+ throw
restErrorUtil.createRESTException(
+ "KMS
Services/Service-Defs are not accessible for Zone operations",
+
MessageEnums.OPER_NOT_ALLOWED_FOR_ENTITY);
+ }
+ }
}
}
}