From commits-return-63606-archive-asf-public=cust-asf.ponee.io@activemq.apache.org Tue Jun 15 19:07:07 2021 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mxout1-he-de.apache.org (mxout1-he-de.apache.org [95.216.194.37]) by mx-eu-01.ponee.io (Postfix) with ESMTPS id E5023180679 for ; Tue, 15 Jun 2021 21:07:07 +0200 (CEST) Received: from mail.apache.org (mailroute1-lw-us.apache.org [207.244.88.153]) by mxout1-he-de.apache.org (ASF Mail Server at mxout1-he-de.apache.org) with SMTP id 4B2C8609F0 for ; Tue, 15 Jun 2021 19:07:07 +0000 (UTC) Received: (qmail 97269 invoked by uid 500); 15 Jun 2021 19:07:06 -0000 Mailing-List: contact commits-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list commits@activemq.apache.org Received: (qmail 97249 invoked by uid 99); 15 Jun 2021 19:07:05 -0000 Received: from ec2-52-202-80-70.compute-1.amazonaws.com (HELO gitbox.apache.org) (52.202.80.70) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 15 Jun 2021 19:07:05 +0000 Received: by gitbox.apache.org (ASF Mail Server at gitbox.apache.org, from userid 33) id 87E9E81A86; Tue, 15 Jun 2021 19:07:05 +0000 (UTC) Date: Tue, 15 Jun 2021 19:07:05 +0000 To: "commits@activemq.apache.org" Subject: [activemq-artemis] branch main updated: ARTEMIS-3339 Fix management role match key comparator MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Message-ID: <162378402505.1538.8165009937054760342@gitbox.apache.org> From: clebertsuconic@apache.org X-Git-Host: gitbox.apache.org X-Git-Repo: activemq-artemis X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Oldrev: 48d489ec424e8b4726cf53bf129cc82b9bbed93b X-Git-Newrev: b1d326ba8be43db3fe4724872d2871d2efb05294 X-Git-Rev: b1d326ba8be43db3fe4724872d2871d2efb05294 X-Git-NotificationType: ref_changed_plus_diff X-Git-Multimail-Version: 1.5.dev Auto-Submitted: auto-generated 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 b1d326b ARTEMIS-3339 Fix management role match key comparator b1d326b is described below commit b1d326ba8be43db3fe4724872d2871d2efb05294 Author: Domenico Francesco Bruscino AuthorDate: Tue Jun 15 15:07:58 2021 +0200 ARTEMIS-3339 Fix management role match key comparator --- .../artemis/core/server/management/JMXAccessControlList.java | 7 ++++--- .../artemis/core/server/management/JMXAccessControlListTest.java | 7 +++++-- 2 files changed, 9 insertions(+), 5 deletions(-) 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 f09e91a..956726c 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 @@ -41,10 +41,11 @@ public class JMXAccessControlList { return +1; } else if (!key1ContainsWildCard && key2ContainsWildcard) { return -1; - } else if (key1ContainsWildCard && key2ContainsWildcard) { - return key2.length() - key1.length(); + } else if (key1.length() == key2.length()) { + return key1.compareTo(key2); } - return key1.length() - key2.length(); + + return key2.length() - key1.length(); }; public void addToWhiteList(String domain, String key) { 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 e0b0233..9fe549c 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 @@ -99,10 +99,13 @@ public class JMXAccessControlListTest { public void testBasicRoleWithWildcardInKey() throws MalformedObjectNameException { JMXAccessControlList controlList = new JMXAccessControlList(); controlList.addToRoleAccess("org.myDomain", "type=foo*","listSomething", "update"); + controlList.addToRoleAccess("org.myDomain", "type=bar*","listSomething", "browse"); controlList.addToRoleAccess("org.myDomain", "type=foo.bar*","listSomething", "admin"); controlList.addToRoleAccess("org.myDomain", null,"listSomething", "view"); - List roles = controlList.getRolesForObject(new ObjectName("org.myDomain:type=foo.bar.test"), "listSomething"); - Assert.assertArrayEquals(roles.toArray(), new String[]{"admin"}); + Assert.assertArrayEquals(controlList.getRolesForObject(new ObjectName("org.myDomain:type=foo.bar.test"), + "listSomething").toArray(), new String[]{"admin"}); + Assert.assertArrayEquals(controlList.getRolesForObject(new ObjectName("org.myDomain:type=bar.test"), + "listSomething").toArray(), new String[]{"browse"}); } @Test