You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2012/07/19 18:40:20 UTC

svn commit: r1363418 - in /qpid/branches/0.18/qpid/java: ./ amqp-1-0-client-jms/ amqp-1-0-client/ amqp-1-0-common/ broker-plugins/management-http/ broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/ broker-plugins/man...

Author: robbie
Date: Thu Jul 19 16:40:17 2012
New Revision: 1363418

URL: http://svn.apache.org/viewvc?rev=1363418&view=rev
Log:
QPID-3998: Add HTTPS support for the REST management interface

Applied patch from Oleksandr Rudyy <or...@gmail.com>

merged from trunk r1361239 with test from 1363413

Added:
    qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/BrokerRestHttpsTest.java
      - copied unchanged from r1363413, qpid/trunk/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/BrokerRestHttpsTest.java
Modified:
    qpid/branches/0.18/qpid/java/   (props changed)
    qpid/branches/0.18/qpid/java/amqp-1-0-client/   (props changed)
    qpid/branches/0.18/qpid/java/amqp-1-0-client-jms/   (props changed)
    qpid/branches/0.18/qpid/java/amqp-1-0-common/   (props changed)
    qpid/branches/0.18/qpid/java/broker/   (props changed)
    qpid/branches/0.18/qpid/java/broker-plugins/management-http/MANIFEST.MF
    qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/Management.java
    qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/ManagementActivator.java
    qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java
    qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/LogRecordsServlet.java
    qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageContentServlet.java
    qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java
    qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
    qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/SaslServlet.java
    qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/StructureServlet.java
    qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/QpidRestTestCase.java
    qpid/branches/0.18/qpid/java/broker/bin/   (props changed)
    qpid/branches/0.18/qpid/java/broker/etc/config.xml
    qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
    qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/management/   (props changed)
    qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/message/MessageMetaData_1_0.java   (props changed)
    qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/model/Protocol.java
    qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
    qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/HTTPPortAdapter.java
    qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/OsgiSystemPackages.properties
    qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/ProtocolEngine_1_0_0.java   (props changed)
    qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/ProtocolEngine_1_0_0_SASL.java   (props changed)
    qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/v1_0/   (props changed)
    qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/   (props changed)
    qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java
    qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/IApplicationRegistry.java
    qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/   (props changed)
    qpid/branches/0.18/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ConfigurationManagement.java   (props changed)
    qpid/branches/0.18/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/LoggingManagement.java   (props changed)
    qpid/branches/0.18/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java   (props changed)
    qpid/branches/0.18/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedConnection.java   (props changed)
    qpid/branches/0.18/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedExchange.java   (props changed)
    qpid/branches/0.18/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java   (props changed)
    qpid/branches/0.18/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/UserManagement.java   (props changed)
    qpid/branches/0.18/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanAttribute.java   (props changed)
    qpid/branches/0.18/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanConstructor.java   (props changed)
    qpid/branches/0.18/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanDescription.java   (props changed)
    qpid/branches/0.18/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperation.java   (props changed)
    qpid/branches/0.18/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperationParameter.java   (props changed)
    qpid/branches/0.18/qpid/java/management/eclipse-plugin/src/   (props changed)
    qpid/branches/0.18/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ConnectionTypeTabControl.java   (props changed)
    qpid/branches/0.18/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ExchangeTypeTabControl.java   (props changed)
    qpid/branches/0.18/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/MBeanTypeTabControl.java   (props changed)
    qpid/branches/0.18/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java   (props changed)
    qpid/branches/0.18/qpid/java/management/eclipse-plugin/src/main/resources/macosx/Contents/MacOS/qpidmc   (props changed)
    qpid/branches/0.18/qpid/java/systests/src/main/java/org/apache/qpid/server/SupportedProtocolVersionsTest.java   (props changed)
    qpid/branches/0.18/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java   (props changed)
    qpid/branches/0.18/qpid/java/test-profiles/   (props changed)
    qpid/branches/0.18/qpid/java/test-profiles/CPPExcludes   (props changed)
    qpid/branches/0.18/qpid/java/test-profiles/Excludes   (props changed)
    qpid/branches/0.18/qpid/java/test-profiles/JavaBDBExcludes   (props changed)
    qpid/branches/0.18/qpid/java/test-profiles/JavaExcludes   (props changed)
    qpid/branches/0.18/qpid/java/test-profiles/JavaPre010Excludes   (props changed)
    qpid/branches/0.18/qpid/java/test-profiles/JavaTransientExcludes   (props changed)
    qpid/branches/0.18/qpid/java/test-profiles/XAExcludes   (props changed)
    qpid/branches/0.18/qpid/java/test-profiles/cpp.async.testprofile   (props changed)
    qpid/branches/0.18/qpid/java/test-profiles/cpp.cluster.testprofile   (props changed)
    qpid/branches/0.18/qpid/java/test-profiles/cpp.noprefetch.testprofile   (props changed)
    qpid/branches/0.18/qpid/java/test-profiles/cpp.ssl.excludes   (props changed)
    qpid/branches/0.18/qpid/java/test-profiles/cpp.ssl.testprofile   (props changed)
    qpid/branches/0.18/qpid/java/test-profiles/cpp.testprofile   (props changed)
    qpid/branches/0.18/qpid/java/test-profiles/java-bdb-spawn.0-9-1.testprofile   (props changed)
    qpid/branches/0.18/qpid/java/test-profiles/java-bdb.0-9-1.testprofile   (props changed)
    qpid/branches/0.18/qpid/java/test-profiles/java-dby-spawn.0-9-1.testprofile   (props changed)
    qpid/branches/0.18/qpid/java/test-profiles/java-dby.0-9-1.testprofile   (props changed)
    qpid/branches/0.18/qpid/java/test-profiles/java-mms-spawn.0-10.testprofile   (props changed)
    qpid/branches/0.18/qpid/java/test-profiles/java-mms-spawn.0-9-1.testprofile   (props changed)
    qpid/branches/0.18/qpid/java/test-profiles/java-mms.0-9-1.testprofile   (props changed)
    qpid/branches/0.18/qpid/java/test-profiles/log4j-test.xml   (props changed)
    qpid/branches/0.18/qpid/java/test-profiles/test-provider.properties   (props changed)
    qpid/branches/0.18/qpid/java/test-profiles/test_resources/   (props changed)
    qpid/branches/0.18/qpid/java/test-profiles/test_resources/ssl/java_broker_keystore.jks
    qpid/branches/0.18/qpid/java/test-profiles/testprofile.defaults   (props changed)

