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