From 1c1400a568940232bff55fa95094716b87fc8d9a Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 06 Dec 2013 16:13:01 +0000
Subject: [PATCH] OPENDJ-1088 (CR-2677) Wrong error message and result code when deleting branch as a user with insufficient access rights
---
opends/src/server/org/opends/server/core/ExtendedOperationBasis.java | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/opends/src/server/org/opends/server/core/ExtendedOperationBasis.java b/opends/src/server/org/opends/server/core/ExtendedOperationBasis.java
index 7b09c0f..b872dae 100644
--- a/opends/src/server/org/opends/server/core/ExtendedOperationBasis.java
+++ b/opends/src/server/org/opends/server/core/ExtendedOperationBasis.java
@@ -33,6 +33,7 @@
import static org.opends.server.util.ServerConstants.*;
import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
import org.opends.server.api.ClientConnection;
@@ -324,10 +325,12 @@
// Look at the controls included in the request and ensure that all
// critical controls are supported by the handler.
List<Control> requestControls = getRequestControls();
- if ((requestControls != null) && (! requestControls.isEmpty()))
+ if (requestControls != null && !requestControls.isEmpty())
{
- for (Control c : requestControls)
+ for (Iterator<Control> iter = requestControls.iterator(); iter
+ .hasNext();)
{
+ final Control c = iter.next();
try
{
if (!AccessControlConfigManager.getInstance()
@@ -345,7 +348,7 @@
{
// We don't want to process this non-critical control, so
// remove it.
- removeRequestControl(c);
+ iter.remove();
continue;
}
}
--
Gitblit v1.10.0