Propchange: qpid/branches/0.18/qpid/java/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/amqp-1-0-client/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/amqp-1-0-client:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/amqp-1-0-client-jms/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/amqp-1-0-client-jms:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/amqp-1-0-common/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/amqp-1-0-common:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/broker/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/broker:r1361239,1363413

Modified: qpid/branches/0.18/qpid/java/broker-plugins/management-http/MANIFEST.MF
URL: http://svn.apache.org/viewvc/qpid/branches/0.18/qpid/java/broker-plugins/management-http/MANIFEST.MF?rev=1363418&r1=1363417&r2=1363418&view=diff
==============================================================================
--- qpid/branches/0.18/qpid/java/broker-plugins/management-http/MANIFEST.MF (original)
+++ qpid/branches/0.18/qpid/java/broker-plugins/management-http/MANIFEST.MF Thu Jul 19 16:40:17 2012
@@ -38,11 +38,14 @@ Import-Package:  org.apache.qpid,
  org.apache.qpid.util,
  org.eclipse.jetty.server;version=7.6.3,
  org.eclipse.jetty.server.session;version=7.6.3,
+ org.eclipse.jetty.server.ssl;version=7.6.3,
+ org.eclipse.jetty.server.nio;version=7.6.3,
  org.eclipse.jetty.security;version=7.6.3,
  org.eclipse.jetty.http;version=7.6.3,
  org.eclipse.jetty.io;version=7.6.3,
  org.eclipse.jetty.io.nio;version=7.6.3,
  org.eclipse.jetty.servlet;version=7.6.3,
+ org.eclipse.jetty.util.ssl;version=7.6.3,
  org.apache.commons.codec;version=1.3.0,
  org.apache.commons.codec.binary;version=1.3.0,
  org.apache.commons.configuration;version=1.0.0,

Modified: qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/Management.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/Management.java?rev=1363418&r1=1363417&r2=1363418&view=diff
==============================================================================
--- qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/Management.java (original)
+++ qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/Management.java Thu Jul 19 16:40:17 2012
@@ -20,22 +20,46 @@
  */
 package org.apache.qpid.server.management.plugin;
 
-import java.net.InetSocketAddress;
-import java.net.SocketAddress;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collection;
+
+import org.apache.commons.configuration.ConfigurationException;
 import org.apache.log4j.Logger;
 import org.apache.qpid.server.management.plugin.servlet.DefinedFileServlet;
 import org.apache.qpid.server.management.plugin.servlet.FileServlet;
 import org.apache.qpid.server.management.plugin.servlet.api.ExchangesServlet;
 import org.apache.qpid.server.management.plugin.servlet.api.VhostsServlet;
-import org.apache.qpid.server.management.plugin.servlet.rest.*;
-import org.apache.qpid.server.model.*;
+import org.apache.qpid.server.management.plugin.servlet.rest.LogRecordsServlet;
+import org.apache.qpid.server.management.plugin.servlet.rest.MessageContentServlet;
+import org.apache.qpid.server.management.plugin.servlet.rest.MessageServlet;
+import org.apache.qpid.server.management.plugin.servlet.rest.RestServlet;
+import org.apache.qpid.server.management.plugin.servlet.rest.SaslServlet;
+import org.apache.qpid.server.management.plugin.servlet.rest.StructureServlet;
+import org.apache.qpid.server.model.AuthenticationProvider;
+import org.apache.qpid.server.model.Binding;
+import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.ConfiguredObject;
+import org.apache.qpid.server.model.Connection;
+import org.apache.qpid.server.model.Exchange;
+import org.apache.qpid.server.model.Port;
+import org.apache.qpid.server.model.Protocol;
+import org.apache.qpid.server.model.Queue;
+import org.apache.qpid.server.model.Session;
+import org.apache.qpid.server.model.Transport;
+import org.apache.qpid.server.model.User;
+import org.apache.qpid.server.model.VirtualHost;
 import org.apache.qpid.server.registry.ApplicationRegistry;
+import org.apache.qpid.server.registry.IApplicationRegistry;
 import org.eclipse.jetty.server.Server;
 import org.eclipse.jetty.server.SessionManager;
