diff options
| author | Robert Gemmell <robbie@apache.org> | 2013-04-29 15:39:20 +0000 |
|---|---|---|
| committer | Robert Gemmell <robbie@apache.org> | 2013-04-29 15:39:20 +0000 |
| commit | ce7a04a183f35813007ac5e793cef7cbac081620 (patch) | |
| tree | 3e3871380dcfa0e115a19d320b35934ea7e1c532 /qpid/java | |
| parent | e9381bf423c13cf58ec92382283b196e26b7591f (diff) | |
| download | qpid-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')
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); |
