This is an automated email from the ASF dual-hosted git repository.

abhay 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 4344fcf  RANGER-2521: Masking policies not picked from the zone of the 
accessed resource
4344fcf is described below

commit 4344fcff44c1bfd7e7a32ad58c426c0c2f00c8b0
Author: Abhay Kulkarni <[email protected]>
AuthorDate: Sun Jul 28 22:44:28 2019 -0700

    RANGER-2521: Masking policies not picked from the zone of the accessed 
resource
---
 .../main/java/org/apache/ranger/db/XXSecurityZoneDao.java    | 12 +++++++++++-
 .../src/main/java/org/apache/ranger/rest/ServiceREST.java    |  2 +-
 .../src/main/resources/META-INF/jpa_named_queries.xml        |  6 ++++++
 3 files changed, 18 insertions(+), 2 deletions(-)

diff --git 
a/security-admin/src/main/java/org/apache/ranger/db/XXSecurityZoneDao.java 
b/security-admin/src/main/java/org/apache/ranger/db/XXSecurityZoneDao.java
index 78296e2..46ff16f 100644
--- a/security-admin/src/main/java/org/apache/ranger/db/XXSecurityZoneDao.java
+++ b/security-admin/src/main/java/org/apache/ranger/db/XXSecurityZoneDao.java
@@ -72,7 +72,17 @@ public class XXSecurityZoneDao extends 
BaseDao<XXSecurityZone> {
             return Collections.emptyList();
         }
     }
-
+    public List<String> findZonesByTagServiceName(String tagServiceName) {
+        if (tagServiceName == null) {
+            return Collections.emptyList();
+        }
+        try {
+            return 
getEntityManager().createNamedQuery("XXSecurityZone.findByTagServiceName", 
String.class)
+                    .setParameter("tagServiceName", 
tagServiceName).getResultList();
+        } catch (NoResultException e) {
+            return Collections.emptyList();
+        }
+    }
        public List<String> findZoneNamesByUserId(Long userId) {
                if (userId == null) {
                        return Collections.emptyList();
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 990fc2b..e59845f 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
@@ -3968,7 +3968,7 @@ public class ServiceREST {
                                try {
                                        RangerService tagService = 
svcStore.getServiceByName(tagServiceName);
                                        if (tagService != null && 
tagService.getIsEnabled()) {
-                                               zonesInAssociatedTagService = 
daoManager.getXXSecurityZoneDao().findZonesByServiceName(tagServiceName);
+                                               zonesInAssociatedTagService = 
daoManager.getXXSecurityZoneDao().findZonesByTagServiceName(tagServiceName);
                                        }
                                } catch (Exception exception) {
                                        LOG.warn("Could not get service 
associated with [" + tagServiceName + "]", exception);
diff --git a/security-admin/src/main/resources/META-INF/jpa_named_queries.xml 
b/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
index 328cf26..4ea2ad6 100755
--- a/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
+++ b/security-admin/src/main/resources/META-INF/jpa_named_queries.xml
@@ -1336,6 +1336,12 @@
                </query>
        </named-query>
 
+       <named-query name="XXSecurityZone.findByTagServiceName">
+               <query>
+                       select obj.name from XXSecurityZone obj where obj.id in 
(select ref.zoneId from XXSecurityZoneRefTagService ref where 
ref.tagServiceName = :tagServiceName)
+               </query>
+       </named-query>
+
        <named-query name="XXSecurityZoneRefGroup.findByZoneId">
         <query>
             select obj from XXSecurityZoneRefGroup obj where obj.zoneId = 
:zoneId

Reply via email to