+import org.eclipse.jetty.server.nio.SelectChannelConnector;
+import org.eclipse.jetty.server.ssl.SslSocketConnector;
 import org.eclipse.jetty.servlet.ServletContextHandler;
 import org.eclipse.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.util.ssl.SslContextFactory;
 
 public class Management
 {
@@ -46,72 +70,110 @@ public class Management
 
     private Collection<Server> _servers = new ArrayList<Server>();
 
-
-    public Management()
+    public Management() throws ConfigurationException, IOException
     {
         _broker = ApplicationRegistry.getInstance().getBroker();
 
         Collection<Port> ports = _broker.getPorts();
-        for(Port port : ports)
+        int httpPort = -1, httpsPort = -1;
+        for (Port port : ports)
         {
-            // TODO - cover cases where more than just HTTP supported, and SSL as a transport
-            if(port.getProtocols().contains(Protocol.HTTP))
+            if (port.getProtocols().contains(Protocol.HTTP))
+            {
+                if (port.getTransports().contains(Transport.TCP))
+                {
+                    httpPort = port.getPort();
+                }
+            }
+            if (port.getProtocols().contains(Protocol.HTTPS))
             {
-                if(port.getTransports().contains(Transport.TCP))
+                if (port.getTransports().contains(Transport.SSL))
                 {
-                    int portNumber = port.getPort();
-                    if (_logger.isInfoEnabled())
-                    {
-                        _logger.info("Creating web server on port " + portNumber);
-                    }
-                    _servers.add(createServer(portNumber));
+                    httpsPort = port.getPort();
                 }
             }
         }
 
-        if (_logger.isDebugEnabled())
+        if (httpPort != -1 || httpsPort != -1)
         {
-            _logger.info(_servers.size() + " server(s) defined");
+            _servers.add(createServer(httpPort, httpsPort));
+            if (_logger.isDebugEnabled())
+            {
+                _logger.debug(_servers.size() + " server(s) defined");
+            }
+        }
+        else
+        {
+            if (_logger.isInfoEnabled())
+            {
+                _logger.info("Cannot create web server as neither HTTP nor HTTPS port specified");
+            }
         }
-
     }
 
-    private Server createServer(int port)
+    @SuppressWarnings("unchecked")
+    private Server createServer(int port, int sslPort) throws IOException, ConfigurationException
     {
-        _logger.info("Starting up web server on port " + port);
+        if (_logger.isInfoEnabled())
+        {
+            _logger.info("Starting up web server on" + (port == -1 ? "" : " HTTP port " + port)
+                    + (sslPort == -1 ? "" : " HTTPS port " + sslPort));
+        }
+
+        Server server = new Server();
+
+        if (port != -1)
+        {
+            SelectChannelConnector connector = new SelectChannelConnector();
+            connector.setPort(port);
+            if (sslPort != -1)
+            {
+                connector.setConfidentialPort(sslPort);
+            }
+            server.addConnector(connector);
+        }
 
-        Server server = new Server(port);
-        SocketAddress socketAddress = new InetSocketAddress(port);
+        if (sslPort != -1)
+        {
+            IApplicationRegistry appRegistry = ApplicationRegistry.getInstance();
+            String keyStorePath = getKeyStorePath(appRegistry);
+
+            SslContextFactory factory = new SslContextFactory();
+            factory.setKeyStorePath(keyStorePath);
+            factory.setKeyStorePassword(appRegistry.getConfiguration().getManagementKeyStorePassword());
+
+            SslSocketConnector connector = new SslSocketConnector(factory);
+            connector.setPort(sslPort);
+            server.addConnector(connector);
+        }
 
         ServletContextHandler root = new ServletContextHandler(ServletContextHandler.SESSIONS);
-                root.setContextPath("/");
-                server.setHandler(root);
+        root.setContextPath("/");
+        server.setHandler(root);
 
         root.addServlet(new ServletHolder(new VhostsServlet(_broker)), "/api/vhosts/*");
         root.addServlet(new ServletHolder(new ExchangesServlet(_broker)), "/api/exchanges/*");
 
-        addRestServlet(root, "broker", socketAddress);
-        addRestServlet(root, "virtualhost", socketAddress, VirtualHost.class);
-        addRestServlet(root, "authenticationprovider", socketAddress, AuthenticationProvider.class);
-        addRestServlet(root, "user", socketAddress, AuthenticationProvider.class, User.class);
-        addRestServlet(root, "exchange", socketAddress, VirtualHost.class, Exchange.class);
-        addRestServlet(root, "queue", socketAddress, VirtualHost.class, Queue.class);
-        addRestServlet(root, "connection", socketAddress, VirtualHost.class, Connection.class);
-        addRestServlet(root, "binding", socketAddress, VirtualHost.class, Exchange.class, Queue.class, Binding.class);
-        addRestServlet(root, "port", socketAddress, Port.class);
-        addRestServlet(root, "session", socketAddress, VirtualHost.class, Connection.class, Session.class);
-
-        root.addServlet(new ServletHolder(new StructureServlet(_broker, socketAddress)), "/rest/structure");
-        root.addServlet(new ServletHolder(new MessageServlet(_broker, socketAddress)), "/rest/message/*");
-        root.addServlet(new ServletHolder(new MessageContentServlet(_broker, socketAddress)), "/rest/message-content/*");
+        addRestServlet(root, "broker");
+        addRestServlet(root, "virtualhost", VirtualHost.class);
+        addRestServlet(root, "authenticationprovider", AuthenticationProvider.class);
+        addRestServlet(root, "user", AuthenticationProvider.class, User.class);
+        addRestServlet(root, "exchange", VirtualHost.class, Exchange.class);
+        addRestServlet(root, "queue", VirtualHost.class, Queue.class);
+        addRestServlet(root, "connection", VirtualHost.class, Connection.class);
+        addRestServlet(root, "binding", VirtualHost.class, Exchange.class, Queue.class, Binding.class);
+        addRestServlet(root, "port", Port.class);
+        addRestServlet(root, "session", VirtualHost.class, Connection.class, Session.class);
+
+        root.addServlet(new ServletHolder(new StructureServlet(_broker)), "/rest/structure");
+        root.addServlet(new ServletHolder(new MessageServlet(_broker)), "/rest/message/*");
+        root.addServlet(new ServletHolder(new MessageContentServlet(_broker)), "/rest/message-content/*");
 
-        root.addServlet(new ServletHolder(new LogRecordsServlet(_broker, socketAddress)), "/rest/logrecords");
+        root.addServlet(new ServletHolder(new LogRecordsServlet(_broker)), "/rest/logrecords");
 
+        root.addServlet(new ServletHolder(new SaslServlet(_broker)), "/rest/sasl");
 
-        root.addServlet(new ServletHolder(new SaslServlet(_broker, socketAddress)), "/rest/sasl");
-
-        root.addServlet(new ServletHolder(new DefinedFileServlet("management.html")),"/management");
-
+        root.addServlet(new ServletHolder(new DefinedFileServlet("management.html")), "/management");
 
         root.addServlet(new ServletHolder(FileServlet.INSTANCE), "*.js");
         root.addServlet(new ServletHolder(FileServlet.INSTANCE), "*.css");
@@ -131,14 +193,14 @@ public class Management
         return server;
     }
 
-    private void addRestServlet(ServletContextHandler root, String name, SocketAddress socketAddress, Class<? extends ConfiguredObject>... hierarchy)
+    private void addRestServlet(ServletContextHandler root, String name, Class<? extends ConfiguredObject>... hierarchy)
     {
-        root.addServlet(new ServletHolder(new RestServlet(_broker, socketAddress, hierarchy)), "/rest/"+name+"/*");
+        root.addServlet(new ServletHolder(new RestServlet(_broker, hierarchy)), "/rest/" + name + "/*");
     }
 
     public void start() throws Exception
     {
-        for(Server server : _servers)
+        for (Server server : _servers)
         {
             server.start();
         }
@@ -146,10 +208,41 @@ public class Management
 
     public void stop() throws Exception
     {
-        for(Server server : _servers)
+        for (Server server : _servers)
         {
             server.stop();
         }
     }
 
+    private String getKeyStorePath(IApplicationRegistry appRegistry) throws ConfigurationException, FileNotFoundException
+    {
+        String keyStorePath = null;
+        if (System.getProperty("javax.net.ssl.keyStore") != null)
+        {
+            keyStorePath = System.getProperty("javax.net.ssl.keyStore");
+        }
+        else
+        {
+            keyStorePath = appRegistry.getConfiguration().getManagementKeyStorePath();
+        }
+
+        if (keyStorePath == null)
+        {
+            throw new ConfigurationException("Management SSL keystore path not defined, unable to start SSL protected HTTP connector");
+        }
+        else
+        {
+            File ksf = new File(keyStorePath);
+            if (!ksf.exists())
+            {
+                throw new FileNotFoundException("Cannot find management SSL keystore file: " + ksf);
+            }
+            if (!ksf.canRead())
+            {
+                throw new FileNotFoundException("Cannot read management SSL keystore file: " + ksf + ". Check permissions.");
+            }
+        }
+        return keyStorePath;
+    }
+
 }

Modified: qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/ManagementActivator.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/ManagementActivator.java?rev=1363418&r1=1363417&r2=1363418&view=diff
==============================================================================
--- qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/ManagementActivator.java (original)
+++ qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/ManagementActivator.java Thu Jul 19 16:40:17 2012
@@ -39,9 +39,10 @@ public class ManagementActivator impleme
     public void start(final BundleContext ctx) throws Exception
     {
         _ctx = ctx;
-        if (!ApplicationRegistry.getInstance().getConfiguration().getHTTPManagementEnabled())
+        if (!ApplicationRegistry.getInstance().getConfiguration().getHTTPManagementEnabled()
+                && !ApplicationRegistry.getInstance().getConfiguration().getHTTPSManagementEnabled())
         {
-            _logger.info("Management plugin is diabled!");
+            _logger.info("Management plugin is disabled!");
             ctx.getBundle().uninstall();
             return;
         }

Modified: qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java?rev=1363418&r1=1363417&r2=1363418&view=diff
==============================================================================
--- qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java (original)
+++ qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java Thu Jul 19 16:40:17 2012
@@ -42,19 +42,16 @@ import org.apache.qpid.server.security.a
 public abstract class AbstractServlet extends HttpServlet
 {
     private final Broker _broker;
-    private SocketAddress _socketAddress;
 
     protected AbstractServlet()
     {
         super();
         _broker = ApplicationRegistry.getInstance().getBroker();
-        _socketAddress = null;
     }
 
-    protected AbstractServlet(Broker broker, SocketAddress socketAddress)
+    protected AbstractServlet(Broker broker)
     {
         _broker = broker;
-        _socketAddress = socketAddress;
     }
 
     @Override
@@ -206,10 +203,6 @@ public abstract class AbstractServlet ex
 
     protected SocketAddress getSocketAddress(HttpServletRequest request)
     {
-        if (_socketAddress == null)
-        {
-            return InetSocketAddress.createUnresolved(request.getServerName(), request.getServerPort());
-        }
-        return _socketAddress;
+        return InetSocketAddress.createUnresolved(request.getServerName(), request.getServerPort());
     }
 }

Modified: qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/LogRecordsServlet.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/LogRecordsServlet.java?rev=1363418&r1=1363417&r2=1363418&view=diff
==============================================================================
--- qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/LogRecordsServlet.java (original)
+++ qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/LogRecordsServlet.java Thu Jul 19 16:40:17 2012
@@ -18,7 +18,6 @@ package org.apache.qpid.server.managemen
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import java.net.SocketAddress;
 import java.util.ArrayList;
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -36,12 +35,12 @@ public class LogRecordsServlet extends A
 {
     public LogRecordsServlet()
     {
-        super(ApplicationRegistry.getInstance().getBroker(), null);
+        super(ApplicationRegistry.getInstance().getBroker());
     }
 
-    public LogRecordsServlet(Broker broker, SocketAddress socketaddress)
+    public LogRecordsServlet(Broker broker)
     {
-        super(broker, socketaddress);
+        super(broker);
     }
 
     @Override

Modified: qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageContentServlet.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageContentServlet.java?rev=1363418&r1=1363417&r2=1363418&view=diff
==============================================================================
--- qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageContentServlet.java (original)
+++ qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageContentServlet.java Thu Jul 19 16:40:17 2012
@@ -18,7 +18,6 @@
 package org.apache.qpid.server.management.plugin.servlet.rest;
 
 import java.io.IOException;
-import java.net.SocketAddress;
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -43,9 +42,9 @@ public class MessageContentServlet exten
         super();
     }
 
-    public MessageContentServlet(Broker broker, SocketAddress socketaddress)
+    public MessageContentServlet(Broker broker)
     {
-        super(broker, socketaddress);
+        super(broker);
     }
 
     @Override

Modified: qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java?rev=1363418&r1=1363417&r2=1363418&view=diff
==============================================================================
--- qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java (original)
+++ qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/MessageServlet.java Thu Jul 19 16:40:17 2012
@@ -19,7 +19,6 @@ package org.apache.qpid.server.managemen
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import java.net.SocketAddress;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -57,9 +56,9 @@ public class MessageServlet extends Abst
         super();
     }
 
-    public MessageServlet(Broker broker, SocketAddress socketaddress)
+    public MessageServlet(Broker broker)
     {
-        super(broker, socketaddress);
+        super(broker);
     }
 
     @Override

Modified: qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java?rev=1363418&r1=1363417&r2=1363418&view=diff
==============================================================================
--- qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java (original)
+++ qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java Thu Jul 19 16:40:17 2012
@@ -55,9 +55,9 @@ public class RestServlet extends Abstrac
         initializationRequired = true;
     }
 
