From 83e5d05251f918c6a4775c92e9c95096aaef8292 Mon Sep 17 00:00:00 2001 From: Trumeet Date: Wed, 13 Jul 2022 12:20:51 -0700 Subject: Fix command leading slash not ignored during permission check Signed-off-by: Trumeet --- src/main/java/moe/ymc/acron/auth/PolicyChecker.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/moe/ymc/acron/auth/PolicyChecker.java b/src/main/java/moe/ymc/acron/auth/PolicyChecker.java index 5dea02a..2ab7b97 100644 --- a/src/main/java/moe/ymc/acron/auth/PolicyChecker.java +++ b/src/main/java/moe/ymc/acron/auth/PolicyChecker.java @@ -10,9 +10,12 @@ public class PolicyChecker { public static Pair check(@NotNull Client client, @NotNull String command) { + final String commandToMatch = command.startsWith("/") ? + command.substring(1) : + command; for (int i = 0; i < client.rules().length; i++) { final Rule rule = client.rules()[i]; - if (rule.cmdPattern().matcher(command).matches()) { + if (rule.cmdPattern().matcher(commandToMatch).matches()) { if (rule.action() == Action.DENY) { LOGGER.warn("The command from client {}, `{}`, was " + "explicitly denied by rule #{} (starting from 1).", -- cgit v1.2.3