Author: rgodfrey
Date: Fri Oct 17 13:58:04 2014
New Revision: 1632579

URL: http://svn.apache.org/r1632579
Log:
merged from trunk

Added:
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/DefaultVirtualHostAlias.java
      - copied unchanged from r1632578, 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/DefaultVirtualHostAlias.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/FixedVirtualHostNodeAlias.java
      - copied unchanged from r1632578, 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/FixedVirtualHostNodeAlias.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/HostNameAlias.java
      - copied unchanged from r1632578, 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/HostNameAlias.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/PatternMatchingAlias.java
      - copied unchanged from r1632578, 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/PatternMatchingAlias.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHostNameAlias.java
      - copied unchanged from r1632578, 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHostNameAlias.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ConfigModelPasswordManagingAuthenticationProvider.java
      - copied unchanged from r1632578, 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ConfigModelPasswordManagingAuthenticationProvider.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/MD5AuthenticationProvider.java
      - copied unchanged from r1632578, 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/MD5AuthenticationProvider.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ManagedUser.java
      - copied unchanged from r1632578, 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ManagedUser.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PlainAuthenticationProvider.java
      - copied unchanged from r1632578, 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PlainAuthenticationProvider.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostalias/
      - copied from r1632578, 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostalias/
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/MD5AuthenticationManagerTest.java
      - copied unchanged from r1632578, 
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/MD5AuthenticationManagerTest.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/ManagedAuthenticationManagerTestBase.java
      - copied unchanged from r1632578, 
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/ManagedAuthenticationManagerTestBase.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/PlainAuthenticationManagerTest.java
      - copied unchanged from r1632578, 
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/PlainAuthenticationManagerTest.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/test/java/org/apache/qpid/server/transport/
      - copied from r1632578, 
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/transport/
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/test/java/org/apache/qpid/server/virtualhostalias/
      - copied from r1632578, 
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhostalias/
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/tools/src/main/java/org/apache/qpid/tools/StressTestClient.java
      - copied unchanged from r1632578, 
qpid/trunk/qpid/java/tools/src/main/java/org/apache/qpid/tools/StressTestClient.java
    qpid/branches/QPID-6125-ProtocolRefactoring/java/tools/src/main/resources/
      - copied from r1632578, qpid/trunk/qpid/java/tools/src/main/resources/
Removed:
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAliasAdapter.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/ScramAuthUser.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/tools/security/Passwd.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/test/java/org/apache/qpid/tools/security/PasswdTest.java
    qpid/branches/QPID-6125-ProtocolRefactoring/java/broker/bin/qpid-passwd
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/systests/src/test/java/org/apache/qpid/scripts/QpidPasswdTest.java
Modified:
    qpid/branches/QPID-6125-ProtocolRefactoring/java/   (props changed)
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/SSLUtil.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvier.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/framing/FrameHandler.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhostnode/bdb_ha/show.js
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/edit.html
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostNodeRestTest.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostRestTest.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/JMXManagementTest.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/MultiNodeTest.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/TwoNodeTest.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/Broker.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/StoreConfigurationChangeListener.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/BrokerMessages.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Broker_logmessages.properties
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/AuthenticationProvider.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/BrokerModel.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/BrokerShutdownProvider.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/Port.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHostAlias.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPort.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPortImpl.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngine.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/security/SubjectCreator.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractScramAuthenticationManager.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/store/BrokerStoreUpgraderAndRecoverer.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/store/ConfiguredObjectRecordConverter.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/store/ConfiguredObjectRecordImpl.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/store/JsonFileConfigStore.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/store/VirtualHostStoreUpgraderAndRecoverer.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/transport/TCPandSSLTransport.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/transport/TCPandSSLTransportProvider.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/transport/TransportProvider.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractVirtualHostNode.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/resources/initial-config.json
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/StoreConfigurationChangeListenerTest.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/test/java/org/apache/qpid/server/model/AbstractConfiguredObjectTest.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestChildCategory.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestRootCategory.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/test/java/org/apache/qpid/server/security/SubjectCreatorTest.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/ScramSHA1AuthenticationManagerTest.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/sasl/CRAMMD5HexInitialiserTest.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/test/java/org/apache/qpid/server/store/BrokerRecovererTest.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Connection_1_0.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbyUtils.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverter.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/QpidSslRMIServerSocketFactory.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-plugins/websocket/src/main/java/org/apache/qpid/server/transport/websocket/WebSocketProvider.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-plugins/websocket/src/main/java/org/apache/qpid/server/transport/websocket/WebSocketTransportProvider.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker/src/main/java/org/apache/qpid/server/Main.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/common/src/main/java/org/apache/qpid/configuration/ClientProperties.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/common/src/main/java/org/apache/qpid/transport/network/IncomingNetworkTransport.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/common/src/main/java/org/apache/qpid/transport/network/io/IoNetworkTransport.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/common/src/main/java/org/apache/qpid/transport/network/security/SecurityLayerFactory.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLUtil.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/common/src/test/java/org/apache/qpid/transport/network/TransportTest.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/perftests/etc/chartdefs/1001-MessageSize-Transient-ByteSec.chartdef
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/perftests/etc/chartdefs/1002-MessageSize-Persistent-ByteSec.chartdef
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/perftests/etc/chartdefs/1003-MessageSize-Transient-MsgSec.chartdef
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/perftests/etc/chartdefs/1004-MessageSize-Persistent-MsgSec.chartdef
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/perftests/etc/chartdefs/1011-VaryingNumberOfProducers-AutoAck.chartdef
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/perftests/etc/chartdefs/1012-VaryingNumberOfConsumers-AutoAck.chartdef
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/perftests/etc/chartdefs/1015-VaryingNumberOfProducers-SessionTrans.chartdef
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/perftests/etc/chartdefs/1016-VaryingNumberOfConsumers-SessionTrans.chartdef
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/perftests/etc/chartdefs/1021-AcknowledgementModes-Persistent.chartdef
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/perftests/etc/chartdefs/1022-AcknowledgementModes-Transient.chartdef
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/perftests/etc/chartdefs/1030-BatchSize-Equal.chartdef
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/perftests/etc/chartdefs/1031-BatchSize-Unequal.chartdef
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/perftests/etc/chartdefs/1040-QueueTypes.chartdef
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/perftests/etc/chartdefs/1050-VaryingNumberOfProducerSessionsSingleConnection.chartdef
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/perftests/etc/chartdefs/1300-QueueConsumersWithNonOverlappingSelectors-Transient.chartdef
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/perftests/etc/chartdefs/1301-QueueConsumersWithNonOverlappingSelectors-Persistent.chartdef
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/perftests/etc/chartdefs/1302-QueueConsumersWithOverlappingSelectors-Transient.chartdef
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/perftests/etc/chartdefs/1303-QueueConsumersWithOverlappingSelectors-Persistent.chartdef
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/perftests/etc/chartdefs/1500-Topic-NumberOfConsumers.chartdef
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/perftests/etc/chartdefs/1501-Topic-NumberOfTopics.chartdef
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/perftests/etc/chartdefs/1502-Topic-Persistence.chartdef
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/perftests/etc/chartdefs/1503-Topic-AckModes.chartdef
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/perftests/etc/chartdefs/2001-Latency-MessageSize-Transient.chartdef
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/perftests/etc/chartdefs/2002-Latency-MessageSize-Persistent.chartdef
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/perftests/etc/chartdefs/2031-Latency-VaryingNumberOfParticipants.chartdef
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/perftests/etc/testdefs/QueueTypes.json
    qpid/branches/QPID-6125-ProtocolRefactoring/java/perftests/pom.xml
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/systests/etc/config-systests.json
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
   (contents, props changed)
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/systests/src/main/java/org/apache/qpid/test/utils/TestBrokerConfiguration.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/systests/src/test/java/org/apache/qpid/client/ssl/SSLTest.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/systests/src/test/java/org/apache/qpid/server/security/auth/manager/ExternalAuthenticationTest.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/systests/src/test/java/org/apache/qpid/server/security/auth/manager/MultipleAuthenticationManagersTest.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/systests/src/test/java/org/apache/qpid/systest/management/jmx/UserManagementTest.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/systests/src/test/java/org/apache/qpid/systest/management/jmx/UserManagementWithBase64MD5PasswordsTest.java
    
