From b5d7e1e6e21c8443047e4298ccc813592c7fa842 Mon Sep 17 00:00:00 2001
From: mmarie <mmarie@localhost>
Date: Fri, 21 Dec 2007 14:14:46 +0000
Subject: [PATCH] [2773] add operation into a non existing naming context returns wrong error code  - Fix return code for add operation on a non existing backend (32 instead of -1 currently)

---
 opends/src/server/org/opends/server/core/AddOperationBasis.java |   22 +++++++++++++---------
 1 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/opends/src/server/org/opends/server/core/AddOperationBasis.java b/opends/src/server/org/opends/server/core/AddOperationBasis.java
index 37747cf..eb32602 100644
--- a/opends/src/server/org/opends/server/core/AddOperationBasis.java
+++ b/opends/src/server/org/opends/server/core/AddOperationBasis.java
@@ -1043,22 +1043,26 @@
       if (DirectoryServer.isNamingContext(entryDN))
       {
         // This is fine.  This entry is one of the configured suffixes.
+        return;
       }
-      else if (entryDN.isNullDN())
+      if (entryDN.isNullDN())
       {
         // This is not fine.  The root DSE cannot be added.
         setResultCode(ResultCode.UNWILLING_TO_PERFORM);
         appendErrorMessage(ERR_ADD_CANNOT_ADD_ROOT_DSE.get());
+        return;
       }
-      else
-      {
-        // The entry doesn't have a parent but isn't a suffix.  This is not
-        // allowed.
-        setResultCode(ResultCode.NO_SUCH_OBJECT);
-        appendErrorMessage(ERR_ADD_ENTRY_NOT_SUFFIX.get(
-                String.valueOf(entryDN)));
-      }
+      // The entry doesn't have a parent but isn't a suffix.  This is not
+      // allowed.
+      setResultCode(ResultCode.NO_SUCH_OBJECT);
+      appendErrorMessage(ERR_ADD_ENTRY_NOT_SUFFIX.get(
+        String.valueOf(entryDN)));
+      return;
     }
+    // The suffix does not exist
+    setResultCode(ResultCode.NO_SUCH_OBJECT);
+    appendErrorMessage(ERR_ADD_ENTRY_UNKNOWN_SUFFIX.get(
+      String.valueOf(entryDN)));
   }
 
 

--
Gitblit v1.10.0