-    public RestServlet(Broker broker, SocketAddress socketaddress, Class<? extends ConfiguredObject>... hierarchy)
+    public RestServlet(Broker broker, Class<? extends ConfiguredObject>... hierarchy)
     {
-        super(broker, socketaddress);
+        super(broker);
         _hierarchy = hierarchy;
     }
 

Modified: qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/SaslServlet.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/SaslServlet.java?rev=1363418&r1=1363417&r2=1363418&view=diff
==============================================================================
--- qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/SaslServlet.java (original)
+++ qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/SaslServlet.java Thu Jul 19 16:40:17 2012
@@ -39,7 +39,6 @@ import javax.servlet.http.HttpServletRes
 import javax.servlet.http.HttpSession;
 import java.io.IOException;
 import java.io.PrintWriter;
-import java.net.SocketAddress;
 import java.security.Principal;
 import java.security.SecureRandom;
 import java.util.LinkedHashMap;
@@ -63,9 +62,9 @@ public class SaslServlet extends Abstrac
         super();
     }
 
-    public SaslServlet(Broker broker, SocketAddress socketaddress)
+    public SaslServlet(Broker broker)
     {
-        super(broker, socketaddress);
+        super(broker);
     }
 
     protected void onGet(HttpServletRequest request, HttpServletResponse response) throws

