From d9129436f8ea479694acf39fdf7ab4234b69a2e4 Mon Sep 17 00:00:00 2001
From: abobrov <abobrov@localhost>
Date: Tue, 02 Oct 2007 20:22:53 +0000
Subject: [PATCH] - [Issue 2406] supportedControl in DSE does not display all the supported controls: advertise Account Usable and GetEffectiveRights via supportedControl of RootDSE. also fix criticality field recognition/process for GetEffectiveRights request control.
---
opendj-sdk/opends/src/server/org/opends/server/core/DirectoryServer.java | 1 +
opendj-sdk/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendSearchOperation.java | 5 +++++
opendj-sdk/opends/src/server/org/opends/server/authorization/dseecompat/AciHandler.java | 2 ++
3 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/authorization/dseecompat/AciHandler.java b/opendj-sdk/opends/src/server/org/opends/server/authorization/dseecompat/AciHandler.java
index b7fa1c6..0f25ce7 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/authorization/dseecompat/AciHandler.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/authorization/dseecompat/AciHandler.java
@@ -201,6 +201,7 @@
aciListenerMgr = new AciListenerManager(aciList, configurationDN);
processGlobalAcis(configuration);
processConfigAcis();
+ DirectoryServer.registerSupportedControl(OID_GET_EFFECTIVE_RIGHTS);
}
@@ -212,6 +213,7 @@
public void finalizeAccessControlHandler()
{
AciEffectiveRights.finalizeOnShutdown();
+ DirectoryServer.deregisterSupportedControl(OID_GET_EFFECTIVE_RIGHTS);
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/core/DirectoryServer.java b/opendj-sdk/opends/src/server/org/opends/server/core/DirectoryServer.java
index 07e6df6..3b16af3 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/core/DirectoryServer.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/core/DirectoryServer.java
@@ -2793,6 +2793,7 @@
supportedControls.add(OID_PASSWORD_POLICY_CONTROL);
supportedControls.add(OID_REAL_ATTRS_ONLY);
supportedControls.add(OID_VIRTUAL_ATTRS_ONLY);
+ supportedControls.add(OID_ACCOUNT_USABLE_CONTROL);
}
diff --git a/opendj-sdk/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendSearchOperation.java b/opendj-sdk/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendSearchOperation.java
index 6ee6d0a..e0cf935 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendSearchOperation.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendSearchOperation.java
@@ -649,6 +649,11 @@
{
setVirtualAttributesOnly(true);
}
+ else if (oid.equals(OID_GET_EFFECTIVE_RIGHTS) &&
+ DirectoryServer.isSupportedControl(OID_GET_EFFECTIVE_RIGHTS))
+ {
+ // Do nothing here and let AciHandler deal with it.
+ }
// NYI -- Add support for additional controls.
--
Gitblit v1.10.0