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

vharseko
17.11.2022 c4befe332f208a3f69933df229fd369ca017ae5e
FIX Failed to delete entries under multiple backends (#231)

https://github.com/OpenIdentityPlatform/OpenDJ/issues/90
1 files modified
6 ■■■■■ changed files
opendj-server-legacy/src/main/java/org/opends/server/workflowelement/localbackend/LocalBackendDeleteOperation.java 6 ●●●●● patch | view | raw | blame | history
opendj-server-legacy/src/main/java/org/opends/server/workflowelement/localbackend/LocalBackendDeleteOperation.java
@@ -21,6 +21,7 @@
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.forgerock.opendj.ldap.ResultCode;
import org.forgerock.opendj.ldap.SearchScope;
import org.opends.server.api.AccessControlHandler;
import org.opends.server.api.LocalBackend;
import org.opends.server.api.ClientConnection;
@@ -278,8 +279,9 @@
          DirectoryServer.getInstance().getServerContext().getBackendConfigManager();
      for (DN dn : backendConfigManager.findSubordinateLocalNamingContextsForEntry(entryDN))
      {
        setResultCodeAndMessageNoInfoDisclosure(entry,
            ResultCode.NOT_ALLOWED_ON_NONLEAF, ERR_DELETE_HAS_SUB_BACKEND.get(entryDN, dn));
          if (dn.isInScopeOf(entryDN, SearchScope.WHOLE_SUBTREE)) {
              setResultCodeAndMessageNoInfoDisclosure(entry,ResultCode.NOT_ALLOWED_ON_NONLEAF, ERR_DELETE_HAS_SUB_BACKEND.get(entryDN, dn));
          }
        return;
      }