Modified: qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/StructureServlet.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/StructureServlet.java?rev=1363418&r1=1363417&r2=1363418&view=diff
==============================================================================
--- qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/StructureServlet.java (original)
+++ qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/StructureServlet.java Thu Jul 19 16:40:17 2012
@@ -18,7 +18,6 @@ package org.apache.qpid.server.managemen
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import java.net.SocketAddress;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.LinkedHashMap;
@@ -42,9 +41,9 @@ public class StructureServlet extends Ab
         super();
     }
 
-    public StructureServlet(Broker broker, SocketAddress socketaddress)
+    public StructureServlet(Broker broker)
     {
-        super(broker, socketaddress);
+        super(broker);
     }
 
     @Override

Modified: qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/QpidRestTestCase.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/QpidRestTestCase.java?rev=1363418&r1=1363417&r2=1363418&view=diff
==============================================================================
--- qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/QpidRestTestCase.java (original)
+++ qpid/branches/0.18/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/QpidRestTestCase.java Thu Jul 19 16:40:17 2012
@@ -33,6 +33,7 @@ import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.commons.configuration.ConfigurationException;
 import org.apache.log4j.Logger;
 import org.apache.qpid.test.utils.QpidBrokerTestCase;
 import org.codehaus.jackson.JsonGenerationException;
@@ -54,16 +55,23 @@ public class QpidRestTestCase extends Qp
     private String _hostName;
     private List<HttpURLConnection> _httpConnections;
 
