mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

lutoff
12.59.2009 d24cd9dbc64c0a85f7d4178eadadc1d5cb4f6c44
opends/src/server/org/opends/server/tools/dsreplication/ReplicationCliMain.java
@@ -22,7 +22,7 @@
 * CDDL HEADER END
 *
 *
 *      Copyright 2007-2008 Sun Microsystems, Inc.
 *      Copyright 2007-2009 Sun Microsystems, Inc.
 */
package org.opends.server.tools.dsreplication;
@@ -63,10 +63,12 @@
import javax.naming.directory.SearchControls;
import javax.naming.directory.SearchResult;
import javax.naming.ldap.InitialLdapContext;
import javax.naming.ldap.LdapName;
import javax.net.ssl.TrustManager;
import org.opends.admin.ads.ADSContext;
import org.opends.admin.ads.ADSContextException;
import org.opends.admin.ads.ADSContextHelper;
import org.opends.admin.ads.ReplicaDescriptor;
import org.opends.admin.ads.ServerDescriptor;
import org.opends.admin.ads.SuffixDescriptor;
@@ -75,6 +77,7 @@
import org.opends.admin.ads.TopologyCacheFilter;
import org.opends.admin.ads.ADSContext.ADSPropertySyntax;
import org.opends.admin.ads.ADSContext.AdministratorProperty;
import org.opends.admin.ads.ADSContext.ServerProperty;
import org.opends.admin.ads.util.ApplicationTrustManager;
import org.opends.admin.ads.util.ConnectionUtils;
import org.opends.admin.ads.util.PreferredConnection;
@@ -4909,10 +4912,18 @@
      }
    }
    boolean recreateServerKey = false ;
    Object keyId = null ;
    Object certValue = null ;
    if (disableAllBaseDns)
    {
      // Unregister the server from the ADS
      server.updateAdsPropertiesWithServerProperties();
      recreateServerKey = true ;
      keyId = server.getAdsProperties().
          get(ADSContext.ServerProperty.INSTANCE_KEY_ID);
      certValue = server.getAdsProperties().
          get(ADSContext.ServerProperty.INSTANCE_PUBLIC_KEY_CERTIFICATE);
      try
      {
        adsCtx.unregisterServer(server.getAdsProperties());
@@ -4924,6 +4935,7 @@
        catch (Throwable t)
        {
        }
        recreateServerKey = true ;
      }
      catch (ADSContextException adce)
      {
@@ -5034,6 +5046,25 @@
        }
      }
    }
    if (recreateServerKey)
    {
      Map<ServerProperty, Object> serverProperties =
        new HashMap<ServerProperty, Object>();
      serverProperties.put(ServerProperty.INSTANCE_KEY_ID, keyId);
      serverProperties.put(ServerProperty.INSTANCE_PUBLIC_KEY_CERTIFICATE,
          certValue);
      LdapName ldapName = null ;
      ADSContextHelper helper = new ADSContextHelper();
      try
      {
        helper.registerInstanceKeyCertificate(
            adsCtx.getDirContext(),serverProperties,ldapName);
      }
      catch (ADSContextException e)
      {
      }
    }
  }
  /**