qpid/branches/QPID-6125-ProtocolRefactoring/java/systests/src/test/java/org/apache/qpid/systest/rest/SaslRestTest.java
    qpid/branches/QPID-6125-ProtocolRefactoring/java/tools/pom.xml

Propchange: qpid/branches/QPID-6125-ProtocolRefactoring/java/
------------------------------------------------------------------------------
  Merged /qpid/trunk/qpid/java:r1631345-1632578

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/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-6125-ProtocolRefactoring/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java
 Fri Oct 17 13:58:04 2014
@@ -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.SSLUtil;
 import org.apache.qpid.amqp_1_0.client.TransportProvider;
 import org.apache.qpid.amqp_1_0.codec.FrameWriter;
 import org.apache.qpid.amqp_1_0.framing.AMQFrame;
@@ -71,7 +72,7 @@ class WebSocketProvider implements Trans
 
 
             sslContextFactory.setSslContext(context);
-
+            sslContextFactory.addExcludeProtocols(SSLUtil.SSLV3_PROTOCOL);
             factory.start();
 
             return factory;

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/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-6125-ProtocolRefactoring/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/SSLUtil.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/SSLUtil.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/SSLUtil.java
 Fri Oct 17 13:58:04 2014
@@ -20,13 +20,6 @@
  */
 package org.apache.qpid.amqp_1_0.client;
 
-import javax.net.ssl.KeyManager;
-import javax.net.ssl.KeyManagerFactory;
-import javax.net.ssl.SSLContext;
-import javax.net.ssl.SSLEngine;
-import javax.net.ssl.TrustManager;
-import javax.net.ssl.TrustManagerFactory;
-import javax.net.ssl.X509ExtendedKeyManager;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
@@ -37,10 +30,23 @@ import java.security.KeyStore;
 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 javax.net.ssl.KeyManager;
+import javax.net.ssl.KeyManagerFactory;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLEngine;
+import javax.net.ssl.SSLSocket;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.TrustManagerFactory;
+import javax.net.ssl.X509ExtendedKeyManager;
 
 public class SSLUtil
 {
     public static final String TRANSPORT_LAYER_SECURITY_CODE = "TLS";
+    public static final String SSLV3_PROTOCOL = "SSLv3";
 
     public static SSLContext buildSslContext(final String certAlias,
                                              final String keyStorePath,
@@ -212,4 +218,16 @@ public class SSLUtil
             return delegate.chooseEngineServerAlias(keyType, issuers, engine);
         }
     }
+
+    public static void removeSSLv3Support(final SSLSocket socket)
+    {
+        List<String> enabledProtocols = 
Arrays.asList(socket.getEnabledProtocols());
+        if(enabledProtocols.contains(SSLV3_PROTOCOL))
+        {
+            List<String> allowedProtocols = new ArrayList<>(enabledProtocols);
+            allowedProtocols.remove(SSLV3_PROTOCOL);
+            socket.setEnabledProtocols(allowedProtocols.toArray(new 
String[allowedProtocols.size()]));
+        }
+    }
+
 }

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvier.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvier.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvier.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvier.java
 Fri Oct 17 13:58:04 2014
