Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/types/Variant.cpp URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/types/Variant.cpp?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/types/Variant.cpp (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/qpid/types/Variant.cpp Tue Feb 10 16:15:08 2015 @@ -188,13 +188,13 @@ bool caseInsensitiveMatch(const std::str return a.size() == b.size() && std::equal(a.begin(), a.end(), b.begin(), &same_char); } -const std::string TRUE("True"); -const std::string FALSE("False"); +const std::string TRUE_STRING("True"); +const std::string FALSE_STRING("False"); bool toBool(const std::string& s) { - if (caseInsensitiveMatch(s, TRUE)) return true; - if (caseInsensitiveMatch(s, FALSE)) return false; + if (caseInsensitiveMatch(s, TRUE_STRING)) return true; + if (caseInsensitiveMatch(s, FALSE_STRING)) return false; try { return boost::lexical_cast<int>(s); } catch(const boost::bad_lexical_cast&) {} throw InvalidConversion(QPID_MSG("Cannot convert " << s << " to bool")); } @@ -494,7 +494,7 @@ std::string VariantImpl::asString() cons { switch(type) { case VAR_VOID: return EMPTY; - case VAR_BOOL: return value.b ? TRUE : FALSE; + case VAR_BOOL: return value.b ? TRUE_STRING : FALSE_STRING; case VAR_UINT8: return boost::lexical_cast<std::string>((int) value.ui8); case VAR_UINT16: return boost::lexical_cast<std::string>(value.ui16); case VAR_UINT32: return boost::lexical_cast<std::string>(value.ui32);
Propchange: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/tests/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Feb 10 16:15:08 2015 @@ -7,4 +7,4 @@ /qpid/branches/java-network-refactor/qpid/cpp/src/tests:805429-825319 /qpid/branches/qpid-2935/qpid/cpp/src/tests:1061302-1072333 /qpid/branches/qpid-3346/qpid/cpp/src/tests:1144319-1179855 -/qpid/trunk/qpid/cpp/src/tests:1643238-1655056 +/qpid/trunk/qpid/cpp/src/tests:1643238-1658732 Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/tests/CMakeLists.txt URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/tests/CMakeLists.txt?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/tests/CMakeLists.txt (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/tests/CMakeLists.txt Tue Feb 10 16:15:08 2015 @@ -364,6 +364,7 @@ add_test (ha_tests ${python_wrap} -- ${C add_test (qpidd_qmfv2_tests ${python_wrap} -- ${CMAKE_CURRENT_SOURCE_DIR}/qpidd_qmfv2_tests.py) if (BUILD_AMQP) add_test (interlink_tests ${python_wrap} -- ${CMAKE_CURRENT_SOURCE_DIR}/interlink_tests.py) + add_test (idle_timeout_tests ${python_wrap} -- ${CMAKE_CURRENT_SOURCE_DIR}/idle_timeout_tests.py) endif (BUILD_AMQP) add_test (swig_python_tests ${test_wrap} -- ${CMAKE_CURRENT_SOURCE_DIR}/swig_python_tests${test_script_suffix}) add_test (ipv6_test ${test_wrap} -- ${CMAKE_CURRENT_SOURCE_DIR}/ipv6_test${test_script_suffix}) Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/tests/TimerTest.cpp URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/tests/TimerTest.cpp?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/tests/TimerTest.cpp (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/cpp/src/tests/TimerTest.cpp Tue Feb 10 16:15:08 2015 @@ -82,7 +82,7 @@ class TestTask : public TimerTask uint64_t difference = _abs64(expected - actual); #elif defined(_WIN32) uint64_t difference = labs(expected - actual); -#elif defined(__SUNPRO_CC) +#elif defined(__SUNPRO_CC) || defined (__IBMCPP__) uint64_t difference = llabs(expected - actual); #else uint64_t difference = abs(expected - actual); Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/doc/book/src/java-broker/Java-Broker-Appendix-Operational-Logging-Messages.xml URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/doc/book/src/java-broker/Java-Broker-Appendix-Operational-Logging-Messages.xml?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/doc/book/src/java-broker/Java-Broker-Appendix-Operational-Logging-Messages.xml (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/doc/book/src/java-broker/Java-Broker-Appendix-Operational-Logging-Messages.xml Tue Feb 10 16:15:08 2015 @@ -413,7 +413,7 @@ </row> <row id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1002"> <entry morerows="1">MNG-1002</entry> - <entry>Starting : <replaceable>type</replaceable> : Listening on port + <entry>Starting : <replaceable>type</replaceable> : Listening on <replaceable>transporttype</replaceable> port <replaceable>port</replaceable> </entry> </row> @@ -450,16 +450,6 @@ <para>Indicates that a Management plugin is stopped.</para> </entry> </row> - <row id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1006"> - <entry morerows="1">MNG-1006</entry> - <entry>Using SSL Keystore : <replaceable>file</replaceable></entry> - </row> - <row> - <entry> - <para>Indicates that a Management transport is secured by SSL and using the given - keystore file.</para> - </entry> - </row> <row id="Java-Broker-Appendix-Operation-Logging-Message-MNG-1007"> <entry morerows="1">MNG-1007</entry> <entry>Open : User <replaceable>username</replaceable></entry> Propchange: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Feb 10 16:15:08 2015 @@ -9,4 +9,4 @@ /qpid/branches/java-network-refactor/qpid/java:805429-821809 /qpid/branches/qpid-2935/qpid/java:1061302-1072333 /qpid/trunk/qpid:796646-796653 -/qpid/trunk/qpid/java:1643238-1655056 +/qpid/trunk/qpid/java:1643238-1658732 Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionFactoryImpl.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionFactoryImpl.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionFactoryImpl.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionFactoryImpl.java Tue Feb 10 16:15:08 2015 @@ -40,6 +40,7 @@ import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManagerFactory; +import org.apache.qpid.amqp_1_0.client.SSLOptions; import org.apache.qpid.amqp_1_0.client.SSLUtil; import org.apache.qpid.amqp_1_0.jms.ConnectionFactory; @@ -66,7 +67,15 @@ public class ConnectionFactoryImpl imple private String _keyStoreCertAlias; private String _trustStorePath; private String _trustStorePassword; + private String _sslContextProtocol; + private String _sslContextProvider; + private String _sslEnabledProtocols; + private String _sslDisabledProtocols; + + + private SSLContext _sslContext; + private SSLOptions _sslOptions; public ConnectionFactoryImpl(final String host, @@ -163,7 +172,10 @@ public class ConnectionFactoryImpl imple KeyManagerFactory.getDefaultAlgorithm(), _trustStorePath,_trustStorePassword, KeyStore.getDefaultType(), - TrustManagerFactory.getDefaultAlgorithm()); + TrustManagerFactory.getDefaultAlgorithm(), + _sslContextProtocol, + _sslContextProvider + ); if(username == null && _keyStoreCertAlias != null) { X509Certificate[] certs = SSLUtil.getClientCertificates(_keyStoreCertAlias, @@ -198,6 +210,7 @@ public class ConnectionFactoryImpl imple connection.setTopicPrefix(_topicPrefix); connection.setUseBinaryMessageId(_useBinaryMessageId); connection.setSyncPublish(_syncPublish); + connection.setSslOptions(_sslOptions); if(_maxPrefetch != 0) { connection.setMaxPrefetch(_maxPrefetch); @@ -220,6 +233,16 @@ public class ConnectionFactoryImpl imple _keyStorePassword = keyStorePassword; } + public void setSslContextProtocol(final String sslContextProtocol) + { + _sslContextProtocol = sslContextProtocol; + } + + public void setSslContextProvider(final String sslContextProvider) + { + _sslContextProvider = sslContextProvider; + } + public void setKeyStoreCertAlias(final String keyStoreCertAlias) { _keyStoreCertAlias = keyStoreCertAlias; @@ -252,6 +275,10 @@ public class ConnectionFactoryImpl imple public String keyStorePath; public String keyStorePassword; public String keyStoreCertAlias; + public String sslContextProvider; + public String sslContextProtocol; + public String sslEnabledProtocols; + public String sslDisabledProtocols; } @@ -388,7 +415,36 @@ public class ConnectionFactoryImpl imple { options.keyStoreCertAlias = value; } + }, + new OptionSetter("ssl-context-provider","") + { + public void setOption(final ConnectionOptions options, final String value) throws MalformedURLException + { + options.sslContextProvider = value; + } + }, + new OptionSetter("ssl-context-protocol","") + { + public void setOption(final ConnectionOptions options, final String value) throws MalformedURLException + { + options.sslContextProtocol = value; + } + }, + new OptionSetter("ssl-enabled-protocols","") + { + public void setOption(final ConnectionOptions options, final String value) throws MalformedURLException + { + options.sslEnabledProtocols = value; + } + }, + new OptionSetter("ssl-disabled-protocols","") + { + public void setOption(final ConnectionOptions options, final String value) throws MalformedURLException + { + options.sslDisabledProtocols = value; + } } + }; public static ConnectionFactoryImpl createFromURL(final String urlString) throws MalformedURLException @@ -496,6 +552,22 @@ public class ConnectionFactoryImpl imple { connectionFactory.setTrustStorePassword(options.trustStorePassword); } + if (options.sslContextProvider != null) + { + connectionFactory.setSslContextProvider(options.sslContextProvider); + } + if (options.sslContextProtocol != null) + { + connectionFactory.setSslContextProtocol(options.sslContextProtocol); + } + if (options.sslEnabledProtocols != null) + { + connectionFactory.setSslEnabledProtocols(options.sslEnabledProtocols); + } + if (options.sslDisabledProtocols != null) + { + connectionFactory.setSslDisabledProtocols(options.sslDisabledProtocols); + } return connectionFactory; @@ -559,5 +631,160 @@ public class ConnectionFactoryImpl imple _syncPublish = syncPublish; } + public String getSslContextProvider() + { + return _sslContextProvider; + } + + public String getSslContextProtocol() + { + return _sslContextProtocol; + } + + public String getTrustStorePassword() + { + return _trustStorePassword; + } + + public String getTrustStorePath() + { + return _trustStorePath; + } + + public String getKeyStoreCertAlias() + { + return _keyStoreCertAlias; + } + + public String getKeyStorePassword() + { + return _keyStorePassword; + } + + public String getKeyStorePath() + { + return _keyStorePath; + } + + public int getMaxPrefetch() + { + return _maxPrefetch; + } + public int getMaxSessions() + { + return _maxSessions; + } + + public Boolean getSyncPublish() + { + return _syncPublish; + } + + public boolean isUseBinaryMessageId() + { + return _useBinaryMessageId; + } + + public boolean isSsl() + { + return _ssl; + } + + public String getRemoteHost() + { + return _remoteHost; + } + + public String getClientId() + { + return _clientId; + } + + public String getPassword() + { + return _password; + } + + public String getUsername() + { + return _username; + } + + public int getPort() + { + return _port; + } + + public String getHost() + { + return _host; + } + + public String getProtocol() + { + return _protocol; + } + + public void setHost(final String host) + { + _host = host; + } + + public void setPort(final int port) + { + _port = port; + } + + public void setUsername(final String username) + { + _username = username; + } + + public void setPassword(final String password) + { + _password = password; + } + + public void setClientId(final String clientId) + { + _clientId = clientId; + } + + public void setRemoteHost(final String remoteHost) + { + _remoteHost = remoteHost; + } + + public void setSsl(final boolean ssl) + { + _ssl = ssl; + } + + public void setMaxSessions(final int maxSessions) + { + _maxSessions = maxSessions; + } + + public String getSslEnabledProtocols() + { + return _sslEnabledProtocols; + } + + public void setSslEnabledProtocols(final String sslEnabledProtocols) + { + _sslEnabledProtocols = sslEnabledProtocols; + _sslOptions = new SSLOptions(_sslEnabledProtocols, _sslDisabledProtocols); + } + + public String getSslDisabledProtocols() + { + return _sslDisabledProtocols; + } + + public void setSslDisabledProtocols(final String sslDisabledProtocols) + { + _sslDisabledProtocols = sslDisabledProtocols; + _sslOptions = new SSLOptions(_sslEnabledProtocols, _sslDisabledProtocols); + } } Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionImpl.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionImpl.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionImpl.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/ConnectionImpl.java Tue Feb 10 16:15:08 2015 @@ -41,6 +41,7 @@ import javax.net.ssl.SSLContext; import org.apache.qpid.amqp_1_0.client.ConnectionErrorException; import org.apache.qpid.amqp_1_0.client.ConnectionException; +import org.apache.qpid.amqp_1_0.client.SSLOptions; import org.apache.qpid.amqp_1_0.jms.Connection; import org.apache.qpid.amqp_1_0.jms.ConnectionMetaData; import org.apache.qpid.amqp_1_0.jms.Session; @@ -77,11 +78,7 @@ public class ConnectionImpl implements C private Boolean _syncPublish; private int _maxSessions; private int _maxPrefetch; - - public void setMaxPrefetch(final int maxPrefetch) - { - _maxPrefetch = maxPrefetch; - } + private SSLOptions _sslOptions; private static enum State { @@ -175,6 +172,7 @@ public class ConnectionImpl implements C { _conn = new org.apache.qpid.amqp_1_0.client.Connection(_protocol, _host, _port, _username, _password, container, _remoteHost, _sslContext, + _sslOptions, _maxSessions - 1); _conn.setConnectionErrorTask(new ConnectionErrorTask()); // TODO - retrieve negotiated AMQP version @@ -674,6 +672,21 @@ public class ConnectionImpl implements C return _syncPublish; } + public void setMaxPrefetch(final int maxPrefetch) + { + _maxPrefetch = maxPrefetch; + } + + public void setSslOptions(final SSLOptions sslOptions) + { + _sslOptions = sslOptions; + } + + public SSLOptions getSslOptions() + { + return _sslOptions; + } + private class ConnectionErrorTask implements Runnable { Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java Tue Feb 10 16:15:08 2015 @@ -33,6 +33,7 @@ import org.eclipse.jetty.websocket.WebSo import org.eclipse.jetty.websocket.WebSocketClientFactory; import org.apache.qpid.amqp_1_0.client.ConnectionException; +import org.apache.qpid.amqp_1_0.client.SSLOptions; import org.apache.qpid.amqp_1_0.client.SSLUtil; import org.apache.qpid.amqp_1_0.client.TransportProvider; import org.apache.qpid.amqp_1_0.codec.FrameWriter; @@ -111,7 +112,9 @@ class WebSocketProvider implements Trans public void connect(final ConnectionEndpoint conn, final String address, final int port, - final SSLContext sslContext, final ExceptionHandler exceptionHandler) throws ConnectionException + final SSLContext sslContext, + final SSLOptions sslOptions, + final ExceptionHandler exceptionHandler) throws ConnectionException { try Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/Connection.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/Connection.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/Connection.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/Connection.java Tue Feb 10 16:15:08 2015 @@ -149,10 +149,26 @@ public class Connection implements Excep final SSLContext sslContext, final int channelMax) throws ConnectionException { + this(protocol, address, port, username, password,container,remoteHost,sslContext, + null, channelMax); + } + + public Connection(final String protocol, + final String address, + final int port, + final String username, + final String password, + final Container container, + final String remoteHost, + final SSLContext sslContext, + final SSLOptions sslOptions, + final int channelMax) throws ConnectionException + { this(protocol, address, port, username, password, MAX_FRAME_SIZE,container,remoteHost,sslContext, - channelMax); + sslOptions, channelMax); } + public Connection(final String address, final int port, final String username, @@ -163,7 +179,11 @@ public class Connection implements Excep boolean ssl, int channelMax) throws ConnectionException { - this(ssl?"amqp":"amqps",address,port,username,password,maxFrameSize,container,remoteHostname,getSslContext(ssl),channelMax); + this(ssl?"amqp":"amqps",address,port,username,password,maxFrameSize,container, + remoteHostname, + getSslContext(ssl), + null, + channelMax); } private static SSLContext getSslContext(final boolean ssl) throws ConnectionException @@ -187,7 +207,7 @@ public class Connection implements Excep final Container container, final String remoteHostname, SSLContext sslContext, - int channelMax) throws ConnectionException + final SSLOptions sslOptions, int channelMax) throws ConnectionException { _address = address; @@ -255,7 +275,7 @@ public class Connection implements Excep TransportProvider transportProvider = getTransportProvider(protocol); - transportProvider.connect(_conn,address,port, sslContext, this); + transportProvider.connect(_conn,address,port, sslContext, sslOptions, this); try Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/SSLUtil.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/SSLUtil.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/SSLUtil.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/SSLUtil.java Tue Feb 10 16:15:08 2015 @@ -27,12 +27,15 @@ import java.io.InputStream; import java.net.Socket; import java.security.GeneralSecurityException; import java.security.KeyStore; +import java.security.NoSuchAlgorithmException; +import java.security.NoSuchProviderException; import java.security.Principal; import java.security.PrivateKey; import java.security.cert.X509Certificate; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.logging.Logger; import javax.net.ssl.KeyManager; import javax.net.ssl.KeyManagerFactory; @@ -48,6 +51,10 @@ public class SSLUtil public static final String TRANSPORT_LAYER_SECURITY_CODE = "TLS"; public static final String SSLV3_PROTOCOL = "SSLv3"; + + private static final Logger LOGGER = Logger.getLogger(SSLUtil.class.getName()); + + public static SSLContext buildSslContext(final String certAlias, final String keyStorePath, final String keyStoreType, @@ -56,11 +63,13 @@ public class SSLUtil final String trustStorePath, final String trustStorePassword, final String trustStoreType, - final String trustManagerFactoryAlgorithm) throws GeneralSecurityException, IOException + final String trustManagerFactoryAlgorithm, + final String sslProtocol, + final String sslProvider) throws GeneralSecurityException, IOException { - final SSLContext sslContext = SSLContext - .getInstance(TRANSPORT_LAYER_SECURITY_CODE); + + SSLContext sslContext = getSslContext(sslProtocol, sslProvider); final TrustManager[] trustManagers; final KeyManager[] keyManagers; @@ -109,6 +118,49 @@ public class SSLUtil return sslContext; } + private static SSLContext getSslContext(final String sslProtocol, + final String sslProvider) throws NoSuchAlgorithmException + { + + final String sslProviderName = sslProvider != null ? sslProvider : System.getProperty("qpid.ssl.contextProvider"); + final String sslProtocolName = sslProtocol != null ? sslProtocol : System.getProperty("qpid.ssl.contextProtocol", TRANSPORT_LAYER_SECURITY_CODE); + + SSLContext sslContext = null; + if(sslProviderName != null && sslProtocolName != null) + { + try + { + sslContext = SSLContext.getInstance(sslProtocolName, sslProviderName); + } + catch(NoSuchProviderException e) + { + LOGGER.info("Unknown SSL Context Provider '"+ sslProviderName + "' will use the default"); + } + catch (NoSuchAlgorithmException e) + { + LOGGER.info("Unknown SSL protocol '" + sslProtocolName + + "' when using the provider '" + sslProviderName + "' will use the default provider"); + } + } + if(sslContext == null && sslProtocolName != null) + { + try + { + sslContext = SSLContext.getInstance(sslProtocolName); + } + catch(NoSuchAlgorithmException e) + { + LOGGER.info("Unknown SSL protocol '" + sslProtocolName + + "' will use '"+TRANSPORT_LAYER_SECURITY_CODE+"'"); + } + } + if(sslContext == null) + { + sslContext = SSLContext.getInstance(TRANSPORT_LAYER_SECURITY_CODE); + } + return sslContext; + } + public static X509Certificate[] getClientCertificates(final String alias, final String keyStorePath, final String keyStorePassword, Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProviderFactory.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProviderFactory.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProviderFactory.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProviderFactory.java Tue Feb 10 16:15:08 2015 @@ -34,6 +34,6 @@ public class TCPTransportProviderFactory @Override public TransportProvider getProvider(final String transport) { - return new TCPTransportProvier(transport); + return new TCPTransportProvider(transport); } } Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TransportProvider.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TransportProvider.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TransportProvider.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TransportProvider.java Tue Feb 10 16:15:08 2015 @@ -31,6 +31,7 @@ public interface TransportProvider String address, int port, SSLContext sslContext, + final SSLOptions sslOptions, ExceptionHandler exceptionHandler) throws ConnectionException; void close(); Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/pom.xml URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/pom.xml?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/pom.xml (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/pom.xml Tue Feb 10 16:15:08 2015 @@ -150,6 +150,9 @@ <testResource> <directory>${basedir}/src/test/resources</directory> </testResource> + <testResource> + <directory>${basedir}/../test-profiles/test_resources/ssl</directory> + </testResource> </testResources> <plugins> Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/BrokerOptions.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/BrokerOptions.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/BrokerOptions.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/BrokerOptions.java Tue Feb 10 16:15:08 2015 @@ -30,7 +30,6 @@ import java.util.concurrent.ConcurrentMa import org.apache.qpid.server.configuration.BrokerProperties; import org.apache.qpid.server.model.ConfiguredObject; import org.apache.qpid.server.model.SystemConfig; -import org.apache.qpid.server.util.StringUtil; public class BrokerOptions { @@ -58,7 +57,6 @@ public class BrokerOptions BrokerOptions.class.getClassLoader().getResource(DEFAULT_INITIAL_CONFIG_NAME).toExternalForm(); public static final String MANAGEMENT_MODE_USER_NAME = "mm_admin"; - private static final int MANAGEMENT_MODE_PASSWORD_LENGTH = 10; private static final File FALLBACK_WORK_DIR = new File(System.getProperty("user.dir"), "work"); @@ -79,7 +77,6 @@ public class BrokerOptions private boolean _skipLoggingConfiguration; private boolean _overwriteConfigurationStore; private Map<String, String> _configProperties = new HashMap<String,String>(); - private String _initialSystemProperties; private boolean _startupLoggedToSystemOut = true; public Map<String, Object> convertToSystemConfigAttributes() @@ -102,11 +99,6 @@ public class BrokerOptions public String getManagementModePassword() { - if(_managementModePassword == null) - { - _managementModePassword = new StringUtil().randomAlphaNumericString(MANAGEMENT_MODE_PASSWORD_LENGTH); - } - return _managementModePassword; } Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/ManagementConsoleMessages.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/ManagementConsoleMessages.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/ManagementConsoleMessages.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/ManagementConsoleMessages.java Tue Feb 10 16:15:08 2015 @@ -46,7 +46,6 @@ public class ManagementConsoleMessages public static final String MANAGEMENTCONSOLE_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "managementconsole"; public static final String OPEN_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "managementconsole.open"; public static final String LISTENING_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "managementconsole.listening"; - public static final String SSL_KEYSTORE_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "managementconsole.ssl_keystore"; public static final String STOPPED_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "managementconsole.stopped"; public static final String CLOSE_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "managementconsole.close"; public static final String SHUTTING_DOWN_LOG_HIERARCHY = DEFAULT_LOG_HIERARCHY_PREFIX + "managementconsole.shutting_down"; @@ -58,7 +57,6 @@ public class ManagementConsoleMessages Logger.getLogger(MANAGEMENTCONSOLE_LOG_HIERARCHY); Logger.getLogger(OPEN_LOG_HIERARCHY); Logger.getLogger(LISTENING_LOG_HIERARCHY); - Logger.getLogger(SSL_KEYSTORE_LOG_HIERARCHY); Logger.getLogger(STOPPED_LOG_HIERARCHY); Logger.getLogger(CLOSE_LOG_HIERARCHY); Logger.getLogger(SHUTTING_DOWN_LOG_HIERARCHY); @@ -102,16 +100,16 @@ public class ManagementConsoleMessages /** * Log a ManagementConsole message of the Format: - * <pre>MNG-1002 : Starting : {0} : Listening on port {1,number,#}</pre> + * <pre>MNG-1002 : Starting : {0} : Listening on {1} port {2,number,#}</pre> * Optional values are contained in [square brackets] and are numbered * sequentially in the method call. * */ - public static LogMessage LISTENING(String param1, Number param2) + public static LogMessage LISTENING(String param1, String param2, Number param3) { String rawMessage = _messages.getString("LISTENING"); - final Object[] messageArguments = {param1, param2}; + final Object[] messageArguments = {param1, param2, param3}; // Create a new MessageFormat to ensure thread safety. // Sharing a MessageFormat and using applyPattern is not thread safe MessageFormat formatter = new MessageFormat(rawMessage, _currentLocale); @@ -131,38 +129,6 @@ public class ManagementConsoleMessages } }; } - - /** - * Log a ManagementConsole message of the Format: - * <pre>MNG-1006 : Using SSL Keystore : {0}</pre> - * Optional values are contained in [square brackets] and are numbered - * sequentially in the method call. - * - */ - public static LogMessage SSL_KEYSTORE(String param1) - { - String rawMessage = _messages.getString("SSL_KEYSTORE"); - - final Object[] messageArguments = {param1}; - // Create a new MessageFormat to ensure thread safety. - // Sharing a MessageFormat and using applyPattern is not thread safe - MessageFormat formatter = new MessageFormat(rawMessage, _currentLocale); - - final String message = formatter.format(messageArguments); - - return new LogMessage() - { - public String toString() - { - return message; - } - - public String getLogHierarchy() - { - return SSL_KEYSTORE_LOG_HIERARCHY; - } - }; - } /** * Log a ManagementConsole message of the Format: Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/ManagementConsole_logmessages.properties URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/ManagementConsole_logmessages.properties?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/ManagementConsole_logmessages.properties (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/ManagementConsole_logmessages.properties Tue Feb 10 16:15:08 2015 @@ -22,7 +22,7 @@ STARTUP = MNG-1001 : {0} Management Startup # 0 - Service # 1 - Port -LISTENING = MNG-1002 : Starting : {0} : Listening on port {1,number,#} +LISTENING = MNG-1002 : Starting : {0} : Listening on {1} port {2,number,#} # 0 - Service # 1 - Port SHUTTING_DOWN = MNG-1003 : Shutting down : {0} : port {1,number,#} @@ -30,8 +30,6 @@ SHUTTING_DOWN = MNG-1003 : Shutting down READY = MNG-1004 : {0} Management Ready # 0 - Management Type STOPPED = MNG-1005 : {0} Management Stopped -# 0 - Path -SSL_KEYSTORE = MNG-1006 : Using SSL Keystore : {0} # 0 - Username OPEN = MNG-1007 : Open : User {0} # 0 - Username Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/BrokerModel.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/BrokerModel.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/BrokerModel.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/BrokerModel.java Tue Feb 10 16:15:08 2015 @@ -42,12 +42,13 @@ public final class BrokerModel extends M * 1.3 Truststore/Keystore type => trustStoreType / type => keyStoreType * 1.4 Separate messageStoreSettings from virtualhost * 2.0 Introduce VirtualHostNode as a child of a Broker instead of VirtualHost - * 2.1 Add VH aliases; + * 3.0 Add VH aliases; * Remove Broker#supportedVirtualHostNodeTypes, #supportedVirtualHostTypes, #supportedAuthenticationProviders, * supportedPreferencesProviderTypes, VH#supportedExchangeTypes, VH#supportedQueueTypes + * Renamed FileTrustStore/FileKeyStore.path => FileTrustStore/FileKeyStore.storeUrl */ - public static final int MODEL_MAJOR_VERSION = 2; - public static final int MODEL_MINOR_VERSION = 1; + public static final int MODEL_MAJOR_VERSION = 3; + public static final int MODEL_MINOR_VERSION = 0; public static final String MODEL_VERSION = MODEL_MAJOR_VERSION + "." + MODEL_MINOR_VERSION; private static final Model MODEL_INSTANCE = new BrokerModel(); private final Map<Class<? extends ConfiguredObject>, Collection<Class<? extends ConfiguredObject>>> _parents = Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredAutomatedAttribute.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredAutomatedAttribute.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredAutomatedAttribute.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredAutomatedAttribute.java Tue Feb 10 16:15:08 2015 @@ -123,6 +123,18 @@ public class ConfiguredAutomatedAttribut return _annotation.persist(); } + @Override + public boolean isOversized() + { + return _annotation.oversize(); + } + + @Override + public String getOversizedAltText() + { + return _annotation.oversizedAltText(); + } + public String getDescription() { return _annotation.description(); Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredDerivedAttribute.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredDerivedAttribute.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredDerivedAttribute.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredDerivedAttribute.java Tue Feb 10 16:15:08 2015 @@ -54,6 +54,19 @@ public class ConfiguredDerivedAttribute< return _annotation.persist(); } + @Override + public boolean isOversized() + { + return _annotation.oversize(); + } + + @Override + public String getOversizedAltText() + { + return ""; + } + + public String getDescription() { return _annotation.description(); Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java Tue Feb 10 16:15:08 2015 @@ -35,6 +35,8 @@ import org.apache.qpid.server.store.Conf */ public interface ConfiguredObject<X extends ConfiguredObject<X>> { + String OVER_SIZED_ATTRIBUTE_ALTERNATIVE_TEXT = "Value is too long to display"; + String ID = "id"; String NAME = "name"; String TYPE = "type"; Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttribute.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttribute.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttribute.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectAttribute.java Tue Feb 10 16:15:08 2015 @@ -43,6 +43,10 @@ public abstract class ConfiguredObjectAt public abstract boolean isPersisted(); + public abstract boolean isOversized(); + + public abstract String getOversizedAltText(); + public abstract String getDescription(); public T convert(final Object value, C object) Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/DerivedAttribute.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/DerivedAttribute.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/DerivedAttribute.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/DerivedAttribute.java Tue Feb 10 16:15:08 2015 @@ -31,5 +31,5 @@ public @interface DerivedAttribute boolean secure() default false; boolean persist() default false; String description() default ""; - + boolean oversize() default false; } Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedAttribute.java Tue Feb 10 16:15:08 2015 @@ -35,4 +35,6 @@ public @interface ManagedAttribute String defaultValue() default ""; String description() default ""; String[] validValues() default {}; + boolean oversize() default false; + String oversizedAltText() default ""; } Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedObject.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedObject.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedObject.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ManagedObject.java Tue Feb 10 16:15:08 2015 @@ -37,4 +37,6 @@ public @interface ManagedObject String type() default ""; String validChildTypes() default ""; boolean register() default true; + String description() default ""; + boolean deprecated() default false; } Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Port.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Port.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Port.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Port.java Tue Feb 10 16:15:08 2015 @@ -60,6 +60,18 @@ public interface Port<X extends Port<X>> @ManagedAttribute Collection<TrustStore> getTrustStores(); + @ManagedContextDefault(name = "qpid.port.enabledCipherSuites" ) + String DEFAULT_ENABLED_CIPHER_SUITES="[]"; + + @ManagedAttribute( defaultValue = "${qpid.port.enabledCipherSuites}") + Collection<String> getEnabledCipherSuites(); + + @ManagedContextDefault(name = "qpid.port.disabledCipherSuites" ) + String DEFAULT_DISABLED_CIPHER_SUITES="[]"; + + @ManagedAttribute( defaultValue = "${qpid.port.disabledCipherSuites}") + Collection<String> getDisabledCipherSuites(); + Collection<Connection> getConnections(); void start(); Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHostNode.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHostNode.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHostNode.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHostNode.java Tue Feb 10 16:15:08 2015 @@ -27,6 +27,11 @@ import org.apache.qpid.server.store.Dura @ManagedObject(category=true, managesChildren=false) public interface VirtualHostNode<X extends VirtualHostNode<X>> extends ConfiguredObject<X> { + String QPID_INITIAL_CONFIG_VIRTUALHOST_CONFIG_VAR = "qpid.initial_config_virtualhost_config"; + @ManagedContextDefault(name = QPID_INITIAL_CONFIG_VIRTUALHOST_CONFIG_VAR) + String DEFAULT_INITIAL_CONFIG_VIRTUALHOST_CONFIG_VAR = "{ \"type\" : \"DERBY\" }"; + + String VIRTUALHOST_INITIAL_CONFIGURATION = "virtualHostInitialConfiguration"; String VIRTUALHOST_BLUEPRINT_CONTEXT_VAR = "virtualhostBlueprint"; Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProvider.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProvider.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProvider.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/FileBasedGroupProvider.java Tue Feb 10 16:15:08 2015 @@ -20,12 +20,13 @@ */ package org.apache.qpid.server.model.adapter; +import org.apache.qpid.server.model.GroupManagingGroupProvider; import org.apache.qpid.server.model.GroupProvider; import org.apache.qpid.server.model.ManagedAttribute; import org.apache.qpid.server.model.ManagedObject; @ManagedObject( category = false, type = "GroupFile" ) -public interface FileBasedGroupProvider<X extends FileBasedGroupProvider<X>> extends GroupProvider<X> +public interface FileBasedGroupProvider<X extends FileBasedGroupProvider<X>> extends GroupProvider<X>, GroupManagingGroupProvider { String PATH="path"; Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java Tue Feb 10 16:15:08 2015 @@ -66,6 +66,12 @@ abstract public class AbstractPort<X ext @ManagedAttributeField private Set<Protocol> _protocols; + @ManagedAttributeField + private Collection<String> _enabledCipherSuites; + + @ManagedAttributeField + private Collection<String> _disabledCipherSuites; + public AbstractPort(Map<String, Object> attributes, Broker<?> broker) { @@ -278,6 +284,18 @@ abstract public class AbstractPort<X ext } @Override + public Collection<String> getEnabledCipherSuites() + { + return _enabledCipherSuites; + } + + @Override + public Collection<String> getDisabledCipherSuites() + { + return _disabledCipherSuites; + } + + @Override public KeyStore getKeyStore() { return _keyStore; Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStore.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStore.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStore.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStore.java Tue Feb 10 16:15:08 2015 @@ -22,6 +22,7 @@ package org.apache.qpid.server.security; import javax.net.ssl.KeyManagerFactory; +import org.apache.qpid.server.model.DerivedAttribute; import org.apache.qpid.server.model.KeyStore; import org.apache.qpid.server.model.ManagedAttribute; import org.apache.qpid.server.model.ManagedContextDefault; @@ -35,7 +36,8 @@ public interface FileKeyStore<X extends String CERTIFICATE_ALIAS = "certificateAlias"; String KEY_STORE_TYPE = "keyStoreType"; String PASSWORD = "password"; - String PATH = "path"; + String STORE_URL = "storeUrl"; + @ManagedContextDefault(name = "keyStoreFile.keyStoreType") RuntimeDefault<String> DEFAULT_KEYSTORE_TYPE = new RuntimeDefault<String>() @@ -60,7 +62,10 @@ public interface FileKeyStore<X extends @ManagedAttribute(defaultValue = "${this:path}") String getDescription(); - @ManagedAttribute( mandatory = true) + @ManagedAttribute( mandatory = true, secure = true, oversize = true, oversizedAltText = OVER_SIZED_ATTRIBUTE_ALTERNATIVE_TEXT) + String getStoreUrl(); + + @DerivedAttribute String getPath(); @ManagedAttribute Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStoreImpl.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStoreImpl.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStoreImpl.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileKeyStoreImpl.java Tue Feb 10 16:15:08 2015 @@ -68,7 +68,8 @@ public class FileKeyStoreImpl extends Ab private String _certificateAlias; @ManagedAttributeField private String _keyManagerFactoryAlgorithm; - @ManagedAttributeField + @ManagedAttributeField(afterSet = "postSetStoreUrl") + private String _storeUrl; private String _path; @ManagedAttributeField private String _password; @@ -162,7 +163,7 @@ public class FileKeyStoreImpl extends Ab java.security.KeyStore keyStore; try { - URL url = getUrlFromString(fileKeyStore.getPath()); + URL url = getUrlFromString(fileKeyStore.getStoreUrl()); String password = fileKeyStore.getPassword(); String keyStoreType = fileKeyStore.getKeyStoreType(); keyStore = SSLUtil.getInitializedKeyStore(url, password, keyStoreType); @@ -173,11 +174,11 @@ public class FileKeyStoreImpl extends Ab final String message; if (e instanceof IOException && e.getCause() != null && e.getCause() instanceof UnrecoverableKeyException) { - message = "Check key store password. Cannot instantiate key store from '" + fileKeyStore.getPath() + "'."; + message = "Check key store password. Cannot instantiate key store from '" + fileKeyStore.getStoreUrl() + "'."; } else { - message = "Cannot instantiate key store from '" + fileKeyStore.getPath() + "'."; + message = "Cannot instantiate key store from '" + fileKeyStore.getStoreUrl() + "'."; } throw new IllegalConfigurationException(message, e); @@ -198,7 +199,7 @@ public class FileKeyStoreImpl extends Ab if (cert == null) { throw new IllegalConfigurationException("Cannot find a certificate with alias '" + fileKeyStore.getCertificateAlias() - + "' in key store : " + fileKeyStore.getPath()); + + "' in key store : " + fileKeyStore.getStoreUrl()); } } @@ -219,6 +220,12 @@ public class FileKeyStoreImpl extends Ab } @Override + public String getStoreUrl() + { + return _storeUrl; + } + + @Override public String getPath() { return _path; @@ -258,7 +265,7 @@ public class FileKeyStoreImpl extends Ab try { - URL url = getUrlFromString(_path); + URL url = getUrlFromString(_storeUrl); if (_certificateAlias != null) { return new KeyManager[] { @@ -301,4 +308,17 @@ public class FileKeyStoreImpl extends Ab } return url; } + + @SuppressWarnings(value = "unused") + private void postSetStoreUrl() + { + if (_storeUrl != null && !_storeUrl.startsWith("data:")) + { + _path = _storeUrl; + } + else + { + _path = null; + } + } } Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStore.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStore.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStore.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStore.java Tue Feb 10 16:15:08 2015 @@ -22,6 +22,7 @@ package org.apache.qpid.server.security; import javax.net.ssl.KeyManagerFactory; +import org.apache.qpid.server.model.DerivedAttribute; import org.apache.qpid.server.model.ManagedAttribute; import org.apache.qpid.server.model.ManagedContextDefault; import org.apache.qpid.server.model.ManagedObject; @@ -35,7 +36,7 @@ public interface FileTrustStore<X extend String PEERS_ONLY = "peersOnly"; String TRUST_STORE_TYPE = "trustStoreType"; String PASSWORD = "password"; - String PATH = "path"; + String STORE_URL = "storeUrl"; @ManagedContextDefault(name = "trustStoreFile.trustStoreType") RuntimeDefault<String> DEFAULT_TRUSTSTORE_TYPE = new RuntimeDefault<String>() @@ -58,10 +59,13 @@ public interface FileTrustStore<X extend }; - @ManagedAttribute(defaultValue = "${this:path}") + @ManagedAttribute(defaultValue = "${this:storeUrl}") String getDescription(); - @ManagedAttribute( mandatory = true ) + @ManagedAttribute( mandatory = true, oversize = true, oversizedAltText = OVER_SIZED_ATTRIBUTE_ALTERNATIVE_TEXT) + String getStoreUrl(); + + @DerivedAttribute String getPath(); @ManagedAttribute( defaultValue = "${trustStoreFile.trustManagerFactoryAlgorithm}") Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStoreImpl.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStoreImpl.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStoreImpl.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/FileTrustStoreImpl.java Tue Feb 10 16:15:08 2015 @@ -64,7 +64,8 @@ public class FileTrustStoreImpl extends private String _trustStoreType; @ManagedAttributeField private String _trustManagerFactoryAlgorithm; - @ManagedAttributeField + @ManagedAttributeField(afterSet = "postSetStoreUrl") + private String _storeUrl; private String _path; @ManagedAttributeField private boolean _peersOnly; @@ -193,7 +194,7 @@ public class FileTrustStoreImpl extends { try { - URL trustStoreUrl = getUrlFromString(trustStore.getPath()); + URL trustStoreUrl = getUrlFromString(trustStore.getStoreUrl()); SSLUtil.getInitializedKeyStore(trustStoreUrl, trustStore.getPassword(), trustStore.getTrustStoreType()); } catch (Exception e) @@ -201,11 +202,11 @@ public class FileTrustStoreImpl extends final String message; if (e instanceof IOException && e.getCause() != null && e.getCause() instanceof UnrecoverableKeyException) { - message = "Check trust store password. Cannot instantiate trust store from '" + trustStore.getPath() + "'."; + message = "Check trust store password. Cannot instantiate trust store from '" + trustStore.getStoreUrl() + "'."; } else { - message = "Cannot instantiate trust store from '" + trustStore.getPath() + "'."; + message = "Cannot instantiate trust store from '" + trustStore.getStoreUrl() + "'."; } throw new IllegalConfigurationException(message, e); @@ -222,6 +223,12 @@ public class FileTrustStoreImpl extends } @Override + public String getStoreUrl() + { + return _storeUrl; + } + + @Override public String getPath() { return _path; @@ -263,7 +270,7 @@ public class FileTrustStoreImpl extends try { - URL trustStoreUrl = getUrlFromString(_path); + URL trustStoreUrl = getUrlFromString(_storeUrl); KeyStore ts = SSLUtil.getInitializedKeyStore(trustStoreUrl, trustStorePassword, trustStoreType); final TrustManagerFactory tmf = TrustManagerFactory @@ -328,4 +335,16 @@ public class FileTrustStoreImpl extends return url; } + @SuppressWarnings(value = "unused") + private void postSetStoreUrl() + { + if (_storeUrl != null && !_storeUrl.startsWith("data:")) + { + _path = _storeUrl; + } + else + { + _path = null; + } + } } Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaKeyStore.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaKeyStore.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaKeyStore.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaKeyStore.java Tue Feb 10 16:15:08 2015 @@ -31,13 +31,13 @@ public interface NonJavaKeyStore<X exten @ManagedAttribute(defaultValue = "${this:subjectName}") String getDescription(); - @ManagedAttribute( mandatory = true, secure = true ) + @ManagedAttribute( mandatory = true, secure = true, oversize = true, oversizedAltText = OVER_SIZED_ATTRIBUTE_ALTERNATIVE_TEXT ) String getPrivateKeyUrl(); - @ManagedAttribute( mandatory = true ) + @ManagedAttribute( mandatory = true, oversize = true, oversizedAltText = OVER_SIZED_ATTRIBUTE_ALTERNATIVE_TEXT ) String getCertificateUrl(); - @ManagedAttribute + @ManagedAttribute( oversize = true, oversizedAltText = OVER_SIZED_ATTRIBUTE_ALTERNATIVE_TEXT ) String getIntermediateCertificateUrl(); @DerivedAttribute Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaKeyStoreImpl.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaKeyStoreImpl.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaKeyStoreImpl.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaKeyStoreImpl.java Tue Feb 10 16:15:08 2015 @@ -248,16 +248,16 @@ public class NonJavaKeyStoreImpl extends { try { - getUrlFromString(keyStore.getPrivateKeyUrl()).openStream(); - getUrlFromString(keyStore.getCertificateUrl()).openStream(); + readPrivateKey(getUrlFromString(keyStore.getPrivateKeyUrl())); + readCertificates(getUrlFromString(keyStore.getCertificateUrl())); if(keyStore.getIntermediateCertificateUrl() != null) { - getUrlFromString(keyStore.getIntermediateCertificateUrl()).openStream(); + readCertificates(getUrlFromString(keyStore.getIntermediateCertificateUrl())); } } - catch (IOException e) + catch (IOException | GeneralSecurityException e ) { - throw new IllegalArgumentException(e); + throw new IllegalConfigurationException("Cannot validate private key or certificate(s):" + e, e); } } @@ -296,8 +296,7 @@ public class NonJavaKeyStoreImpl extends } catch (IOException | GeneralSecurityException e) { - LOGGER.error("Error attempting to create KeyStore from private key and certificates", e); - _keyManagers = new KeyManager[0]; + throw new IllegalConfigurationException("Cannot load private key or certificate(s): " + e, e); } } Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaTrustStore.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaTrustStore.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaTrustStore.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaTrustStore.java Tue Feb 10 16:15:08 2015 @@ -34,7 +34,7 @@ public interface NonJavaTrustStore<X ext @ManagedAttribute(defaultValue = "${this:certificateDetails}") String getDescription(); - @ManagedAttribute( mandatory = true ) + @ManagedAttribute( mandatory = true, oversize = true, oversizedAltText = OVER_SIZED_ATTRIBUTE_ALTERNATIVE_TEXT ) String getCertificatesUrl(); enum CertificateDetails Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaTrustStoreImpl.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaTrustStoreImpl.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaTrustStoreImpl.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/NonJavaTrustStoreImpl.java Tue Feb 10 16:15:08 2015 @@ -261,11 +261,11 @@ public class NonJavaTrustStoreImpl { try { - getUrlFromString(keyStore.getCertificatesUrl()).openStream(); + readCertificates(getUrlFromString(keyStore.getCertificatesUrl())); } - catch (IOException e) + catch (IOException | GeneralSecurityException e) { - throw new IllegalArgumentException(e); + throw new IllegalArgumentException("Cannot validate certificate(s):" + e, e); } } @@ -297,8 +297,7 @@ public class NonJavaTrustStoreImpl } catch (IOException | GeneralSecurityException e) { - LOGGER.error("Error attempting to create KeyStore from private key and certificates", e); - _trustManagers = new TrustManager[0]; + throw new IllegalConfigurationException("Cannot load certificate(s) :" + e, e); } } Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/group/GroupProviderImpl.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/group/GroupProviderImpl.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/group/GroupProviderImpl.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/group/GroupProviderImpl.java Tue Feb 10 16:15:08 2015 @@ -30,6 +30,7 @@ import org.apache.qpid.server.model.Abst import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.ConfiguredObject; import org.apache.qpid.server.model.Group; +import org.apache.qpid.server.model.GroupManagingGroupProvider; import org.apache.qpid.server.model.GroupMember; import org.apache.qpid.server.model.GroupProvider; import org.apache.qpid.server.model.ManagedObject; @@ -38,7 +39,7 @@ import org.apache.qpid.server.model.Stat import org.apache.qpid.server.model.StateTransition; @ManagedObject(category = false, type = GroupProviderImpl.CONFIG_TYPE) -public class GroupProviderImpl extends AbstractConfiguredObject<GroupProviderImpl> implements GroupProvider<GroupProviderImpl> +public class GroupProviderImpl extends AbstractConfiguredObject<GroupProviderImpl> implements GroupProvider<GroupProviderImpl>, GroupManagingGroupProvider { public static final String CONFIG_TYPE = "ManagedGroupProvider"; Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecoverer.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecoverer.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecoverer.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecoverer.java Tue Feb 10 16:15:08 2015 @@ -54,7 +54,7 @@ public class BrokerStoreUpgraderAndRecov register(new Upgrader_1_1_to_1_2()); register(new Upgrader_1_2_to_1_3()); register(new Upgrader_1_3_to_2_0()); - register(new Upgrader_2_0_to_2_1()); + register(new Upgrader_2_0_to_3_0()); } private void register(StoreUpgraderPhase upgrader) @@ -217,11 +217,11 @@ public class BrokerStoreUpgraderAndRecov } } - private class Upgrader_2_0_to_2_1 extends StoreUpgraderPhase + private class Upgrader_2_0_to_3_0 extends StoreUpgraderPhase { - public Upgrader_2_0_to_2_1() + public Upgrader_2_0_to_3_0() { - super("modelVersion", "2.0", "2.1"); + super("modelVersion", "2.0", "3.0"); } @Override @@ -245,10 +245,31 @@ public class BrokerStoreUpgraderAndRecov { record = upgradeRootRecord(record); } + else if("KeyStore".equals(record.getType())) + { + record = upgradeKeyStoreRecordIfTypeTheSame(record, "FileKeyStore"); + } + else if("TrustStore".equals(record.getType())) + { + record = upgradeKeyStoreRecordIfTypeTheSame(record, "FileTrustStore"); + } getNextUpgrader().configuredObject(record); } + private ConfiguredObjectRecord upgradeKeyStoreRecordIfTypeTheSame(ConfiguredObjectRecord record, String expectedType) + { + Map<String, Object> attributes = new HashMap<>(record.getAttributes()); + if (expectedType.equals(attributes.get("type"))) + { + Object path = attributes.remove("path"); + attributes.put("storeUrl", path); + record = new ConfiguredObjectRecordImpl(record.getId(), record.getType(), attributes, record.getParents()); + getUpdateMap().put(record.getId(), record); + } + return record; + } + private boolean isAmqpPort(final Map<String, Object> attributes) { Object type = attributes.get(ConfiguredObject.TYPE); Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/VirtualHostStoreUpgraderAndRecoverer.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/VirtualHostStoreUpgraderAndRecoverer.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/VirtualHostStoreUpgraderAndRecoverer.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/VirtualHostStoreUpgraderAndRecoverer.java Tue Feb 10 16:15:08 2015 @@ -63,7 +63,7 @@ public class VirtualHostStoreUpgraderAnd register(new Upgrader_0_2_to_0_3()); register(new Upgrader_0_3_to_0_4()); register(new Upgrader_0_4_to_2_0()); - register(new Upgrader_2_0_to_2_1()); + register(new Upgrader_2_0_to_3_0()); Map<String, UUID> defaultExchangeIds = new HashMap<String, UUID>(); for (String exchangeName : DEFAULT_EXCHANGES.keySet()) @@ -483,11 +483,11 @@ public class VirtualHostStoreUpgraderAnd } - private class Upgrader_2_0_to_2_1 extends StoreUpgraderPhase + private class Upgrader_2_0_to_3_0 extends StoreUpgraderPhase { - public Upgrader_2_0_to_2_1() + public Upgrader_2_0_to_3_0() { - super("modelVersion", "2.0", "2.1"); + super("modelVersion", "2.0", "3.0"); } @Override Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/TCPandSSLTransport.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/TCPandSSLTransport.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/TCPandSSLTransport.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/TCPandSSLTransport.java Tue Feb 10 16:15:08 2015 @@ -24,6 +24,7 @@ import static org.apache.qpid.transport. import java.net.InetSocketAddress; import java.util.EnumSet; +import java.util.Collection; import java.util.Set; import javax.net.ssl.SSLContext; @@ -124,25 +125,37 @@ class TCPandSSLTransport implements Acce } @Override + public Collection<String> getEnabledCipherSuites() + { + return _port.getEnabledCipherSuites(); + } + + @Override + public Collection<String> getDisabledCipherSuites() + { + return _port.getDisabledCipherSuites(); + } + + @Override public boolean needClientAuth() { return _port.getNeedClientAuth(); } @Override - public Boolean getTcpNoDelay() + public boolean getTcpNoDelay() { return _port.isTcpNoDelay(); } @Override - public Integer getSendBufferSize() + public int getSendBufferSize() { return _port.getSendBufferSize(); } @Override - public Integer getReceiveBufferSize() + public int getReceiveBufferSize() { return _port.getReceiveBufferSize(); } Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/resources/initial-config.json URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/resources/initial-config.json?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/resources/initial-config.json (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/resources/initial-config.json Tue Feb 10 16:15:08 2015 @@ -20,7 +20,7 @@ */ { "name": "${broker.name}", - "modelVersion": "2.1", + "modelVersion": "3.0", "defaultVirtualHost" : "default", "authenticationproviders" : [ { "name" : "passwordFile", @@ -65,7 +65,7 @@ "virtualhostnodes" : [ { "name" : "default", "type" : "JSON", - "virtualHostInitialConfiguration" : "{ \"type\" : \"DERBY\" }" + "virtualHostInitialConfiguration" : "${qpid.initial_config_virtualhost_config}" } ], "plugins" : [ { "type" : "MANAGEMENT-HTTP", Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/resources/system.properties URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/resources/system.properties?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/resources/system.properties (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/main/resources/system.properties Tue Feb 10 16:15:08 2015 @@ -17,4 +17,4 @@ # under the License. # -qpid.helpURL = http://qpid.apache.org/releases/qpid-${project.version}/java-broker/book + Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/logging/messages/ManagementConsoleMessagesTest.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/logging/messages/ManagementConsoleMessagesTest.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/logging/messages/ManagementConsoleMessagesTest.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/logging/messages/ManagementConsoleMessagesTest.java Tue Feb 10 16:15:08 2015 @@ -22,6 +22,8 @@ package org.apache.qpid.server.logging.m import java.util.List; +import org.apache.qpid.server.model.Transport; + /** * Test MNG Log Messages */ @@ -39,13 +41,13 @@ public class ManagementConsoleMessagesTe public void testManagementListening() { - String transport = "JMX"; + String management = "JMX"; Integer port = 8889; - _logMessage = ManagementConsoleMessages.LISTENING(transport, port); + _logMessage = ManagementConsoleMessages.LISTENING(management, Transport.TCP.name(), port); List<Object> log = performLog(); - String[] expected = {"Starting :", transport, ": Listening on port", String.valueOf(port)}; + String[] expected = {"Starting :", management, ": Listening on ", Transport.TCP.name(), " port", String.valueOf(port)}; validateLogMessage(log, "MNG-1002", expected); } @@ -83,16 +85,5 @@ public class ManagementConsoleMessagesTe validateLogMessage(log, "MNG-1005", expected); } - public void testManagementSSLKeyStore() - { - String path = "/path/to/the/keystore/files.jks"; - - _logMessage = ManagementConsoleMessages.SSL_KEYSTORE(path); - List<Object> log = performLog(); - - String[] expected = {"Using SSL Keystore :", path}; - - validateLogMessage(log, "MNG-1006", expected); - } } Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/FileKeyStoreTest.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/FileKeyStoreTest.java?rev=1658748&r1=1658747&r2=1658748&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/FileKeyStoreTest.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/FileKeyStoreTest.java Tue Feb 10 16:15:08 2015 @@ -69,7 +69,7 @@ public class FileKeyStoreTest extends Qp { Map<String,Object> attributes = new HashMap<>(); attributes.put(FileKeyStore.NAME, "myFileKeyStore"); - attributes.put(FileKeyStore.PATH, TestSSLConstants.BROKER_KEYSTORE); + attributes.put(FileKeyStore.STORE_URL, TestSSLConstants.BROKER_KEYSTORE); attributes.put(FileKeyStore.PASSWORD, TestSSLConstants.BROKER_KEYSTORE_PASSWORD); FileKeyStoreImpl fileKeyStore = (FileKeyStoreImpl) _factory.create(KeyStore.class, attributes, _broker); @@ -84,7 +84,7 @@ public class FileKeyStoreTest extends Qp { Map<String,Object> attributes = new HashMap<>(); attributes.put(FileKeyStore.NAME, "myFileKeyStore"); - attributes.put(FileKeyStore.PATH, TestSSLConstants.BROKER_KEYSTORE); + attributes.put(FileKeyStore.STORE_URL, TestSSLConstants.BROKER_KEYSTORE); attributes.put(FileKeyStore.PASSWORD, TestSSLConstants.BROKER_KEYSTORE_PASSWORD); attributes.put(FileKeyStore.CERTIFICATE_ALIAS, TestSSLConstants.BROKER_KEYSTORE_ALIAS); @@ -100,7 +100,7 @@ public class FileKeyStoreTest extends Qp { Map<String,Object> attributes = new HashMap<>(); attributes.put(FileKeyStore.NAME, "myFileKeyStore"); - attributes.put(FileKeyStore.PATH, TestSSLConstants.BROKER_KEYSTORE); + attributes.put(FileKeyStore.STORE_URL, TestSSLConstants.BROKER_KEYSTORE); attributes.put(FileKeyStore.PASSWORD, "wrong"); try @@ -119,7 +119,7 @@ public class FileKeyStoreTest extends Qp { Map<String,Object> attributes = new HashMap<>(); attributes.put(FileKeyStore.NAME, "myFileKeyStore"); - attributes.put(FileKeyStore.PATH, TestSSLConstants.KEYSTORE); + attributes.put(FileKeyStore.STORE_URL, TestSSLConstants.KEYSTORE); attributes.put(FileKeyStore.PASSWORD, TestSSLConstants.KEYSTORE_PASSWORD); attributes.put(FileKeyStore.CERTIFICATE_ALIAS, "notknown"); @@ -141,7 +141,7 @@ public class FileKeyStoreTest extends Qp Map<String,Object> attributes = new HashMap<>(); attributes.put(FileKeyStore.NAME, "myFileKeyStore"); - attributes.put(FileKeyStore.PATH, trustStoreAsDataUrl); + attributes.put(FileKeyStore.STORE_URL, trustStoreAsDataUrl); attributes.put(FileKeyStore.PASSWORD, TestSSLConstants.BROKER_KEYSTORE_PASSWORD); FileKeyStoreImpl fileKeyStore = (FileKeyStoreImpl) _factory.create(KeyStore.class, attributes, _broker); @@ -158,7 +158,7 @@ public class FileKeyStoreTest extends Qp Map<String,Object> attributes = new HashMap<>(); attributes.put(FileKeyStore.NAME, "myFileKeyStore"); - attributes.put(FileKeyStore.PATH, trustStoreAsDataUrl); + attributes.put(FileKeyStore.STORE_URL, trustStoreAsDataUrl); attributes.put(FileKeyStore.PASSWORD, TestSSLConstants.BROKER_KEYSTORE_PASSWORD); attributes.put(FileKeyStore.CERTIFICATE_ALIAS, TestSSLConstants.BROKER_KEYSTORE_ALIAS); @@ -177,7 +177,7 @@ public class FileKeyStoreTest extends Qp Map<String,Object> attributes = new HashMap<>(); attributes.put(FileKeyStore.NAME, "myFileKeyStore"); attributes.put(FileKeyStore.PASSWORD, "wrong"); - attributes.put(FileKeyStore.PATH, keyStoreAsDataUrl); + attributes.put(FileKeyStore.STORE_URL, keyStoreAsDataUrl); try { @@ -198,7 +198,7 @@ public class FileKeyStoreTest extends Qp Map<String,Object> attributes = new HashMap<>(); attributes.put(FileKeyStore.NAME, "myFileKeyStore"); attributes.put(FileKeyStore.PASSWORD, TestSSLConstants.BROKER_KEYSTORE_PASSWORD); - attributes.put(FileKeyStore.PATH, keyStoreAsDataUrl); + attributes.put(FileKeyStore.STORE_URL, keyStoreAsDataUrl); try { @@ -220,7 +220,7 @@ public class FileKeyStoreTest extends Qp Map<String,Object> attributes = new HashMap<>(); attributes.put(FileKeyStore.NAME, "myFileKeyStore"); attributes.put(FileKeyStore.PASSWORD, TestSSLConstants.BROKER_KEYSTORE_PASSWORD); - attributes.put(FileKeyStore.PATH, keyStoreAsDataUrl); + attributes.put(FileKeyStore.STORE_URL, keyStoreAsDataUrl); attributes.put(FileKeyStore.CERTIFICATE_ALIAS, "notknown"); try @@ -242,7 +242,7 @@ public class FileKeyStoreTest extends Qp Map<String,Object> attributes = new HashMap<>(); attributes.put(FileKeyStore.NAME, "myFileKeyStore"); - attributes.put(FileKeyStore.PATH, TestSSLConstants.BROKER_KEYSTORE); + attributes.put(FileKeyStore.STORE_URL, TestSSLConstants.BROKER_KEYSTORE); attributes.put(FileKeyStore.PASSWORD, TestSSLConstants.BROKER_KEYSTORE_PASSWORD); FileKeyStoreImpl fileKeyStore = (FileKeyStoreImpl) _factory.create(KeyStore.class, attributes, _broker); @@ -283,7 +283,7 @@ public class FileKeyStoreTest extends Qp Map<String,Object> attributes = new HashMap<>(); attributes.put(FileKeyStore.NAME, "myFileKeyStore"); - attributes.put(FileKeyStore.PATH, TestSSLConstants.BROKER_KEYSTORE); + attributes.put(FileKeyStore.STORE_URL, TestSSLConstants.BROKER_KEYSTORE); attributes.put(FileKeyStore.PASSWORD, TestSSLConstants.BROKER_KEYSTORE_PASSWORD); FileKeyStoreImpl fileKeyStore = (FileKeyStoreImpl) _factory.create(KeyStore.class, attributes, _broker); @@ -299,7 +299,7 @@ public class FileKeyStoreTest extends Qp Map<String,Object> attributes = new HashMap<>(); attributes.put(FileKeyStore.NAME, "myFileKeyStore"); - attributes.put(FileKeyStore.PATH, TestSSLConstants.BROKER_KEYSTORE); + attributes.put(FileKeyStore.STORE_URL, TestSSLConstants.BROKER_KEYSTORE); attributes.put(FileKeyStore.PASSWORD, TestSSLConstants.BROKER_KEYSTORE_PASSWORD); FileKeyStoreImpl fileKeyStore = (FileKeyStoreImpl) _factory.create(KeyStore.class, attributes, _broker); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org