From 314fa3427cf7aafac2a2ef37301fd081952893e7 Mon Sep 17 00:00:00 2001
From: Patrick Dowler <patrick.dowler@nrc-cnrc.gc.ca>
Date: Thu, 13 Aug 2015 17:55:02 -0700
Subject: [PATCH] ichanged getGroup to use searchForEntry with base = groupDN

---
 .../nrc/cadc/ac/server/ldap/LdapGroupDAO.java  | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAO.java b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAO.java
index eabfedc8..5bc82074 100755
--- a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAO.java
+++ b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAO.java
@@ -1012,17 +1012,17 @@ public class LdapGroupDAO<T extends Principal> extends LdapDAO
         logger.debug("getGroup: " + groupDN.toNormalizedString());
         Filter filter = Filter.createNOTFilter(Filter.createPresenceFilter("nsaccountlock"));
         
-        filter = Filter.createANDFilter(filter, 
-                Filter.createEqualityFilter("entrydn", groupDN.toNormalizedString()));
+        //filter = Filter.createANDFilter(filter, 
+        //        Filter.createEqualityFilter("entrydn", groupDN.toNormalizedString()));
                 
         SearchRequest searchRequest =  new SearchRequest(
-                    config.getGroupsDN(), SearchScope.SUB, filter, GROUP_ATTRS);
+                    groupDN.toNormalizedString(), SearchScope.SUB, filter, GROUP_ATTRS);
             
         searchRequest.addControl(
                     new ProxiedAuthorizationV2RequestControl("dn:" + 
                             getSubjectDN().toNormalizedString()));
             
-        SearchResult result = getConnection().search(searchRequest);
+        SearchResultEntry result = getConnection().searchForEntry(searchRequest);
 
         if (result == null)
         {
@@ -1030,18 +1030,18 @@ public class LdapGroupDAO<T extends Principal> extends LdapDAO
             logger.debug(msg);
             throw new GroupNotFoundException(groupDN.toNormalizedString());
         }
-        if (result.getEntryCount() == 0)
-            throw new GroupNotFoundException(groupDN.toString());
+        //if (result.getEntryCount() == 0)
+        //    throw new GroupNotFoundException(groupDN.toString());
         
-        SearchResultEntry sre = result.getSearchEntries().get(0);
+        //SearchResultEntry sre = result.getSearchEntries().get(0);
         
-        if (sre.getAttribute("nsaccountlock") != null)
+        if (result.getAttribute("nsaccountlock") != null)
         {
             // TODO: logger.error() + throw GroupNotFoundException instead?
             throw new RuntimeException("BUG: found group with nsaccountlock set: " + groupDN.toString());  
         }
 
-        Group g = createGroup(sre);
+        Group g = createGroup(result);
         logger.debug("found: " + g.getID());
         return g;
     }
-- 
GitLab