+    @Override
     public void setUp() throws Exception
     {
         _httpConnections = new ArrayList<HttpURLConnection>();
         _hostName = InetAddress.getLocalHost().getHostName();
         _httpPort = findFreePort();
-        setConfigurationProperty("management.enabled", "true");
+        customizeConfiguration();
+        super.setUp();
+
+    }
+
+    protected void customizeConfiguration() throws ConfigurationException, IOException
+    {
+        setConfigurationProperty("management.enabled", "false");
         setConfigurationProperty("management.http.enabled", "true");
+        setConfigurationProperty("management.https.enabled", "false");
         setConfigurationProperty("management.http.port", Integer.toString(_httpPort));
-        setConfigurationProperty("management.jmx.enabled", "false");
-        super.setUp();
     }
 
     public void teearDown() throws Exception
@@ -92,9 +100,14 @@ public class QpidRestTestCase extends Qp
         return _hostName;
     }
 
+    protected String getProtocol()
+    {
+        return "http";
+    }
+
     protected String getManagementURL()
     {
-        return "http://" + _hostName + ":" + _httpPort;
+        return getProtocol() + "://" + getHostName() + ":" + getHttpPort();
     }
 
     protected URL getManagementURL(String path) throws MalformedURLException

Propchange: qpid/branches/0.18/qpid/java/broker/bin/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/broker/bin:r1361239,1363413

Modified: qpid/branches/0.18/qpid/java/broker/etc/config.xml
URL: http://svn.apache.org/viewvc/qpid/branches/0.18/qpid/java/broker/etc/config.xml?rev=1363418&r1=1363417&r2=1363418&view=diff
==============================================================================
--- qpid/branches/0.18/qpid/java/broker/etc/config.xml (original)
+++ qpid/branches/0.18/qpid/java/broker/etc/config.xml Thu Jul 19 16:40:17 2012
@@ -57,6 +57,9 @@
             <keyStorePath>${conf}/qpid.keystore</keyStorePath>
             <keyStorePassword>password</keyStorePassword>
         </ssl>
+        <https>
+            <enabled>false</enabled>
+        </https>
     </management>
     <advanced>
         <framesize>65535</framesize>

Modified: qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java?rev=1363418&r1=1363417&r2=1363418&view=diff
==============================================================================
--- qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java (original)
+++ qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java Thu Jul 19 16:40:17 2012
@@ -65,6 +65,7 @@ public class ServerConfiguration extends
     public static final int DEFAULT_JMXPORT_REGISTRYSERVER = 8999;
     public static final int JMXPORT_CONNECTORSERVER_OFFSET = 100;
     public static final int DEFAULT_HTTP_MANAGEMENT_PORT = 8080;
+    public static final int DEFAULT_HTTPS_MANAGEMENT_PORT = 8443;
 
     public static final String QPID_HOME = "QPID_HOME";
     public static final String QPID_WORK = "QPID_WORK";
@@ -580,7 +581,17 @@ public class ServerConfiguration extends
 
     public int getHTTPManagementPort()
     {
-        return getIntValue("management.http.port", 8080);
+        return getIntValue("management.http.port", DEFAULT_HTTP_MANAGEMENT_PORT);
+    }
+
+    public boolean getHTTPSManagementEnabled()
+    {
+        return getBooleanValue("management.https.enabled", false);
+    }
+
+    public int getHTTPSManagementPort()
+    {
+        return getIntValue("management.https.port", DEFAULT_HTTPS_MANAGEMENT_PORT);
     }
 
     public String[] getVirtualHosts()
@@ -1015,4 +1026,5 @@ public class ServerConfiguration extends
     {
         _qpidHome = path;
     }
+
 }

Propchange: qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/management/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/management:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/message/MessageMetaData_1_0.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/message/MessageMetaData_1_0.java:r1361239,1363413

Modified: qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/model/Protocol.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/model/Protocol.java?rev=1363418&r1=1363417&r2=1363418&view=diff
==============================================================================
--- qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/model/Protocol.java (original)
+++ qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/model/Protocol.java Thu Jul 19 16:40:17 2012
@@ -28,5 +28,6 @@ public enum Protocol
     AMQP_0_10,
     AMQP_1_0,
     JMX,
-    HTTP
+    HTTP,
+    HTTPS
 }

Modified: qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java?rev=1363418&r1=1363417&r2=1363418&view=diff
==============================================================================
--- qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java (original)
+++ qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java Thu Jul 19 16:40:17 2012
@@ -26,6 +26,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import org.apache.qpid.common.QpidProperties;
 import org.apache.qpid.server.model.AuthenticationProvider;
@@ -33,8 +34,10 @@ import org.apache.qpid.server.model.Brok
 import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.LifetimePolicy;
 import org.apache.qpid.server.model.Port;
+import org.apache.qpid.server.model.Protocol;
 import org.apache.qpid.server.model.State;
 import org.apache.qpid.server.model.Statistics;
+import org.apache.qpid.server.model.Transport;
 import org.apache.qpid.server.model.UUIDGenerator;
 import org.apache.qpid.server.model.VirtualHost;
 import org.apache.qpid.server.registry.IApplicationRegistry;
@@ -55,7 +58,8 @@ public class BrokerAdapter extends Abstr
             new HashMap<org.apache.qpid.server.virtualhost.VirtualHost, VirtualHostAdapter>();
     private final StatisticsAdapter _statistics;
     private final Map<QpidAcceptor, PortAdapter> _portAdapters = new HashMap<QpidAcceptor, PortAdapter>();
