From 1112197854c0922ba9a48acbb986b3f20d743c8f Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Thu, 10 May 2012 11:28:13 +0000
Subject: [PATCH] Fix OPENDJ-475: Incorrect behaviour/result code regarding non-critical controls
---
opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendBindOperation.java | 9 ++++-----
1 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendBindOperation.java b/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendBindOperation.java
index 7fce649..6ca0485 100644
--- a/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendBindOperation.java
+++ b/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendBindOperation.java
@@ -23,7 +23,7 @@
*
*
* Copyright 2008-2010 Sun Microsystems, Inc.
- * Portions copyright 2011 ForgeRock AS.
+ * Portions copyright 2011-2012 ForgeRock AS.
*/
package org.opends.server.workflowelement.localbackend;
@@ -439,11 +439,10 @@
Control c = requestControls.get(i);
String oid = c.getOID();
- if (! AccessControlConfigManager.getInstance().
- getAccessControlHandler(). isAllowed(bindDN, this, c))
+ if (!LocalBackendWorkflowElement.isControlAllowed(bindDN, this, c))
{
- throw new DirectoryException(ResultCode.INSUFFICIENT_ACCESS_RIGHTS,
- ERR_CONTROL_INSUFFICIENT_ACCESS_RIGHTS.get(oid));
+ // Skip disallowed non-critical controls.
+ continue;
}
if (oid.equals(OID_AUTHZID_REQUEST))
--
Gitblit v1.10.0