From c4befe332f208a3f69933df229fd369ca017ae5e Mon Sep 17 00:00:00 2001
From: vharseko <vharseko@3a-systems.ru>
Date: Tue, 17 May 2022 10:11:19 +0000
Subject: [PATCH] FIX Failed to delete entries under multiple backends (#231)
---
opendj-server-legacy/src/main/java/org/opends/server/workflowelement/localbackend/LocalBackendDeleteOperation.java | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/workflowelement/localbackend/LocalBackendDeleteOperation.java b/opendj-server-legacy/src/main/java/org/opends/server/workflowelement/localbackend/LocalBackendDeleteOperation.java
index 179aa50..2da5e02 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/workflowelement/localbackend/LocalBackendDeleteOperation.java
+++ b/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;
}
--
Gitblit v1.10.0