-    private HTTPPortAdapter _httpManagementPort;
+    private Collection<HTTPPortAdapter> _httpManagementPorts;
+
     private final Map<AuthenticationManager, AuthenticationProviderAdapter> _authManagerAdapters =
             new HashMap<AuthenticationManager, AuthenticationProviderAdapter>();
 
@@ -114,11 +118,19 @@ public class BrokerAdapter extends Abstr
                     _portAdapters.put(entry.getValue(), new PortAdapter(this, entry.getValue(), entry.getKey()));
                 }
             }
-            if(_applicationRegistry.useHTTPManagement())
+            if(_applicationRegistry.useHTTPManagement() || _applicationRegistry.useHTTPSManagement())
             {
-                _httpManagementPort = new HTTPPortAdapter(this, _applicationRegistry.getHTTPManagementPort());
+                ArrayList<HTTPPortAdapter> httpPorts = new ArrayList<HTTPPortAdapter>();
+                if (_applicationRegistry.useHTTPManagement())
+                {
+                    httpPorts.add(new HTTPPortAdapter(this, _applicationRegistry.getHTTPManagementPort()));
+                }
+                if (_applicationRegistry.useHTTPSManagement())
+                {
+                    httpPorts.add(new HTTPPortAdapter(this, _applicationRegistry.getHTTPSManagementPort(), Protocol.HTTPS, Transport.SSL));
+                }
+                _httpManagementPorts = Collections.unmodifiableCollection(httpPorts);
             }
-
         }
     }
 
@@ -127,9 +139,9 @@ public class BrokerAdapter extends Abstr
         synchronized (_portAdapters)
         {
             final ArrayList<Port> ports = new ArrayList<Port>(_portAdapters.values());
-            if(_httpManagementPort != null)
+            if(_httpManagementPorts != null)
             {
-                ports.add(_httpManagementPort);
+                ports.addAll(_httpManagementPorts);
             }
             return ports;
         }

Modified: qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/HTTPPortAdapter.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/HTTPPortAdapter.java?rev=1363418&r1=1363417&r2=1363418&view=diff
==============================================================================
--- qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/HTTPPortAdapter.java (original)
+++ qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/HTTPPortAdapter.java Thu Jul 19 16:40:17 2012
@@ -39,13 +39,22 @@ import org.apache.qpid.server.model.Virt
 public class HTTPPortAdapter extends AbstractAdapter implements Port
 {
     private final BrokerAdapter _broker;
-    private int _port;
+    private final int _port;
+    private final Protocol _protocol;
+    private final Transport _transport;
+
     public HTTPPortAdapter(BrokerAdapter brokerAdapter, int port)
     {
+        this(brokerAdapter, port, Protocol.HTTP, Transport.TCP);
+    }
+
+    public HTTPPortAdapter(BrokerAdapter brokerAdapter, int port, Protocol protocol, Transport transport)
+    {
         super(UUIDGenerator.generateRandomUUID());
         _broker = brokerAdapter;
         _port = port;
-
+        _protocol = protocol;
+        _transport = transport;
     }
 
     @Override
@@ -63,7 +72,7 @@ public class HTTPPortAdapter extends Abs
     @Override
     public Collection<Transport> getTransports()
     {
-        return Collections.singleton(Transport.TCP);        
+        return Collections.singleton(_transport);
     }
 
     @Override
@@ -83,7 +92,7 @@ public class HTTPPortAdapter extends Abs
     @Override
     public Collection<Protocol> getProtocols()
     {
-        return Collections.singleton(Protocol.HTTP);
+        return Collections.singleton(_protocol);
     }
 
     @Override

Modified: qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/OsgiSystemPackages.properties
URL: http://svn.apache.org/viewvc/qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/OsgiSystemPackages.properties?rev=1363418&r1=1363417&r2=1363418&view=diff
==============================================================================
--- qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/OsgiSystemPackages.properties (original)
+++ qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/plugins/OsgiSystemPackages.properties Thu Jul 19 16:40:17 2012
@@ -79,7 +79,10 @@ org.eclipse.jetty.io.nio=7.6.3
 org.eclipse.jetty.security=7.6.3
 org.eclipse.jetty.server=7.6.3
 org.eclipse.jetty.server.session=7.6.3
+org.eclipse.jetty.server.ssl=7.6.3
+org.eclipse.jetty.server.nio=7.6.3
 org.eclipse.jetty.servlet=7.6.3
+org.eclipse.jetty.util.ssl=7.6.3
 
 org.codehaus.jackson=1.9.0
 org.codehaus.jackson.map=1.9.0

Propchange: qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/ProtocolEngine_1_0_0.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/ProtocolEngine_1_0_0.java:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/ProtocolEngine_1_0_0_SASL.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/ProtocolEngine_1_0_0_SASL.java:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/v1_0/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/protocol/v1_0:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/queue:r1361239,1363413

Modified: qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java?rev=1363418&r1=1363417&r2=1363418&view=diff
==============================================================================
--- qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java (original)
+++ qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java Thu Jul 19 16:40:17 2012
@@ -108,7 +108,7 @@ public abstract class ApplicationRegistr
 
     private final List<PortBindingListener> _portBindingListeners = new ArrayList<PortBindingListener>();
 
-    private int _httpManagementPort = -1;
+    private int _httpManagementPort = -1, _httpsManagementPort = -1;
 
     private LogRecorder _logRecorder;
 
@@ -299,6 +299,10 @@ public abstract class ApplicationRegistr
             {
                 _httpManagementPort = _configuration.getHTTPManagementPort();
             }
+            if (_configuration.getHTTPSManagementEnabled())
+            {
+                _httpsManagementPort = _configuration.getHTTPSManagementPort();
+            }
 
             _broker = new BrokerAdapter(this);
 
@@ -736,6 +740,18 @@ public abstract class ApplicationRegistr
         return _httpManagementPort;
     }
 
