This is an automated email from the ASF dual-hosted git repository.

dinglei pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq.git


The following commit(s) were added to refs/heads/develop by this push:
     new e656f91da5 [ISSUE #7929] Add some request codes to the permission 
verification for the admin role (#7930)
e656f91da5 is described below

commit e656f91da5c5376fb30c36fc18048a2b62eb08fc
Author: rongtong <jinrongto...@163.com>
AuthorDate: Mon Mar 18 13:56:24 2024 +0800

    [ISSUE #7929] Add some request codes to the permission verification for the 
admin role (#7930)
    
    * Add some request codes to the permission verification for the admin role
    
    * Fix UT can not pass
---
 .../java/org/apache/rocketmq/acl/common/Permission.java   |  8 ++++++++
 .../org/apache/rocketmq/acl/common/PermissionTest.java    | 15 ++++++++++-----
 2 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/acl/src/main/java/org/apache/rocketmq/acl/common/Permission.java 
b/acl/src/main/java/org/apache/rocketmq/acl/common/Permission.java
index 38649b0832..27fac59d58 100644
--- a/acl/src/main/java/org/apache/rocketmq/acl/common/Permission.java
+++ b/acl/src/main/java/org/apache/rocketmq/acl/common/Permission.java
@@ -43,6 +43,14 @@ public class Permission {
         ADMIN_CODE.add(RequestCode.UPDATE_AND_CREATE_SUBSCRIPTIONGROUP);
         // DELETE_SUBSCRIPTIONGROUP
         ADMIN_CODE.add(RequestCode.DELETE_SUBSCRIPTIONGROUP);
+        // UPDATE_AND_CREATE_STATIC_TOPIC
+        ADMIN_CODE.add(RequestCode.UPDATE_AND_CREATE_STATIC_TOPIC);
+        // UPDATE_AND_CREATE_ACL_CONFIG
+        ADMIN_CODE.add(RequestCode.UPDATE_AND_CREATE_ACL_CONFIG);
+        // DELETE_ACL_CONFIG
+        ADMIN_CODE.add(RequestCode.DELETE_ACL_CONFIG);
+        // GET_BROKER_CLUSTER_ACL_INFO
+        ADMIN_CODE.add(RequestCode.GET_BROKER_CLUSTER_ACL_INFO);
     }
 
     public static boolean checkPermission(byte neededPerm, byte ownedPerm) {
diff --git 
a/acl/src/test/java/org/apache/rocketmq/acl/common/PermissionTest.java 
b/acl/src/test/java/org/apache/rocketmq/acl/common/PermissionTest.java
index 8fd8052c8a..39ddbd3eea 100644
--- a/acl/src/test/java/org/apache/rocketmq/acl/common/PermissionTest.java
+++ b/acl/src/test/java/org/apache/rocketmq/acl/common/PermissionTest.java
@@ -23,6 +23,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import org.apache.rocketmq.acl.plain.PlainAccessResource;
+import org.apache.rocketmq.remoting.protocol.RequestCode;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -141,11 +142,15 @@ public class PermissionTest {
     @Test
     public void checkAdminCodeTest() {
         Set<Integer> code = new HashSet<>();
-        code.add(17);
-        code.add(25);
-        code.add(215);
-        code.add(200);
-        code.add(207);
+        code.add(RequestCode.UPDATE_AND_CREATE_TOPIC);
+        code.add(RequestCode.UPDATE_BROKER_CONFIG);
+        code.add(RequestCode.DELETE_TOPIC_IN_BROKER);
+        code.add(RequestCode.UPDATE_AND_CREATE_SUBSCRIPTIONGROUP);
+        code.add(RequestCode.DELETE_SUBSCRIPTIONGROUP);
+        code.add(RequestCode.UPDATE_AND_CREATE_STATIC_TOPIC);
+        code.add(RequestCode.UPDATE_AND_CREATE_ACL_CONFIG);
+        code.add(RequestCode.DELETE_ACL_CONFIG);
+        code.add(RequestCode.GET_BROKER_CLUSTER_ACL_INFO);
 
         for (int i = 0; i < 400; i++) {
             boolean boo = Permission.needAdminPerm(i);

Reply via email to