From 5067760c866efc66b933457bd399affa47c9e9a4 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Fri, 24 Apr 2009 12:52:54 +0000
Subject: [PATCH] Fix issue 3928: Wrong error message sent to access log (while correct one is in error log)

---
 opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java |   19 ++++++++++++++-----
 1 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java b/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java
index 69483c8..bb0ace1 100644
--- a/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java
+++ b/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendAddOperation.java
@@ -550,12 +550,21 @@
         // FIXME: earlier checks to see if the entry already exists or
         // if the parent entry does not exist may have already exposed
         // sensitive information to the client.
-        if (AccessControlConfigManager.getInstance().getAccessControlHandler().
-                 isAllowed(this) == false)
+        try
         {
-          setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS);
-          appendErrorMessage(ERR_ADD_AUTHZ_INSUFFICIENT_ACCESS_RIGHTS.get(
-                                  String.valueOf(entryDN)));
+          if (AccessControlConfigManager.getInstance()
+              .getAccessControlHandler().isAllowed(this) == false)
+          {
+            setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS);
+            appendErrorMessage(ERR_ADD_AUTHZ_INSUFFICIENT_ACCESS_RIGHTS
+                .get(String.valueOf(entryDN)));
+            break addProcessing;
+          }
+        }
+        catch (DirectoryException e)
+        {
+          setResultCode(e.getResultCode());
+          appendErrorMessage(e.getMessageObject());
           break addProcessing;
         }
 

--
Gitblit v1.10.0