Merge pull request #228 from simoleo89/fix/modtool-inputs

fix(modtool): bound staff supplied targets
This commit is contained in:
DuckieTM
2026-06-17 10:00:31 +02:00
committed by GitHub
12 changed files with 50 additions and 8 deletions
@@ -109,4 +109,28 @@ class ModToolPermissionContractTest {
handler + " must reject empty or oversized staff-supplied text");
}
}
@Test
void staffSuppliedModToolTargetsArePositiveBeforeLookupOrMutation() throws Exception {
Path base = Path.of("src/main/java/com/eu/habbo/messages/incoming/modtool");
for (String handler : List.of(
"ModToolAlertEvent.java",
"ModToolWarnEvent.java",
"ModToolKickEvent.java",
"ModToolChangeRoomSettingsEvent.java",
"ModToolRequestRoomInfoEvent.java",
"ModToolRequestRoomVisitsEvent.java",
"ModToolIssueDefaultSanctionEvent.java",
"ModToolSanctionAlertEvent.java",
"ModToolSanctionBanEvent.java",
"ModToolSanctionMuteEvent.java",
"ModToolSanctionTradeLockEvent.java"
)) {
String source = Files.readString(base.resolve(handler));
assertTrue(source.contains("ModToolTicketGuard.isPositiveId"),
handler + " must reject zero or negative client-provided ids before manager/database lookups");
}
}
}