From 9e6854a7587be5abc14eb3ffc14619c314d997a1 Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Wed, 26 Sep 2007 16:18:59 +0000
Subject: [PATCH] Update the Get Symmetric Key extended operation handler so that it has its own object class and config definition rather than relying on the generic configuration.  This makes it easier to use through dsconfig.

---
 opends/resource/schema/02-config.ldif                                                                      |    4 ++
 opends/src/admin/defn/org/opends/server/admin/std/GetSymmetricKeyExtendedOperationHandlerConfiguration.xml |   61 ++++++++++++++++++++++++++++++
 opends/src/server/org/opends/server/extensions/GetSymmetricKeyExtendedOperation.java                       |    8 ++-
 opends/resource/config/config.ldif                                                                         |    1 
 4 files changed, 71 insertions(+), 3 deletions(-)

diff --git a/opends/resource/config/config.ldif b/opends/resource/config/config.ldif
index 28eeddb..4e6da5b 100644
--- a/opends/resource/config/config.ldif
+++ b/opends/resource/config/config.ldif
@@ -543,6 +543,7 @@
 dn: cn=Get Symmetric Key,cn=Extended Operations,cn=config
 objectClass: top
 objectClass: ds-cfg-extended-operation-handler
+objectClass: ds-cfg-get-symmetric-key-extended-operation-handler
 cn: Get Symmetric Key
 ds-cfg-java-class: org.opends.server.extensions.GetSymmetricKeyExtendedOperation
 ds-cfg-enabled: true
diff --git a/opends/resource/schema/02-config.ldif b/opends/resource/schema/02-config.ldif
index 3150f3b..00b07d1 100644
--- a/opends/resource/schema/02-config.ldif
+++ b/opends/resource/schema/02-config.ldif
@@ -2318,4 +2318,8 @@
 objectClasses: ( 1.3.6.1.4.1.26027.1.2.175 NAME 'ds-cfg-ldif-backend'
   SUP ds-cfg-backend STRUCTURAL MUST ds-cfg-ldif-file
   MAY ds-cfg-is-private-backend X-ORIGIN 'OpenDS Directory Server' )
+objectClasses: ( 1.3.6.1.4.1.26027.1.2.176
+  NAME 'ds-cfg-get-symmetric-key-extended-operation-handler'
+  SUP ds-cfg-extended-operation-handler STRUCTURAL
+  X-ORIGIN 'OpenDS Directory Server' )
 
diff --git a/opends/src/admin/defn/org/opends/server/admin/std/GetSymmetricKeyExtendedOperationHandlerConfiguration.xml b/opends/src/admin/defn/org/opends/server/admin/std/GetSymmetricKeyExtendedOperationHandlerConfiguration.xml
new file mode 100644
index 0000000..13bfc46
--- /dev/null
+++ b/opends/src/admin/defn/org/opends/server/admin/std/GetSymmetricKeyExtendedOperationHandlerConfiguration.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+! CDDL HEADER START
+!
+! The contents of this file are subject to the terms of the
+! Common Development and Distribution License, Version 1.0 only
+! (the "License").  You may not use this file except in compliance
+! with the License.
+!
+! You can obtain a copy of the license at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+! See the License for the specific language governing permissions
+! and limitations under the License.
+!
+! When distributing Covered Code, include this CDDL HEADER in each
+! file and include the License file at
+! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
+! add the following below this CDDL HEADER, with the fields enclosed
+! by brackets "[]" replaced with your own identifying information:
+!      Portions Copyright [yyyy] [name of copyright owner]
+!
+! CDDL HEADER END
+!
+!
+!      Portions Copyright 2007 Sun Microsystems, Inc.
+! -->
+
+<adm:managed-object
+  name="get-symmetric-key-extended-operation-handler"
+  plural-name="get-symmetric-key-extended-operation-handlers"
+  package="org.opends.server.admin.std"
+  extends="extended-operation-handler"
+  xmlns:adm="http://www.opends.org/admin"
+  xmlns:ldap="http://www.opends.org/admin-ldap">
+
+  <adm:synopsis>
+    The <adm:user-friendly-name /> provides support for the get symmetric key
+    extended operation, which is used by the OpenDS cryptographic framework for
+    creating and obtaining symmetric encryption keys.
+  </adm:synopsis>
+
+  <adm:profile name="ldap">
+    <ldap:object-class>
+      <ldap:name>ds-cfg-get-symmetric-key-extended-operation-handler</ldap:name>
+      <ldap:superior>ds-cfg-extended-operation-handler</ldap:superior>
+    </ldap:object-class>
+  </adm:profile>
+
+  <adm:property-override name="java-class">
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>
+          org.opends.server.extensions.GetSymmetricKeyExtendedOperation
+        </adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+  </adm:property-override>
+
+</adm:managed-object>
+
diff --git a/opends/src/server/org/opends/server/extensions/GetSymmetricKeyExtendedOperation.java b/opends/src/server/org/opends/server/extensions/GetSymmetricKeyExtendedOperation.java
index 23ac4e6..6ab1544 100644
--- a/opends/src/server/org/opends/server/extensions/GetSymmetricKeyExtendedOperation.java
+++ b/opends/src/server/org/opends/server/extensions/GetSymmetricKeyExtendedOperation.java
@@ -27,7 +27,8 @@
 
 package org.opends.server.extensions;
 
-import org.opends.server.admin.std.server.ExtendedOperationHandlerCfg;
+import org.opends.server.admin.std.server.
+            GetSymmetricKeyExtendedOperationHandlerCfg;
 import org.opends.server.api.ExtendedOperationHandler;
 import org.opends.server.loggers.debug.DebugTracer;
 import org.opends.server.loggers.debug.DebugLogger;
@@ -54,7 +55,8 @@
  * servers.
  */
 public class GetSymmetricKeyExtendedOperation
-     extends ExtendedOperationHandler<ExtendedOperationHandlerCfg>
+     extends ExtendedOperationHandler<
+                  GetSymmetricKeyExtendedOperationHandlerCfg>
 {
   /**
    * The tracer object for the debug logger.
@@ -100,7 +102,7 @@
    * {@inheritDoc}
    */
   public void initializeExtendedOperationHandler(
-       ExtendedOperationHandlerCfg config)
+       GetSymmetricKeyExtendedOperationHandlerCfg config)
          throws ConfigException, InitializationException
   {
     supportedControlOIDs = new HashSet<String>();

--
Gitblit v1.10.0