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

Chris Ridd
02.59.2015 7e7f02f000a476e525c866dd8d7f5328ddd83b6b
opendj-maven-plugin/src/main/resources/config/xml/org/forgerock/opendj/server/config/JMXConnectionHandlerConfiguration.xml
@@ -23,7 +23,7 @@
  !
  !
  !      Copyright 2007-2009 Sun Microsystems, Inc.
  !      Portions Copyright 2013 ForgeRock AS.
  !      Portions Copyright 2013-2015 ForgeRock AS.
  ! -->
<adm:managed-object name="jmx-connection-handler"
  plural-name="jmx-connection-handlers"
@@ -67,16 +67,14 @@
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="listen-address" multi-valued="true" read-only="true">
  <adm:property name="listen-address" multi-valued="false">
    <adm:synopsis>
      Specifies the address or set of addresses on which this
      Specifies the address on which this
      <adm:user-friendly-name />
      should listen for connections from JMX clients. However JMX/RMI
      doesn't allow this, and this property cannot be set.
      should listen for connections from JMX clients.
    </adm:synopsis>
    <adm:description>
      Multiple addresses may be provided as separate values for this
      attribute. If no values are provided, then the
      If no value is provided, then the
      <adm:user-friendly-name />
      listens on all interfaces.
    </adm:description>
opendj-server-legacy/src/admin/defn/org/opends/server/admin/std/JMXConnectionHandlerConfiguration.xml
@@ -23,7 +23,7 @@
  !
  !
  !      Copyright 2007-2009 Sun Microsystems, Inc.
  !      Portions Copyright 2013 ForgeRock AS.
  !      Portions Copyright 2013-2015 ForgeRock AS.
  ! -->
<adm:managed-object name="jmx-connection-handler"
  plural-name="jmx-connection-handlers"
@@ -67,16 +67,14 @@
      </adm:defined>
    </adm:default-behavior>
  </adm:property-override>
  <adm:property name="listen-address" multi-valued="true" read-only="true">
  <adm:property name="listen-address" multi-valued="false">
    <adm:synopsis>
      Specifies the address or set of addresses on which this
      Specifies the address on which this
      <adm:user-friendly-name />
      should listen for connections from JMX clients. However JMX/RMI
      doesn't allow this, and this property cannot be set.
      should listen for connections from JMX clients.
    </adm:synopsis>
    <adm:description>
      Multiple addresses may be provided as separate values for this
      attribute. If no values are provided, then the
      If no value is provided, then the
      <adm:user-friendly-name />
      listens on all interfaces.
    </adm:description>
opendj-server-legacy/src/admin/messages/JMXConnectionHandlerCfgDefn.properties
@@ -15,8 +15,8 @@
property.key-manager-provider.synopsis=Specifies the name of the key manager that should be used with this JMX Connection Handler .
property.key-manager-provider.requires-admin-action.synopsis=Changes to this property take effect immediately, but only for subsequent attempts to access the key manager provider for associated client connections.
property.key-manager-provider.syntax.aggregation.constraint-synopsis=The referenced key manager provider must be enabled when the JMX Connection Handler is enabled and configured to use SSL.
property.listen-address.synopsis=Specifies the address or set of addresses on which this JMX Connection Handler should listen for connections from JMX clients. However JMX/RMI doesn't allow this, and this property cannot be set.
property.listen-address.description=Multiple addresses may be provided as separate values for this attribute. If no values are provided, then the JMX Connection Handler listens on all interfaces.
property.listen-address.synopsis=Specifies the address on which this JMX Connection Handler should listen for connections from JMX clients.
property.listen-address.description=If no value is provided, then the JMX Connection Handler listens on all interfaces.
property.listen-port.synopsis=Specifies the port number on which the JMX Connection Handler will listen for connections from clients.
property.listen-port.description=Only a single port number may be provided.
property.rmi-port.synopsis=Specifies the port number on which the JMX RMI service will listen for connections from clients. A value of 0 indicates the service to choose a port of its own.
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromDirContext.java
@@ -944,7 +944,7 @@
      {
        protocol = ConnectionHandlerDescriptor.Protocol.JMX;
      }
      addAll(addresses, jmx.getListenAddress());
      addresses.add(jmx.getListenAddress());
      port = jmx.getListenPort();
    }
    else if (connHandler instanceof LDIFConnectionHandlerCfgClient)
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/util/ConfigFromFile.java
@@ -450,7 +450,7 @@
      {
        protocol = ConnectionHandlerDescriptor.Protocol.JMX;
      }
      addAll(addresses, jmx.getListenAddress());
      addresses.add(jmx.getListenAddress());
      port = jmx.getListenPort();
    }
    else if (connHandler instanceof LDIFConnectionHandlerCfg)
