From c5245dae6cccfb602ff1815424b86ab27047187a Mon Sep 17 00:00:00 2001
From: abobrov <abobrov@localhost>
Date: Mon, 11 May 2009 14:22:29 +0000
Subject: [PATCH] - fix NDB backend workflow element processing broken by changes introduced in revision 5273.

---
 opends/src/server/org/opends/server/workflowelement/ndb/NDBCompareOperation.java |   20 +++++++++++++++-----
 1 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/opends/src/server/org/opends/server/workflowelement/ndb/NDBCompareOperation.java b/opends/src/server/org/opends/server/workflowelement/ndb/NDBCompareOperation.java
index b1c6212..ce1dc22 100644
--- a/opends/src/server/org/opends/server/workflowelement/ndb/NDBCompareOperation.java
+++ b/opends/src/server/org/opends/server/workflowelement/ndb/NDBCompareOperation.java
@@ -202,11 +202,21 @@
 
       // FIXME: earlier checks to see if the entry already exists may
       // have already exposed sensitive information to the client.
-      if (!AccessControlConfigManager.getInstance().
-        getAccessControlHandler().isAllowed(this)) {
-        setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS);
-        appendErrorMessage(ERR_COMPARE_AUTHZ_INSUFFICIENT_ACCESS_RIGHTS.get(
-          String.valueOf(entryDN)));
+      try
+      {
+        if (!AccessControlConfigManager.getInstance()
+            .getAccessControlHandler().isAllowed(this))
+        {
+          setResultCode(ResultCode.INSUFFICIENT_ACCESS_RIGHTS);
+          appendErrorMessage(ERR_COMPARE_AUTHZ_INSUFFICIENT_ACCESS_RIGHTS
+              .get(String.valueOf(entryDN)));
+          break compareProcessing;
+        }
+      }
+      catch (DirectoryException e)
+      {
+        setResultCode(e.getResultCode());
+        appendErrorMessage(e.getMessageObject());
         break compareProcessing;
       }
 

--
Gitblit v1.10.0