mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Jean-Noel Rouvignac
19.30.2014 377b2709c64b32fe93905b466482216c2cc0581c
opendj3-server-dev/src/server/org/opends/server/authorization/dseecompat/GroupDN.java
@@ -35,6 +35,7 @@
import java.util.regex.Pattern;
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.opendj.ldap.ByteString;
import org.opends.server.api.Group;
import org.opends.server.core.DirectoryServer;
import org.opends.server.core.GroupManager;
@@ -142,12 +143,13 @@
                                           DN suffixDN) {
        EnumEvalResult matched= EnumEvalResult.FALSE;
        List<Attribute> attrs = e.getAttribute(attributeType);
        for(AttributeValue v : attrs.get(0)) {
        for(ByteString v : attrs.get(0)) {
            try {
                DN groupDN=DN.valueOf(v.getValue().toString());
                if(suffixDN != null &&
                   !groupDN.isDescendantOf(suffixDN))
                        continue;
                DN groupDN = DN.valueOf(v.toString());
                if(suffixDN != null && !groupDN.isDescendantOf(suffixDN))
                {
                  continue;
                }
                Group<?> group = getGroupManager().getGroupInstance(groupDN);
                if((group != null) && (evalCtx.isMemberOf(group))) {
                    matched=EnumEvalResult.TRUE;