summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2013-04-29 15:39:20 +0000
committerRobert Gemmell <robbie@apache.org>2013-04-29 15:39:20 +0000
commitce7a04a183f35813007ac5e793cef7cbac081620 (patch)
tree3e3871380dcfa0e115a19d320b35934ea7e1c532 /qpid/java
parente9381bf423c13cf58ec92382283b196e26b7591f (diff)
downloadqpid-python-ce7a04a183f35813007ac5e793cef7cbac081620.tar.gz
QPID-4753: set vhost SecurityManager _managementMode boolean to equal the parent/broker SecurityManager, validate the ACL file during onCreate to ensure it is usable before allowing it to be added
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1477155 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
-rw-r--r--qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControl.java5
-rwxr-xr-xqpid/java/broker/src/main/java/org/apache/qpid/server/security/SecurityManager.java2
2 files changed, 6 insertions, 1 deletions
diff --git a/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControl.java b/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControl.java
index 451b1f9c40..6beeef2f18 100644
--- a/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControl.java
+++ b/qpid/java/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/plugins/DefaultAccessControl.java
@@ -91,13 +91,16 @@ public class DefaultAccessControl implements AccessControl
@Override
public void onCreate()
{
- //verify file exists
if(_aclFile != null)
{
+ //verify it exists
if (!_aclFile.exists())
{
throw new IllegalConfigurationException("ACL file '" + _aclFile + "' is not found");
}
+
+ //verify it is parsable
+ new PlainConfiguration(_aclFile).load();
}
}
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/security/SecurityManager.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/security/SecurityManager.java
index 375b731d85..f0570943cf 100755
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/security/SecurityManager.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/security/SecurityManager.java
@@ -137,6 +137,8 @@ public class SecurityManager implements ConfigurationChangeListener
*/
public SecurityManager(SecurityManager parent, String aclFile, String vhostName)
{
+ _managementMode = parent._managementMode;
+
if(!_managementMode)
{
configureVirtualHostAclPlugin(aclFile, vhostName);