From 1866586579f41e0a04d22bd14cba49338c0357f0 Mon Sep 17 00:00:00 2001
From: Patrick Dowler <patrick.dowler@nrc-cnrc.gc.ca>
Date: Thu, 13 Aug 2015 17:44:20 -0700
Subject: [PATCH] changed internal getGroup to use search instead of
 searchEntry

---
 .../src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAO.java  | 11 +++++++----
 1 file changed, 7 insertions(+), 4 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 ab3dc04d..eabfedc8 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
@@ -1022,8 +1022,7 @@ public class LdapGroupDAO<T extends Principal> extends LdapDAO
                     new ProxiedAuthorizationV2RequestControl("dn:" + 
                             getSubjectDN().toNormalizedString()));
             
-        SearchResultEntry result = 
-                getConnection().searchForEntry(searchRequest);
+        SearchResult result = getConnection().search(searchRequest);
 
         if (result == null)
         {
@@ -1031,14 +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.getAttribute("nsaccountlock") != null)
+        SearchResultEntry sre = result.getSearchEntries().get(0);
+        
+        if (sre.getAttribute("nsaccountlock") != null)
         {
             // TODO: logger.error() + throw GroupNotFoundException instead?
             throw new RuntimeException("BUG: found group with nsaccountlock set: " + groupDN.toString());  
         }
 
-        Group g = createGroup(result);
+        Group g = createGroup(sre);
         logger.debug("found: " + g.getID());
         return g;
     }
-- 
GitLab