[prev in list] [next in list] [prev in thread] [next in thread]
List: activemq-commits
Subject: [activemq-artemis] branch main updated: ARTEMIS-3900 Support management allowlist entries with wildc
From: clebertsuconic () apache ! org
Date: 2022-07-28 17:39:06
Message-ID: 165902994608.2086748.3746355964221525689 () gitbox2-he-fi ! apache ! org
[Download RAW message or body]
This is an automated email from the ASF dual-hosted git repository.
clebertsuconic pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git
The following commit(s) were added to refs/heads/main by this push:
new d250801fcf ARTEMIS-3900 Support management allowlist entries with wildcard \
domain d250801fcf is described below
commit d250801fcf27ff08e9ac6ad51b081d7be8f894cf
Author: Domenico Francesco Bruscino <brusdev@apache.org>
AuthorDate: Thu Jul 21 11:51:04 2022 +0200
ARTEMIS-3900 Support management allowlist entries with wildcard domain
---
.../server/management/JMXAccessControlList.java | 5 +++++
.../management/JMXAccessControlListTest.java | 24 ++++++++++++++++++++++
2 files changed, 29 insertions(+)
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/management/JMXAccessControlList.java \
b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/management/JMXAccessControlList.java
index 6b8ae9417a..979d2a2abb 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/management/JMXAccessControlList.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/management/JMXAccessControlList.java
@@ -83,6 +83,11 @@ public class JMXAccessControlList {
public boolean isInAllowList(ObjectName objectName) {
TreeMap<String, Access> domainMap = allowList.get(objectName.getDomain());
+
+ if (domainMap == null) {
+ domainMap = allowList.get(WILDCARD);
+ }
+
if (domainMap != null) {
if (domainMap.containsKey("")) {
return true;
diff --git a/artemis-server/src/test/java/org/apache/activemq/artemis/core/server/management/JMXAccessControlListTest.java \
b/artemis-server/src/test/java/org/apache/activemq/artemis/core/server/management/JMXAccessControlListTest.java
index 4849bfb481..f1e4ea9431 100644
--- a/artemis-server/src/test/java/org/apache/activemq/artemis/core/server/management/JMXAccessControlListTest.java
+++ b/artemis-server/src/test/java/org/apache/activemq/artemis/core/server/management/JMXAccessControlListTest.java
@@ -60,6 +60,30 @@ public class JMXAccessControlListTest {
Assert.assertTrue(controlList.isInAllowList(new \
ObjectName("org.myDomain:type=foo"))); }
+ @Test
+ public void testWildcardDomain() throws MalformedObjectNameException {
+ JMXAccessControlList controlList = new JMXAccessControlList();
+ controlList.addToAllowList("*", null);
+ Assert.assertTrue(controlList.isInAllowList(new \
ObjectName("org.myDomain:*"))); + \
Assert.assertTrue(controlList.isInAllowList(new ObjectName("org.myDomain.foo:*"))); + \
} +
+ @Test
+ public void testWildcardDomainWithProperty() throws MalformedObjectNameException \
{ + JMXAccessControlList controlList = new JMXAccessControlList();
+ controlList.addToAllowList("*", "type=foo");
+ controlList.addToAllowList("org.myDomain.foo", "type=bar");
+ Assert.assertFalse(controlList.isInAllowList(new \
ObjectName("org.myDomain:*"))); + \
Assert.assertFalse(controlList.isInAllowList(new ObjectName("org.myDomain.foo:*"))); \
+ Assert.assertTrue(controlList.isInAllowList(new \
ObjectName("org.myDomain.foo:type=bar"))); + \
Assert.assertFalse(controlList.isInAllowList(new \
ObjectName("org.myDomain.foo:type=foo"))); + \
Assert.assertFalse(controlList.isInAllowList(new ObjectName("org.myDomain.bar:*"))); \
+ Assert.assertFalse(controlList.isInAllowList(new \
ObjectName("org.myDomain:subType=foo"))); +
+ Assert.assertTrue(controlList.isInAllowList(new \
ObjectName("org.myDomain:type=foo"))); + \
Assert.assertTrue(controlList.isInAllowList(new \
ObjectName("org.myDomain:subType=bar,type=foo"))); + }
+
@Test
public void testBasicRole() throws MalformedObjectNameException {
JMXAccessControlList controlList = new JMXAccessControlList();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic