From 7a6f98492aaeacd4e5a795adc71b75edbc1d126a Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Thu, 30 Nov 2006 21:50:39 +0000
Subject: [PATCH] Update the extended operation handler API to provide the ability for custom extended operations to handle their own controls. The password modify extended operation has been updated to support the LDAP no-op control and the password policy control.
---
opends/src/server/org/opends/server/core/ExtendedOperationConfigManager.java | 22 ++++++++++++++++++++++
1 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/opends/src/server/org/opends/server/core/ExtendedOperationConfigManager.java b/opends/src/server/org/opends/server/core/ExtendedOperationConfigManager.java
index acfb58f..7472a52 100644
--- a/opends/src/server/org/opends/server/core/ExtendedOperationConfigManager.java
+++ b/opends/src/server/org/opends/server/core/ExtendedOperationConfigManager.java
@@ -32,6 +32,7 @@
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
+import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import org.opends.server.api.ConfigAddListener;
@@ -875,6 +876,27 @@
}
+ // If the extended operation handler defines any supported controls and/or
+ // features, then register them with the server.
+ Set<String> controlOIDs = handler.getSupportedControls();
+ if (controlOIDs != null)
+ {
+ for (String oid : controlOIDs)
+ {
+ DirectoryServer.registerSupportedControl(oid);
+ }
+ }
+
+ Set<String> featureOIDs = handler.getSupportedFeatures();
+ if (featureOIDs != null)
+ {
+ for (String oid : featureOIDs)
+ {
+ DirectoryServer.registerSupportedFeature(oid);
+ }
+ }
+
+
handlers.put(configEntryDN, handler);
return new ConfigChangeResult(resultCode, adminActionRequired, messages);
}
--
Gitblit v1.10.0