+    @Override
+    public boolean useHTTPSManagement()
+    {
+        return _httpsManagementPort != -1;
+    }
+
+    @Override
+    public int getHTTPSManagementPort()
+    {
+        return _httpsManagementPort;
+    }
+
     public LogRecorder getLogRecorder()
     {
         return _logRecorder;

Modified: qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/IApplicationRegistry.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/IApplicationRegistry.java?rev=1363418&r1=1363417&r2=1363418&view=diff
==============================================================================
--- qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/IApplicationRegistry.java (original)
+++ qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/IApplicationRegistry.java Thu Jul 19 16:40:17 2012
@@ -119,6 +119,10 @@ public interface IApplicationRegistry ex
 
     int getHTTPManagementPort();
 
+    boolean useHTTPSManagement();
+
+    int getHTTPSManagementPort();
+
     void addRegistryChangeListener(IAuthenticationManagerRegistry.RegistryChangeListener registryChangeListener);
 
     public interface PortBindingListener

Propchange: qpid/branches/0.18/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/virtualhost:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ConfigurationManagement.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ConfigurationManagement.java:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/LoggingManagement.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/LoggingManagement.java:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedBroker.java:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedConnection.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedConnection.java:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedExchange.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedExchange.java:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/ManagedQueue.java:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/UserManagement.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/UserManagement.java:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanAttribute.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanAttribute.java:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanConstructor.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanConstructor.java:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanDescription.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanDescription.java:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperation.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperation.java:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperationParameter.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/common/src/main/java/org/apache/qpid/management/common/mbeans/annotations/MBeanOperationParameter.java:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/management/eclipse-plugin/src/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/eclipse-plugin/src:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ConnectionTypeTabControl.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ConnectionTypeTabControl.java:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ExchangeTypeTabControl.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/ExchangeTypeTabControl.java:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/MBeanTypeTabControl.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/MBeanTypeTabControl.java:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/eclipse-plugin/src/main/java/org/apache/qpid/management/ui/views/type/QueueTypeTabControl.java:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/management/eclipse-plugin/src/main/resources/macosx/Contents/MacOS/qpidmc
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/management/eclipse-plugin/src/main/resources/macosx/Contents/MacOS/qpidmc:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/systests/src/main/java/org/apache/qpid/server/SupportedProtocolVersionsTest.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/server/SupportedProtocolVersionsTest.java:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/test-profiles/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/test-profiles/CPPExcludes
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/CPPExcludes:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/test-profiles/Excludes
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/Excludes:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/test-profiles/JavaBDBExcludes
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/JavaBDBExcludes:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/test-profiles/JavaExcludes
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/JavaExcludes:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/test-profiles/JavaPre010Excludes
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/JavaPre010Excludes:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/test-profiles/JavaTransientExcludes
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/JavaTransientExcludes:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/test-profiles/XAExcludes
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/XAExcludes:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/test-profiles/cpp.async.testprofile
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/cpp.async.testprofile:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/test-profiles/cpp.cluster.testprofile
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/cpp.cluster.testprofile:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/test-profiles/cpp.noprefetch.testprofile
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/cpp.noprefetch.testprofile:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/test-profiles/cpp.ssl.excludes
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/cpp.ssl.excludes:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/test-profiles/cpp.ssl.testprofile
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/cpp.ssl.testprofile:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/test-profiles/cpp.testprofile
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/cpp.testprofile:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/test-profiles/java-bdb-spawn.0-9-1.testprofile
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/java-bdb-spawn.0-9-1.testprofile:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/test-profiles/java-bdb.0-9-1.testprofile
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/java-bdb.0-9-1.testprofile:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/test-profiles/java-dby-spawn.0-9-1.testprofile
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/java-dby-spawn.0-9-1.testprofile:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/test-profiles/java-dby.0-9-1.testprofile
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/java-dby.0-9-1.testprofile:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/test-profiles/java-mms-spawn.0-10.testprofile
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/java-mms-spawn.0-10.testprofile:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/test-profiles/java-mms-spawn.0-9-1.testprofile
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/java-mms-spawn.0-9-1.testprofile:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/test-profiles/java-mms.0-9-1.testprofile
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/java-mms.0-9-1.testprofile:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/test-profiles/log4j-test.xml
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/log4j-test.xml:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/test-profiles/test-provider.properties
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/test-provider.properties:r1361239,1363413

Propchange: qpid/branches/0.18/qpid/java/test-profiles/test_resources/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/test_resources:r1361239,1363413

Modified: qpid/branches/0.18/qpid/java/test-profiles/test_resources/ssl/java_broker_keystore.jks
URL: http://svn.apache.org/viewvc/qpid/branches/0.18/qpid/java/test-profiles/test_resources/ssl/java_broker_keystore.jks?rev=1363418&r1=1363417&r2=1363418&view=diff
==============================================================================
Files qpid/branches/0.18/qpid/java/test-profiles/test_resources/ssl/java_broker_keystore.jks (original) and qpid/branches/0.18/qpid/java/test-profiles/test_resources/ssl/java_broker_keystore.jks Thu Jul 19 16:40:17 2012 differ

Propchange: qpid/branches/0.18/qpid/java/test-profiles/testprofile.defaults
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java/test-profiles/testprofile.defaults:r1361239,1363413



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org