From d7e809e0817fe778b901a3d4a07e00aea6c20201 Mon Sep 17 00:00:00 2001 From: Keith Wall Date: Fri, 25 Apr 2014 17:00:53 +0000 Subject: QPID-5715: [Java Broker] Defect fix - when stop the VHN before deleting it git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1590082 13f79535-47bb-0310-9956-ffa450edef68 --- .../AbstractStandardVirtualHostNode.java | 30 +++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) (limited to 'qpid/java') diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractStandardVirtualHostNode.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractStandardVirtualHostNode.java index 1b2e505df9..44139a71e0 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractStandardVirtualHostNode.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/AbstractStandardVirtualHostNode.java @@ -21,11 +21,13 @@ package org.apache.qpid.server.virtualhostnode; import java.io.File; +import java.security.AccessControlException; import java.security.PrivilegedAction; import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.Set; import java.util.concurrent.atomic.AtomicReference; import javax.security.auth.Subject; @@ -47,6 +49,7 @@ import org.apache.qpid.server.model.VirtualHost; import org.apache.qpid.server.model.VirtualHostNode; import org.apache.qpid.server.plugin.DurableConfigurationStoreFactory; import org.apache.qpid.server.security.SecurityManager; +import org.apache.qpid.server.security.access.Operation; import org.apache.qpid.server.store.DurableConfigurationStore; import org.apache.qpid.server.store.MessageStore; import org.apache.qpid.server.store.VirtualHostStoreUpgraderAndRecoverer; @@ -152,7 +155,12 @@ public abstract class AbstractStandardVirtualHostNode modified, Set attributes) throws AccessControlException + { + if (!_broker.getSecurityManager().authoriseConfiguringBroker(getName(), VirtualHostNode.class, Operation.UPDATE)) + { + throw new AccessControlException("Setting of virtual host node attributes is denied"); + } + } } -- cgit v1.2.1