diff options
author | Trumeet <yuuta@yuuta.moe> | 2022-07-13 12:20:51 -0700 |
---|---|---|
committer | Trumeet <yuuta@yuuta.moe> | 2022-07-13 12:21:04 -0700 |
commit | 83e5d05251f918c6a4775c92e9c95096aaef8292 (patch) | |
tree | 8698e80aa0e8dfe10996b9a94146c7aaee399f06 /src/main/java/moe/ymc/acron/auth/PolicyChecker.java | |
parent | 8ede1787ee91bfb55a866a345a40c63210539e3e (diff) | |
download | acron-83e5d05251f918c6a4775c92e9c95096aaef8292.tar acron-83e5d05251f918c6a4775c92e9c95096aaef8292.tar.gz acron-83e5d05251f918c6a4775c92e9c95096aaef8292.tar.bz2 acron-83e5d05251f918c6a4775c92e9c95096aaef8292.zip |
Fix command leading slash not ignored during permission check
Signed-off-by: Trumeet <yuuta@yuuta.moe>
Diffstat (limited to 'src/main/java/moe/ymc/acron/auth/PolicyChecker.java')
-rw-r--r-- | src/main/java/moe/ymc/acron/auth/PolicyChecker.java | 5 |
1 files changed, 4 insertions, 1 deletions
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<Action, Boolean> 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).", |