@@ -74,8 +74,8 @@ class TCPTransportProvier implements Tra
             if(sslContext != null)
             {
                 final SSLSocketFactory socketFactory = 
sslContext.getSocketFactory();
-
                 SSLSocket sslSocket = (SSLSocket) 
socketFactory.createSocket(address, port);
+                SSLUtil.removeSSLv3Support(sslSocket);
                 sslSocket.startHandshake();
                 
conn.setExternalPrincipal(sslSocket.getSession().getLocalPrincipal());
                 _socket=sslSocket;

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/framing/FrameHandler.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/framing/FrameHandler.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/framing/FrameHandler.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/amqp-1-0-common/src/main/java/org/apache/qpid/amqp_1_0/framing/FrameHandler.java
 Fri Oct 17 13:58:04 2014
@@ -20,7 +20,9 @@
  */
 package org.apache.qpid.amqp_1_0.framing;
 
-import org.apache.qpid.amqp_1_0.codec.BinaryWriter;
+import java.nio.ByteBuffer;
+import java.util.Formatter;
+
 import org.apache.qpid.amqp_1_0.codec.ProtocolHandler;
 import org.apache.qpid.amqp_1_0.codec.ValueHandler;
 import org.apache.qpid.amqp_1_0.transport.ConnectionEndpoint;
@@ -30,9 +32,6 @@ import org.apache.qpid.amqp_1_0.type.tra
 import org.apache.qpid.amqp_1_0.type.transport.Error;
 import org.apache.qpid.amqp_1_0.type.transport.Transfer;
 
-import java.nio.ByteBuffer;
-import java.util.Formatter;
-
 public class FrameHandler implements ProtocolHandler
 {
     private ConnectionEndpoint _connection;
@@ -122,7 +121,7 @@ public class FrameHandler implements Pro
 
                     if(size < 8)
                     {
-                        frameParsingError = createFramingError("specified 
frame size %d smaller than minimum frame header size %d", _size, 8);
+                        frameParsingError = createFramingError("specified 
frame size %d smaller than minimum frame header size %d", size, 8);
                         state = State.ERROR;
                         break;
                     }

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhostnode/bdb_ha/show.js
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhostnode/bdb_ha/show.js?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhostnode/bdb_ha/show.js
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhostnode/bdb_ha/show.js
 Fri Oct 17 13:58:04 2014
@@ -31,7 +31,7 @@ define(["dojo/_base/xhr",
         "dojo/domReady!"],
   function (xhr, connect, entities, query, json, registry, EnhancedGrid, 
UpdatableStore, UserPreferences, util)
   {
-    var priorityNames = {'_0': 'Never', '_1': 'Default', '_2': 'Normal', '_3': 
'High'};
+    var priorityNames = {'_0': 'Never', '_1': 'Default', '_2': 'High', '_3': 
'Highest'};
     var nodeFields = ["storePath", "groupName", "role", "address", 
"designatedPrimary", "priority", "quorumOverride"];
 
     function findNode(nodeClass, containerNode)

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/edit.html
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/edit.html?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/edit.html
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/edit.html
 Fri Oct 17 13:58:04 2014
@@ -113,8 +113,8 @@
                  data-dojo-props="data: [
                                                       {id: '0', name: 'Never'},
                                                       {id: '1', name: 
'Default', selected: '1'},
-                                                      {id: '2', name: 
'Normal'},
-                                                      {id: '3', name: 'High'}
+                                                      {id: '2', name: 'High'},
+                                                      {id: '3', name: 
'Highest'}
                                                    ]"></div>
             <input id="editVirtualHostNode.priority" 
data-dojo-type="dijit/form/FilteringSelect" value="1"
                    data-dojo-props="

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostNodeRestTest.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostNodeRestTest.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostNodeRestTest.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostNodeRestTest.java
 Fri Oct 17 13:58:04 2014
@@ -65,6 +65,7 @@ public class BDBHAVirtualHostNodeRestTes
     public void setUp() throws Exception
     {
         
setTestSystemProperty(ReplicatedEnvironmentFacade.REMOTE_NODE_MONITOR_INTERVAL_PROPERTY_NAME,
 "1000");
+        setTestClientSystemProperty("log4j.configuration", 
getBrokerCommandLog4JFile().toURI().toString());
 
         super.setUp();
         _hostName = getTestName();

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostRestTest.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostRestTest.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostRestTest.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/BDBHAVirtualHostRestTest.java
 Fri Oct 17 13:58:04 2014
@@ -57,6 +57,8 @@ public class BDBHAVirtualHostRestTest ex
     public void setUp() throws Exception
     {
         
setTestSystemProperty(ReplicatedEnvironmentFacade.REMOTE_NODE_MONITOR_INTERVAL_PROPERTY_NAME,
 "1000");
+        setTestClientSystemProperty("log4j.configuration", 
getBrokerCommandLog4JFile().toURI().toString());
+
         _hostName = "ha";
         _nodeName = "node1";
         _storeBaseDir = new File(TMP_FOLDER, "store-" + _hostName + "-" + 
System.currentTimeMillis());

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/JMXManagementTest.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/JMXManagementTest.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/JMXManagementTest.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/JMXManagementTest.java
 Fri Oct 17 13:58:04 2014
@@ -74,6 +74,8 @@ public class JMXManagementTest extends Q
     {
         _brokerType = BrokerType.SPAWNED;
 
+        setTestClientSystemProperty("log4j.configuration", 
getBrokerCommandLog4JFile().toURI().toString());
+
         _clusterCreator.configureClusterNodes();
         _brokerFailoverUrl = 
_clusterCreator.getConnectionUrlForAllClusterNodes();
         _clusterCreator.startCluster();

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/MultiNodeTest.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/MultiNodeTest.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/MultiNodeTest.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/MultiNodeTest.java
 Fri Oct 17 13:58:04 2014
@@ -81,6 +81,7 @@ public class MultiNodeTest extends QpidB
         assertTrue(isBrokerStorePersistent());
 
         setSystemProperty("java.util.logging.config.file", "etc" + 
File.separator + "log.properties");
+        setTestClientSystemProperty("log4j.configuration", 
getBrokerCommandLog4JFile().toURI().toString());
 
         _groupCreator.configureClusterNodes();
 

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/TwoNodeTest.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/TwoNodeTest.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/TwoNodeTest.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/bdbstore/systests/src/test/java/org/apache/qpid/server/store/berkeleydb/replication/TwoNodeTest.java
 Fri Oct 17 13:58:04 2014
@@ -49,6 +49,8 @@ public class TwoNodeTest extends QpidBro
     {
         _brokerType = BrokerType.SPAWNED;
 
+        setTestClientSystemProperty("log4j.configuration", 
getBrokerCommandLog4JFile().toURI().toString());
+
         assertTrue(isJavaBroker());
         assertTrue(isBrokerStorePersistent());
 

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/Broker.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/Broker.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/Broker.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/Broker.java
 Fri Oct 17 13:58:04 2014
@@ -58,6 +58,17 @@ public class Broker implements BrokerShu
     private EventLogger _eventLogger;
     private boolean _configuringOwnLogging = false;
     private final TaskExecutor _taskExecutor = new TaskExecutorImpl();
+    private final boolean _exitJVMOnShutdownWithNonZeroExitCode;
+
+    public Broker()
+    {
+        this(false);
+    }
+
+    public Broker(boolean exitJVMOnShutdownWithNonZeroExitCode)
+    {
+        this._exitJVMOnShutdownWithNonZeroExitCode = 
exitJVMOnShutdownWithNonZeroExitCode;
+    }
 
     protected static class InitException extends RuntimeException
     {
@@ -71,6 +82,12 @@ public class Broker implements BrokerShu
 
     public void shutdown()
     {
+        shutdown(0);
+    }
+
+    @Override
+    public void shutdown(int exitStatusCode)
+    {
         try
         {
             removeShutdownHook();
@@ -92,6 +109,11 @@ public class Broker implements BrokerShu
                 {
                     LogManager.shutdown();
                 }
+
+                if (_exitJVMOnShutdownWithNonZeroExitCode && exitStatusCode != 
0)
+                {
+                    System.exit(exitStatusCode);
+                }
             }
         }
     }

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/StoreConfigurationChangeListener.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/StoreConfigurationChangeListener.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/StoreConfigurationChangeListener.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/StoreConfigurationChangeListener.java
 Fri Oct 17 13:58:04 2014
@@ -20,6 +20,8 @@
  */
 package org.apache.qpid.server.configuration.store;
 
+import java.util.Collection;
+
 import org.apache.qpid.server.model.ConfigurationChangeListener;
 import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.State;
@@ -47,13 +49,24 @@ public class StoreConfigurationChangeLis
     }
 
     @Override
-    public void childAdded(ConfiguredObject object, ConfiguredObject child)
+    public void childAdded(ConfiguredObject<?> object, ConfiguredObject<?> 
child)
     {
         // exclude VirtualHostNode children from storing in broker store
         if (!(object instanceof VirtualHostNode))
         {
             child.addChangeListener(this);
             _store.update(true,child.asObjectRecord());
+
+            Class<? extends ConfiguredObject> categoryClass = 
child.getCategoryClass();
+            Collection<Class<? extends ConfiguredObject>> childTypes = 
child.getModel().getChildTypes(categoryClass);
+
+            for(Class<? extends ConfiguredObject> childClass : childTypes)
+            {
+                for (ConfiguredObject<?> grandchild : 
child.getChildren(childClass))
+                {
+                    childAdded(child, grandchild);
+                }
+            }
         }
 
     }

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/BrokerMessages.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/BrokerMessages.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/BrokerMessages.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/BrokerMessages.java
 Fri Oct 17 13:58:04 2014
@@ -57,6 +57,7 @@ public class BrokerMessages
     public static final String SHUTTING_DOWN_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "broker.shutting_down";
     public static final String MANAGEMENT_MODE_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "broker.management_mode";
     public static final String STARTUP_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "broker.startup";
+    public static final String FATAL_ERROR_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "broker.fatal_error";
     public static final String READY_LOG_HIERARCHY = 
DEFAULT_LOG_HIERARCHY_PREFIX + "broker.ready";
 
     static
@@ -75,6 +76,7 @@ public class BrokerMessages
         Logger.getLogger(SHUTTING_DOWN_LOG_HIERARCHY);
         Logger.getLogger(MANAGEMENT_MODE_LOG_HIERARCHY);
         Logger.getLogger(STARTUP_LOG_HIERARCHY);
+        Logger.getLogger(FATAL_ERROR_LOG_HIERARCHY);
         Logger.getLogger(READY_LOG_HIERARCHY);
 
         _messages = 
ResourceBundle.getBundle("org.apache.qpid.server.logging.messages.Broker_logmessages",
 _currentLocale);
@@ -493,6 +495,38 @@ public class BrokerMessages
 
     /**
      * Log a Broker message of the Format:
+     * <pre>BRK-1016 : Fatal error : {0} : See log file for more 
information</pre>
+     * Optional values are contained in [square brackets] and are numbered
+     * sequentially in the method call.
+     *
+     */
+    public static LogMessage FATAL_ERROR(String param1)
+    {
+        String rawMessage = _messages.getString("FATAL_ERROR");
+
+        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 FATAL_ERROR_LOG_HIERARCHY;
+            }
+        };
+    }
+
+    /**
+     * Log a Broker message of the Format:
      * <pre>BRK-1004 : Qpid Broker Ready</pre>
      * Optional values are contained in [square brackets] and are numbered
      * sequentially in the method call.

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Broker_logmessages.properties
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Broker_logmessages.properties?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Broker_logmessages.properties
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/logging/messages/Broker_logmessages.properties
 Fri Oct 17 13:58:04 2014
@@ -52,4 +52,6 @@ MANAGEMENT_MODE = BRK-1012 : Management 
 # 0 - Total message size
 # 1 - Target memory size
 FLOW_TO_DISK_ACTIVE = BRK-1014 : Message flow to disk active :  Message memory 
use {0,number,#}KB exceeds threshold {1,number,#.##}KB
-FLOW_TO_DISK_INACTIVE = BRK-1015 : Message flow to disk inactive : Message 
memory use {0,number,#}KB within threshold {1,number,#.##}KB
\ No newline at end of file
+FLOW_TO_DISK_INACTIVE = BRK-1015 : Message flow to disk inactive : Message 
memory use {0,number,#}KB within threshold {1,number,#.##}KB
+
+FATAL_ERROR = BRK-1016 : Fatal error : {0} : See log file for more information
\ No newline at end of file

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
 Fri Oct 17 13:58:04 2014
@@ -1361,6 +1361,7 @@ public abstract class AbstractConfigured
             _desiredState = State.DELETED;
         }
         setDesiredState(State.DELETED);
+
     }
 
     public final void start() { setDesiredState(State.ACTIVE); }
@@ -1578,7 +1579,7 @@ public abstract class AbstractConfigured
     @Override
     public Set<String> getContextKeys(final boolean excludeSystem)
     {
-        Map<String,String> inheritedContext = new HashMap<>();
+        Map<String,String> inheritedContext = new 
HashMap<>(_model.getTypeRegistry().getDefaultContext());
         if(!excludeSystem)
         {
             inheritedContext.putAll(System.getenv());

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/AuthenticationProvider.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/AuthenticationProvider.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/AuthenticationProvider.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/AuthenticationProvider.java
 Fri Oct 17 13:58:04 2014
@@ -48,13 +48,13 @@ public interface AuthenticationProvider<
      * Returns the preferences provider associated with this authentication 
provider
      * @return PreferencesProvider
      */
-    PreferencesProvider getPreferencesProvider();
+    PreferencesProvider<?> getPreferencesProvider();
 
     /**
      * Sets the preferences provider
      * @param preferencesProvider
      */
-    void setPreferencesProvider(PreferencesProvider preferencesProvider);
+    void setPreferencesProvider(PreferencesProvider<?> preferencesProvider);
 
     void recoverUser(User user);
 

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/BrokerModel.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/BrokerModel.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/BrokerModel.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/BrokerModel.java
 Fri Oct 17 13:58:04 2014
@@ -44,7 +44,7 @@ public final class BrokerModel extends M
      * 2.0 Introduce VirtualHostNode as a child of a Broker instead of 
VirtualHost
      */
     public static final int MODEL_MAJOR_VERSION = 2;
-    public static final int MODEL_MINOR_VERSION = 0;
+    public static final int MODEL_MINOR_VERSION = 1;
     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 =
@@ -81,7 +81,6 @@ public final class BrokerModel extends M
         addRelationship(VirtualHost.class, Exchange.class);
         addRelationship(VirtualHost.class, Queue.class);
         addRelationship(VirtualHost.class, Connection.class);
-        addRelationship(VirtualHost.class, VirtualHostAlias.class);
 
         addRelationship(Port.class, VirtualHostAlias.class);
 

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/BrokerShutdownProvider.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/BrokerShutdownProvider.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/BrokerShutdownProvider.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/BrokerShutdownProvider.java
 Fri Oct 17 13:58:04 2014
@@ -22,5 +22,5 @@ package org.apache.qpid.server.model;
 
 public interface BrokerShutdownProvider
 {
-    void shutdown();
+    void shutdown(int exitStatusCode);
 }

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java
 Fri Oct 17 13:58:04 2014
@@ -854,6 +854,9 @@ public class ConfiguredObjectTypeRegistr
         return map != null ? Collections.unmodifiableMap(map) : 
Collections.<State, Map<State, Method>>emptyMap();
     }
 
-
+    public Map<String,String> getDefaultContext()
+    {
+        return Collections.unmodifiableMap(_defaultContext);
+    }
 
 }

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/Port.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/Port.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/Port.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/Port.java
 Fri Oct 17 13:58:04 2014
@@ -60,12 +60,8 @@ public interface Port<X extends Port<X>>
     @ManagedAttribute
     Collection<TrustStore> getTrustStores();
 
-    //children
-    Collection<VirtualHostAlias> getVirtualHostBindings();
     Collection<Connection> getConnections();
 
     void start();
 
-    boolean isLocalMachine(final String host);
-
 }

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHostAlias.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHostAlias.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHostAlias.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/VirtualHostAlias.java
 Fri Oct 17 13:58:04 2014
@@ -20,18 +20,17 @@
  */
 package org.apache.qpid.server.model;
 
-import java.util.Collection;
-
-@ManagedObject
+@ManagedObject( creatable = false )
 public interface VirtualHostAlias<X extends VirtualHostAlias<X>> extends 
ConfiguredObject<X>
 {
+    String PRIORITY = "priority";
+
     // parents
     Port getPort();
-    VirtualHost getVirtualHost();
-
-    // children
-    Collection<AuthenticationMethod> getAuthenticationMethods();
 
+    @ManagedAttribute( defaultValue = "100" )
+    int getPriority();
 
 
+    VirtualHostNode getVirtualHostNode(String name);
 }

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
 Fri Oct 17 13:58:04 2014
@@ -969,7 +969,8 @@ public class BrokerAdapter extends Abstr
             BrokerShutdownProvider shutdownProvider = 
systemConfig.getBrokerShutdownProvider();
             if (shutdownProvider != null)
             {
-                shutdownProvider.shutdown();
+                
_eventLogger.message(BrokerMessages.FATAL_ERROR(e.getMessage()));
+                shutdownProvider.shutdown(1);
             }
             else
             {

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java
 Fri Oct 17 13:58:04 2014
@@ -21,23 +21,12 @@
 
 package org.apache.qpid.server.model.port;
 
-import java.net.InetAddress;
-import java.net.InterfaceAddress;
-import java.net.NetworkInterface;
-import java.net.SocketException;
-import java.net.UnknownHostException;
 import java.security.AccessControlException;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.HashSet;
-import java.util.List;
 import java.util.Map;
 import java.util.Set;
-import java.util.concurrent.CopyOnWriteArraySet;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.locks.Lock;
-import java.util.concurrent.locks.ReentrantLock;
 
 import org.apache.log4j.Logger;
 
@@ -54,69 +43,12 @@ import org.apache.qpid.server.model.Stat
 import org.apache.qpid.server.model.StateTransition;
 import org.apache.qpid.server.model.Transport;
 import org.apache.qpid.server.model.TrustStore;
-import org.apache.qpid.server.model.VirtualHost;
-import org.apache.qpid.server.model.VirtualHostAlias;
-import org.apache.qpid.server.model.VirtualHostNode;
 import org.apache.qpid.server.security.access.Operation;
 
 abstract public class AbstractPort<X extends AbstractPort<X>> extends 
AbstractConfiguredObject<X> implements Port<X>
 {
     private static final Logger LOGGER = Logger.getLogger(AbstractPort.class);
 
-    private static final Set<InetAddress> LOCAL_ADDRESSES = new 
CopyOnWriteArraySet<>();
-    private static final Set<String> LOCAL_ADDRESS_NAMES = new 
CopyOnWriteArraySet<>();
-    private static final Lock ADDRESS_LOCK = new ReentrantLock();
-    private static final AtomicBoolean ADDRESSES_COMPUTED = new 
AtomicBoolean();
-
-    static
-    {
-        Thread thread = new Thread(new Runnable()
-        {
-            public void run()
-            {
-                Lock lock = ADDRESS_LOCK;
-
-                lock.lock();
-                try
-                {
-                    for (NetworkInterface networkInterface : 
Collections.list(NetworkInterface.getNetworkInterfaces()))
-                    {
-                        for (InterfaceAddress inetAddress : 
networkInterface.getInterfaceAddresses())
-                        {
-                            InetAddress address = inetAddress.getAddress();
-                            LOCAL_ADDRESSES.add(address);
-                            String hostAddress = address.getHostAddress();
-                            if (hostAddress != null)
-                            {
-                                LOCAL_ADDRESS_NAMES.add(hostAddress);
-                            }
-                            String hostName = address.getHostName();
-                            if (hostName != null)
-                            {
-                                LOCAL_ADDRESS_NAMES.add(hostName);
-                            }
-                            String canonicalHostName = 
address.getCanonicalHostName();
-                            if (canonicalHostName != null)
-                            {
-                                LOCAL_ADDRESS_NAMES.add(canonicalHostName);
-                            }
-                        }
-                    }
-                }
-                catch (SocketException e)
-                {
-                    // ignore
-                }
-                finally
-                {
-                    ADDRESSES_COMPUTED.set(true);
-                    lock.unlock();
-                }
-            }
-        }, "Network Address Resolver");
-        thread.start();
-    }
-
     private final Broker<?> _broker;
 
     @ManagedAttributeField
@@ -271,27 +203,6 @@ abstract public class AbstractPort<X ext
     }
 
     @Override
-    public Collection<VirtualHostAlias> getVirtualHostBindings()
-    {
-        List<VirtualHostAlias> aliases = new ArrayList<VirtualHostAlias>();
-        for(VirtualHostNode<?> vhn : _broker.getVirtualHostNodes())
-        {
-            VirtualHost<?, ?, ?> vh = vhn.getVirtualHost();
-            if (vh != null)
-            {
-                for(VirtualHostAlias<?> alias : vh.getAliases())
-                {
-                    if(alias.getPort().equals(this))
-                    {
-                        aliases.add(alias);
-                    }
-                }
-            }
-        }
-        return Collections.unmodifiableCollection(aliases);
-    }
-
-    @Override
     public Collection<Connection> getConnections()
     {
         return null;
@@ -306,7 +217,7 @@ abstract public class AbstractPort<X ext
         }
         else
         {
-            return Collections.emptySet();
+            return super.getChildren(clazz);
         }
     }
 
@@ -412,38 +323,4 @@ abstract public class AbstractPort<X ext
         }
     }
 
-    public boolean isLocalMachine(final String host)
-    {
-        while(!ADDRESSES_COMPUTED.get())
-        {
-            Lock lock = ADDRESS_LOCK;
-            lock.lock();
-            lock.unlock();
-        }
-
-        boolean isNetworkAddress = true;
-        if (!LOCAL_ADDRESS_NAMES.contains(host))
-        {
-            try
-            {
-                InetAddress inetAddress = InetAddress.getByName(host);
-                if (!LOCAL_ADDRESSES.contains(inetAddress))
-                {
-                    isNetworkAddress = false;
-                }
-                else
-                {
-                    LOCAL_ADDRESS_NAMES.add(host);
-                }
-            }
-            catch (UnknownHostException e)
-            {
-                // ignore
-                isNetworkAddress = false;
-            }
-        }
-        return isNetworkAddress;
-
-    }
-
 }

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPort.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPort.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPort.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPort.java
 Fri Oct 17 13:58:04 2014