opendj-server-legacy/src/main/java/org/opends/server/protocols/jmx/JmxConnectionHandler.java
@@ -31,6 +31,7 @@
import static org.opends.server.util.StaticUtils.*;
import java.io.IOException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.util.Collection;
import java.util.LinkedList;
@@ -238,6 +239,15 @@
  }
  /**
   * Get the JMX connection handler's listen address.
   *
   * @return Returns the JMX connection handler's listen address.
   */
  public InetAddress getListenAddress()
  {
    return currentConfig.getListenAddress();
  }
  /**
   * Get the JMX connection handler's listen port.
opendj-server-legacy/src/main/java/org/opends/server/protocols/jmx/OpendsRmiServerSocketFactory.java
@@ -22,13 +22,14 @@
 *
 *
 *      Copyright 2006-2008 Sun Microsystems, Inc.
 *      Portions Copyright 2014-2015 ForgeRock AS.
 */
package org.opends.server.protocols.jmx;
import java.io.IOException;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.rmi.server.RMIServerSocketFactory;
import java.rmi.server.RMISocketFactory;
/**
@@ -52,29 +53,33 @@
 */
public class OpendsRmiServerSocketFactory implements RMIServerSocketFactory
{
  /** The address to listen on, which could be INADDR_ANY. */
  private final InetAddress listenAddress;
  /** The Created ServerSocket. */
  ServerSocket serverSocket;
  /**
   * The Platform RMISocketFactory.
   * Create a new socket factory which will listen on the specified address.
   *
   * @param listenAddress The address to listen on.
   */
  private RMIServerSocketFactory ssf =
    RMISocketFactory.getDefaultSocketFactory() ;
  /*
   * The Created ServerSocket.
   */
  ServerSocket serverSocket ;
  public OpendsRmiServerSocketFactory(InetAddress listenAddress)
  {
    this.listenAddress = listenAddress;
  }
  /**
   *  Create a server socket on the specified port
   *  (port 0 indicates an anonymous port).
   *  Create a server socket on the specified port, listening on the address
   *  passed in the constructor. (port 0 indicates an anonymous port).
   *
   *  @param port the port number
   *  @return the server socket on the specified port
   *  @throws IOException if an I/O error occurs during server socket creation
   */
  public ServerSocket  createServerSocket(int port)  throws IOException
  public ServerSocket createServerSocket(int port)  throws IOException
  {
    serverSocket = ssf.createServerSocket(port) ;
    return serverSocket ;
    return new ServerSocket(port, 100, listenAddress);
  }
  /**
@@ -84,6 +89,6 @@
   */
  protected void close() throws IOException
  {
    serverSocket.close() ;
    serverSocket.close();
  }
}
opendj-server-legacy/src/main/java/org/opends/server/protocols/jmx/RmiConnector.java
@@ -27,6 +27,7 @@
package org.opends.server.protocols.jmx;
import java.io.IOException;
import java.net.InetAddress;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
@@ -76,13 +77,6 @@
   */
  private MBeanServer mbs;
  /**
   * the client address to connect to the common registry. Note that a
   * remote client should use the correct IP address.
   */
  private String registryClientAddress = "0.0.0.0";
  /**
   * The associated JMX Connection Handler.
   */
@@ -198,6 +192,7 @@
   */
  private void startCommonRegistry() throws Exception
  {
    final InetAddress listenAddress = jmxConnectionHandler.getListenAddress();
    int registryPort = jmxConnectionHandler.getListenPort();
    //
@@ -213,7 +208,7 @@
      // TODO Not yet implemented: If the host has several interfaces
      if (registry == null)
      {
        rmiSsf = new OpendsRmiServerSocketFactory();
        rmiSsf = new OpendsRmiServerSocketFactory(listenAddress);
        registry = LocateRegistry.createRegistry(registryPort, null, rmiSsf);
      }
    }
@@ -367,7 +362,7 @@
      // Create the JMX Service URL
      String uri = "org.opends.server.protocols.jmx.client-unknown";
      String serviceUrl = "service:jmx:rmi:///jndi/rmi://"
          + registryClientAddress + ":" + jmxConnectionHandler.getListenPort()
          + jmxConnectionHandler.getListenAddress().getHostName() + ":" + jmxConnectionHandler.getListenPort()
          + "/" + uri;
      JMXServiceURL url = new JMXServiceURL(serviceUrl);