From 99b80cd414fd73af73dfa07be202fd32e9bc498d Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Wed, 25 Nov 2015 12:45:54 +0000
Subject: [PATCH] OPENDJ-2404: add back support for modify DN operations which just change case

---
 opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/EntryContainer.java |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/EntryContainer.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/EntryContainer.java
index 895b0ed..d67bf45 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/EntryContainer.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/EntryContainer.java
@@ -2023,7 +2023,10 @@
                                            getMatchedDN(txn, newSuperiorDN),
                                            null);
             }
-            if (dn2id.get(txn, newTargetDN) != null)
+
+            // Check that an entry with the new name does not already exist, but take care to handle the case where
+            // the user is renaming the entry with an equivalent name, e.g. "cn=matt" to "cn=Matt".
+            if (!oldTargetDN.equals(newTargetDN) && dn2id.get(txn, newTargetDN) != null)
             {
               throw new DirectoryException(ResultCode.ENTRY_ALREADY_EXISTS,
                                            ERR_MODIFYDN_ALREADY_EXISTS.get(newTargetDN));

--
Gitblit v1.10.0