@@ -20,15 +20,16 @@
  */
 package org.apache.qpid.server.model.port;
 
+import java.util.Map;
 import java.util.Set;
 
 import org.apache.qpid.server.model.AuthenticationProvider;
 import org.apache.qpid.server.model.ManagedAttribute;
 import org.apache.qpid.server.model.ManagedContextDefault;
 import org.apache.qpid.server.model.ManagedObject;
-import org.apache.qpid.server.model.Port;
 import org.apache.qpid.server.model.Protocol;
 import org.apache.qpid.server.model.Transport;
+import org.apache.qpid.server.model.VirtualHostAlias;
 import org.apache.qpid.server.virtualhost.VirtualHostImpl;
 
 @ManagedObject( category = false, type = "AMQP")
@@ -80,4 +81,5 @@ public interface AmqpPort<X extends Amqp
 
     VirtualHostImpl getVirtualHost(String name);
 
+    VirtualHostAlias createVirtualHostAlias(Map<String, Object> attributes);
 }

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPortImpl.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPortImpl.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPortImpl.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPortImpl.java
 Fri Oct 17 13:58:04 2014
@@ -25,35 +25,42 @@ import java.security.GeneralSecurityExce
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
+import java.util.TreeSet;
 
 import javax.net.ssl.KeyManager;
 import javax.net.ssl.SSLContext;
 import javax.net.ssl.TrustManager;
 import javax.net.ssl.X509TrustManager;
 
