Skip to content

Commit 308dfcc

Browse files
committed
move disallowed characters RegEx to config
1 parent 0cb8bf7 commit 308dfcc

File tree

3 files changed

+15
-1
lines changed

3 files changed

+15
-1
lines changed

src/main/java/pro/cloudnode/smp/bankaccounts/BankConfig.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import java.util.Optional;
2727
import java.util.Set;
2828
import java.util.TimeZone;
29+
import java.util.regex.Pattern;
2930

3031
public final class BankConfig {
3132
public @NotNull FileConfiguration config;
@@ -422,6 +423,11 @@ public int invoicePerPage() {
422423
return config.getInt("invoice.per-page");
423424
}
424425

426+
// disallowed-regex
427+
public @NotNull Pattern disallowedRegex() {
428+
return Pattern.compile(Objects.requireNonNull(config.getString("disallowed-regex")));
429+
}
430+
425431
// messages.command-usage
426432
public @NotNull Component messagesCommandUsage(final @NotNull String command, final @NotNull String arguments) {
427433
return MiniMessage.miniMessage().deserialize(

src/main/java/pro/cloudnode/smp/bankaccounts/Command.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,10 @@ public final boolean onCommand(final @NotNull CommandSender sender, final @NotNu
9393
.filter(codePoint -> codePoint > 0xFFFF)
9494
.mapToObj(codePoint -> new String(Character.toChars(codePoint)))
9595
.collect(Collectors.toSet());
96-
final @NotNull Matcher matcher = Pattern.compile("[<>\\x00-\\x08\\x0B-\\x1F\\x7F-\\x9F\\u2400-\\u2421\\u200B-\\u200D\\uFEFF\\uD800-\\uDB7F\\uDFFF]").matcher(input);
96+
final @NotNull Matcher matcher = BankAccounts.getInstance().config().disallowedRegex().matcher(input);
9797
while (matcher.find()) chars.add(matcher.group());
98+
if (input.contains("<")) chars.add("<");
99+
if (input.contains(">")) chars.add(">");
98100
return chars;
99101
}
100102
}

src/main/resources/config.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,12 @@ invoice:
257257
# Number of invoices to return per page
258258
per-page: 10
259259

260+
# Advanced: do not edit unless you have good understanding of RegEx
261+
# Regular expression for disallowed characters user-provided text inputs
262+
# e.g. account name, transaction description, POS description, invoice description
263+
# Note: additionally <> and characters with code point above 0xFFFF are always disallowed.
264+
disallowed-regex: [\x00-\x08\x0B-\x1F\x7F-\x9F\u2400-\u2421\u200B-\u200D\uFEFF\uD800-\uDB7F\uDFFF]
265+
260266
# Messages
261267
messages:
262268
# Command usage message

0 commit comments

Comments
 (0)