-import org.apache.qpid.server.util.PortUtil;
 import org.codehaus.jackson.map.ObjectMapper;
 
 import org.apache.qpid.server.configuration.BrokerProperties;
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
 import org.apache.qpid.server.logging.messages.BrokerMessages;
 import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.DefaultVirtualHostAlias;
+import org.apache.qpid.server.model.HostNameAlias;
 import org.apache.qpid.server.model.KeyStore;
 import org.apache.qpid.server.model.ManagedAttributeField;
-import org.apache.qpid.server.model.ManagedContextDefault;
 import org.apache.qpid.server.model.ManagedObjectFactoryConstructor;
 import org.apache.qpid.server.model.Protocol;
 import org.apache.qpid.server.model.State;
 import org.apache.qpid.server.model.Transport;
 import org.apache.qpid.server.model.TrustStore;
+import org.apache.qpid.server.model.VirtualHostAlias;
+import org.apache.qpid.server.model.VirtualHostNameAlias;
+import org.apache.qpid.server.model.VirtualHostNode;
 import org.apache.qpid.server.plugin.ProtocolEngineCreator;
 import org.apache.qpid.server.plugin.QpidServiceLoader;
 import org.apache.qpid.server.plugin.TransportProviderFactory;
 import org.apache.qpid.server.transport.AcceptingTransport;
 import org.apache.qpid.server.transport.TransportProvider;
+import org.apache.qpid.server.util.PortUtil;
 import org.apache.qpid.server.util.ServerScopedRuntimeException;
 import org.apache.qpid.server.virtualhost.VirtualHostImpl;
 import org.apache.qpid.transport.network.security.ssl.QpidMultipleTrustManager;
@@ -63,6 +70,29 @@ public class AmqpPortImpl extends Abstra
 
     public static final String DEFAULT_BINDING_ADDRESS = "*";
 
+
+    private static final Comparator<VirtualHostAlias> 
VIRTUAL_HOST_ALIAS_COMPARATOR = new Comparator<VirtualHostAlias>()
+    {
+        @Override
+        public int compare(final VirtualHostAlias left, final VirtualHostAlias 
right)
+        {
+            int comparison = left.getPriority() - right.getPriority();
+            if (comparison == 0)
+            {
+                long createCompare = left.getCreatedTime() - 
right.getCreatedTime();
+                if (createCompare == 0)
+                {
+                    comparison = left.getName().compareTo(right.getName());
+                }
+                else
+                {
+                    comparison = createCompare < 0l ? -1 : 1;
+                }
+            }
+            return comparison;
+        }
+    };
+
     @ManagedAttributeField
     private boolean _tcpNoDelay;
 
@@ -111,15 +141,47 @@ public class AmqpPortImpl extends Abstra
     }
 
     @Override
+    protected void onCreate()
+    {
+        super.onCreate();
+
+        Map<String, Object> attributes = new HashMap<>();
+        attributes.put(VirtualHostAlias.NAME, "nameAlias");
+        attributes.put(VirtualHostAlias.TYPE, VirtualHostNameAlias.TYPE_NAME);
+        attributes.put(VirtualHostAlias.DURABLE, true);
+        createVirtualHostAlias(attributes);
+
+        attributes = new HashMap<>();
+        attributes.put(VirtualHostAlias.NAME, "defaultAlias");
+        attributes.put(VirtualHostAlias.TYPE, 
DefaultVirtualHostAlias.TYPE_NAME);
+        attributes.put(VirtualHostAlias.DURABLE, true);
+        createVirtualHostAlias(attributes);
+
+
+        attributes = new HashMap<>();
+        attributes.put(VirtualHostAlias.NAME, "hostnameAlias");
+        attributes.put(VirtualHostAlias.TYPE, HostNameAlias.TYPE_NAME);
+        attributes.put(VirtualHostAlias.DURABLE, true);
+        createVirtualHostAlias(attributes);
+
+    }
+
+    @Override
     public VirtualHostImpl getVirtualHost(String name)
     {
-        // TODO - aliases
-        if(name == null || name.trim().length() == 0)
+        Collection<VirtualHostAlias> aliases = new 
TreeSet<>(VIRTUAL_HOST_ALIAS_COMPARATOR);
+
+        aliases.addAll(getChildren(VirtualHostAlias.class));
+
+        for(VirtualHostAlias alias : aliases)
         {
-            name = _broker.getDefaultVirtualHost();
+            VirtualHostNode vhn = alias.getVirtualHostNode(name);
+            if (vhn != null)
+            {
+                return (VirtualHostImpl) vhn.getVirtualHost();
+            }
         }
-
-        return (VirtualHostImpl) _broker.findVirtualHostByName(name);
+        return null;
     }
 
     @Override
@@ -156,7 +218,6 @@ public class AmqpPortImpl extends Abstra
             {
                 sslContext = createSslContext();
             }
-
             Protocol defaultSupportedProtocolReply = 
getDefaultAmqpSupportedReply();
 
             _transport = transportProvider.createTransport(transportSet,
@@ -189,6 +250,20 @@ public class AmqpPortImpl extends Abstra
     }
 
     @Override
+    public VirtualHostAlias createVirtualHostAlias(Map<String, Object> 
attributes)
+    {
+        VirtualHostAlias child = addVirtualHostAlias(attributes);
+        childAdded(child);
+        return child;
+    }
+
+    private VirtualHostAlias addVirtualHostAlias(Map<String,Object> attributes)
+    {
+        return getObjectFactory().create(VirtualHostAlias.class, attributes, 
this);
+    }
+
+
+    @Override
     public void validateOnCreate()
     {
         super.validateOnCreate();
@@ -215,6 +290,7 @@ public class AmqpPortImpl extends Abstra
         try
         {
             SSLContext sslContext = SSLContext.getInstance("TLS");
+
             KeyManager[] keyManagers = keyStore.getKeyManagers();
 
             TrustManager[] trustManagers;

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngine.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngine.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngine.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngine.java
 Fri Oct 17 13:58:04 2014
@@ -45,6 +45,7 @@ import org.apache.qpid.transport.network
 import org.apache.qpid.transport.network.security.SSLStatus;
 import org.apache.qpid.transport.network.security.ssl.SSLBufferingSender;
 import org.apache.qpid.transport.network.security.ssl.SSLReceiver;
+import org.apache.qpid.transport.network.security.ssl.SSLUtil;
 
 public class MultiVersionProtocolEngine implements ServerProtocolEngine
 {
@@ -480,6 +481,7 @@ public class MultiVersionProtocolEngine 
 
             _engine = _sslContext.createSSLEngine();
             _engine.setUseClientMode(false);
+            SSLUtil.removeSSLv3Support(_engine);
 
             if(_needClientAuth)
             {

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java
 Fri Oct 17 13:58:04 2014
@@ -32,6 +32,7 @@ import org.apache.qpid.server.logging.Me
 import org.apache.qpid.server.logging.SystemOutMessageLogger;
 import org.apache.qpid.server.logging.messages.BrokerMessages;
 import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.State;
 import org.apache.qpid.server.model.SystemConfig;
 import org.apache.qpid.server.store.BrokerStoreUpgraderAndRecoverer;
 import org.apache.qpid.server.store.DurableConfigurationStore;
@@ -77,17 +78,17 @@ public class ApplicationRegistry impleme
         logStartupMessages(startupLogger);
 
         BrokerStoreUpgraderAndRecoverer upgrader = new 
BrokerStoreUpgraderAndRecoverer(_systemConfig);
-        _broker = upgrader.perform(_store);
+        Broker broker = upgrader.perform(_store);
+        _broker = broker;
 
-        _broker.setEventLogger(startupLogger);
-        _broker.open();
-
-        // starting the broker
-        //_broker.setDesiredState(State.ACTIVE);
-
-        startupLogger.message(BrokerMessages.READY());
-        _broker.setEventLogger(eventLogger);
+        broker.setEventLogger(startupLogger);
+        broker.open();
 
+        if (broker.getState() == State.ACTIVE)
+        {
+            startupLogger.message(BrokerMessages.READY());
+            broker.setEventLogger(eventLogger);
+        }
     }
 
     public void close()

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/security/SubjectCreator.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/security/SubjectCreator.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/security/SubjectCreator.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/security/SubjectCreator.java
 Fri Oct 17 13:58:04 2014
@@ -53,10 +53,10 @@ public class SubjectCreator
 {
     private final boolean _secure;
     private AuthenticationProvider<?> _authenticationProvider;
-    private Collection<GroupProvider> _groupProviders;
+    private Collection<GroupProvider<?>> _groupProviders;
 
     public SubjectCreator(AuthenticationProvider<?> authenticationProvider,
-                          Collection<GroupProvider> groupProviders,
+                          Collection<GroupProvider<?>> groupProviders,
                           final boolean secure)
     {
         _authenticationProvider = authenticationProvider;

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java
 Fri Oct 17 13:58:04 2014
@@ -53,13 +53,13 @@ public abstract class AbstractAuthentica
 {
     private static final Logger LOGGER = 
Logger.getLogger(AbstractAuthenticationManager.class);
 
-    private final Broker _broker;
-    private PreferencesProvider _preferencesProvider;
+    private final Broker<?> _broker;
+    private PreferencesProvider<?> _preferencesProvider;
 
     @ManagedAttributeField
     private List<String> _secureOnlyMechanisms;
 
-    protected AbstractAuthenticationManager(final Map<String, Object> 
attributes, final Broker broker)
+    protected AbstractAuthenticationManager(final Map<String, Object> 
attributes, final Broker<?> broker)
     {
         super(parentsMap(broker), attributes);
         _broker = broker;
@@ -120,13 +120,13 @@ public abstract class AbstractAuthentica
     }
 
     @Override
-    public PreferencesProvider getPreferencesProvider()
+    public PreferencesProvider<?> getPreferencesProvider()
     {
         return _preferencesProvider;
     }
 
     @Override
-    public void setPreferencesProvider(final PreferencesProvider 
preferencesProvider)
+    public void setPreferencesProvider(final PreferencesProvider<?> 
preferencesProvider)
     {
         _preferencesProvider = preferencesProvider;
     }
@@ -143,8 +143,8 @@ public abstract class AbstractAuthentica
     {
         if(childClass == PreferencesProvider.class)
         {
-            attributes = new HashMap<String, Object>(attributes);
-            PreferencesProvider pp = 
getObjectFactory().create(PreferencesProvider.class, attributes, this);
+            attributes = new HashMap<>(attributes);
+            PreferencesProvider<?> pp = 
getObjectFactory().create(PreferencesProvider.class, attributes, this);
 
             _preferencesProvider = pp;
             return (C)pp;

Modified: 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractScramAuthenticationManager.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractScramAuthenticationManager.java?rev=1632579&r1=1632578&r2=1632579&view=diff
==============================================================================
--- 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractScramAuthenticationManager.java
 (original)
+++ 
qpid/branches/QPID-6125-ProtocolRefactoring/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractScramAuthenticationManager.java
 Fri Oct 17 13:58:04 2014
@@ -20,52 +20,38 @@
  */
 package org.apache.qpid.server.security.auth.manager;
 
-import java.io.IOException;
-import java.nio.charset.Charset;
 import java.security.InvalidKeyException;
 import java.security.NoSuchAlgorithmException;
 import java.security.Principal;
 import java.security.SecureRandom;
 import java.util.Arrays;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.UUID;
-import java.util.concurrent.ConcurrentHashMap;
 
 import javax.crypto.Mac;
 import javax.crypto.spec.SecretKeySpec;
-import javax.security.auth.login.AccountNotFoundException;
 import javax.security.sasl.SaslException;
 import javax.security.sasl.SaslServer;
 import javax.xml.bind.DatatypeConverter;
 
-import org.apache.qpid.server.configuration.updater.Task;
-import org.apache.qpid.server.configuration.updater.VoidTaskWithException;
 import org.apache.qpid.server.model.Broker;
-import org.apache.qpid.server.model.ConfiguredObject;
 import 
org.apache.qpid.server.model.PasswordCredentialManagingAuthenticationProvider;
-import org.apache.qpid.server.model.User;
-import org.apache.qpid.server.security.access.Operation;
 import org.apache.qpid.server.security.auth.AuthenticationResult;
 import org.apache.qpid.server.security.auth.UsernamePrincipal;
 import org.apache.qpid.server.security.auth.sasl.plain.PlainAdapterSaslServer;
 import org.apache.qpid.server.security.auth.sasl.scram.ScramSaslServer;
 
 public abstract class AbstractScramAuthenticationManager<X extends 
AbstractScramAuthenticationManager<X>>
-        extends AbstractAuthenticationManager<X>
+        extends ConfigModelPasswordManagingAuthenticationProvider<X>
         implements PasswordCredentialManagingAuthenticationProvider<X>
 {
 
-    static final Charset ASCII = Charset.forName("ASCII");
     public static final String PLAIN = "PLAIN";
     private final SecureRandom _random = new SecureRandom();
 
     private int _iterationCount = 4096;
 
-    private Map<String, ScramAuthUser> _users = new ConcurrentHashMap<String, 
ScramAuthUser>();
-
 
     protected AbstractScramAuthenticationManager(final Map<String, Object> 
attributes, final Broker broker)
     {
@@ -103,33 +89,9 @@ public abstract class AbstractScramAuthe
     protected abstract String getDigestName();
 
     @Override
-    public AuthenticationResult authenticate(final SaslServer server, final 
byte[] response)
-    {
-        try
-        {
-            // Process response from the client
-            byte[] challenge = server.evaluateResponse(response != null ? 
response : new byte[0]);
-
-            if (server.isComplete() && (challenge == null || challenge.length 
== 0))
-            {
-                final String userId = server.getAuthorizationID();
-                return new AuthenticationResult(new UsernamePrincipal(userId));
-            }
-            else
-            {
-                return new AuthenticationResult(challenge, 
AuthenticationResult.AuthenticationStatus.CONTINUE);
-            }
-        }
-        catch (SaslException e)
-        {
-            return new 
AuthenticationResult(AuthenticationResult.AuthenticationStatus.ERROR, e);
-        }
-    }
-
-    @Override
     public AuthenticationResult authenticate(final String username, final 
String password)
     {
-        ScramAuthUser user = getUser(username);
+        ManagedUser user = getUser(username);
         if(user != null)
         {
             final String[] usernamePassword = user.getPassword().split(",");
@@ -142,7 +104,7 @@ public abstract class AbstractScramAuthe
                     return new AuthenticationResult(new 
UsernamePrincipal(username));
                 }
             }
-            catch (SaslException e)
+            catch (IllegalArgumentException e)
             {
                 return new 
AuthenticationResult(AuthenticationResult.AuthenticationStatus.ERROR,e);
             }
@@ -162,7 +124,7 @@ public abstract class AbstractScramAuthe
 
     public byte[] getSalt(final String username)
     {
-        ScramAuthUser user = getUser(username);
+        ManagedUser user = getUser(username);
 
         if(user == null)
         {
@@ -183,7 +145,7 @@ public abstract class AbstractScramAuthe
 
     public byte[] getSaltedPassword(final String username) throws SaslException
     {
-        ScramAuthUser user = getUser(username);
+        ManagedUser user = getUser(username);
         if(user == null)
         {
             throw new SaslException("Authentication Failed");
@@ -194,14 +156,9 @@ public abstract class AbstractScramAuthe
         }
     }
 
-    private ScramAuthUser getUser(final String username)
-    {
-        return _users.get(username);
-    }
-
-    private byte[] createSaltedPassword(byte[] salt, String password) throws 
SaslException
+    private byte[] createSaltedPassword(byte[] salt, String password)
     {
-        Mac mac = createSha1Hmac(password.getBytes(ASCII));
+        Mac mac = createShaHmac(password.getBytes(ASCII));
 
         mac.update(salt);
         mac.update(INT_1);
@@ -222,8 +179,7 @@ public abstract class AbstractScramAuthe
 
     }
 
-    private Mac createSha1Hmac(final byte[] keyBytes)
-            throws SaslException
+    private Mac createShaHmac(final byte[] keyBytes)
     {
         try
         {
@@ -232,132 +188,16 @@ public abstract class AbstractScramAuthe
             mac.init(key);
             return mac;
         }
-        catch (NoSuchAlgorithmException e)
-        {
-            throw new SaslException(e.getMessage(), e);
-        }
-        catch (InvalidKeyException e)
+        catch (NoSuchAlgorithmException | InvalidKeyException e)
         {
-            throw new SaslException(e.getMessage(), e);
+            throw new IllegalArgumentException(e.getMessage(), e);
         }
     }
 
     protected abstract String getHmacName();
 
     @Override
-    public boolean createUser(final String username, final String password, 
final Map<String, String> attributes)
-    {
-        return runTask(new Task<Boolean>()
-        {
-            @Override
-            public Boolean execute()
-            {
-                getSecurityManager().authoriseUserOperation(Operation.CREATE, 
username);
-                if (_users.containsKey(username))
-                {
-                    throw new IllegalArgumentException("User '" + username + 
"' already exists");
-                }
-                try
-                {
-                    Map<String, Object> userAttrs = new HashMap<String, 
Object>();
-                    userAttrs.put(User.ID, UUID.randomUUID());
-                    userAttrs.put(User.NAME, username);
-                    userAttrs.put(User.PASSWORD, 
createStoredPassword(password));
-                    userAttrs.put(User.TYPE, ScramAuthUser.SCRAM_USER_TYPE);
-                    ScramAuthUser user = new ScramAuthUser(userAttrs, 
AbstractScramAuthenticationManager.this);
-                    user.create();
-
-                    return true;
-                }
-                catch (SaslException e)
-                {
-                    throw new IllegalArgumentException(e);
-                }
-            }
-        });
-    }
-
-    org.apache.qpid.server.security.SecurityManager getSecurityManager()
-    {
-        return getBroker().getSecurityManager();
-    }
-
-    @Override
-    public void deleteUser(final String user) throws AccountNotFoundException
-    {
-        runTask(new VoidTaskWithException<AccountNotFoundException>()
-        {
-            @Override
-            public void execute() throws AccountNotFoundException
-            {
-                final ScramAuthUser authUser = getUser(user);
-                if(authUser != null)
-                {
-                    authUser.delete();
-                }
-                else
-                {
-                    throw new AccountNotFoundException("No such user: '" + 
user + "'");
-                }
-            }
-        });
-    }
-
-    @Override
-    public void setPassword(final String username, final String password) 
throws AccountNotFoundException
-    {
-        runTask(new VoidTaskWithException<AccountNotFoundException>()
-        {
-            @Override
-            public void execute() throws AccountNotFoundException
-            {
-
-                final ScramAuthUser authUser = getUser(username);
-                if (authUser != null)
-                {
-                    authUser.setPassword(password);
-                }
-                else
-                {
-                    throw new AccountNotFoundException("No such user: '" + 
username + "'");
-                }
-            }
-        });
-
-    }
-
-    @Override
-    public Map<String, Map<String, String>> getUsers()
-    {
-        return runTask(new Task<Map<String, Map<String, String>>>()
-        {
-            @Override
-            public Map<String, Map<String, String>> execute()
-            {
-
-                Map<String, Map<String, String>> users = new HashMap<String, 
Map<String, String>>();
-                for (String user : _users.keySet())
-                {
-                    users.put(user, Collections.<String, String>emptyMap());
-                }
-                return users;
-            }
-        });
-    }
-
-    @Override
-    public void reload() throws IOException
-    {
-
-    }
-
-    @Override
-    public void recoverUser(final User user)
-    {
-        _users.put(user.getName(), (ScramAuthUser) user);
-    }
-
-    protected String createStoredPassword(final String password) throws 
SaslException
+    protected String createStoredPassword(final String password)
     {
         byte[] salt = new byte[32];
         _random.nextBytes(salt);
@@ -366,33 +206,11 @@ public abstract class AbstractScramAuthe
     }
 
     @Override
-    public <C extends ConfiguredObject> C addChild(final Class<C> childClass,
-                                                   final Map<String, Object> 
attributes,
-                                                   final ConfiguredObject... 
otherParents)
+    void validateUser(final ManagedUser managedUser)
     {
-        if(childClass == User.class)
+        if(!ASCII.newEncoder().canEncode(managedUser.getName()))
         {
-            String username = (String) attributes.get("name");
-            String password = (String) attributes.get("password");
-
-            if(createUser(username, password,null))
-            {
-                @SuppressWarnings("unchecked")
-                C user = (C) _users.get(username);
-                return user;
-            }
-            else
-            {
-                return null;
-
-            }
+            throw new IllegalArgumentException("User names are restricted to 
characters in the ASCII charset");
         }
-        return super.addChild(childClass, attributes, otherParents);
     }
-
-    Map<String, ScramAuthUser> getUserMap()
-    {
-        return _users;
-    }
-
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to