diff options
| author | Pinapelz <yukais@pinapelz.com> | 2026-01-11 23:13:37 -0800 |
|---|---|---|
| committer | Pinapelz <yukais@pinapelz.com> | 2026-01-11 23:13:37 -0800 |
| commit | 46752c18935e095908b7fe653ea83a617b16cc17 (patch) | |
| tree | a23a0cff404d5da8f9ed9f532fee0703f3b95a73 | |
| parent | 22cc66f6f9a8893722d3073409cbeb11f89e66b1 (diff) | |
add check for url unsafe characters in file prefix name
| -rw-r--r-- | src/main/java/com/pinapelz/frontend/App.kt | 7 | ||||
| -rw-r--r-- | src/main/java/com/pinapelz/frontend/WebhookManager.kt | 10 |
2 files changed, 6 insertions, 11 deletions
diff --git a/src/main/java/com/pinapelz/frontend/App.kt b/src/main/java/com/pinapelz/frontend/App.kt index 60a4bea..fd5d75c 100644 --- a/src/main/java/com/pinapelz/frontend/App.kt +++ b/src/main/java/com/pinapelz/frontend/App.kt @@ -372,7 +372,12 @@ fun validateDirectoryName(path: String): String? { if (path.length !in 1..100) { return "Directory name must be 1-100 characters long" } - val invalidChars = Regex("[<>:\"/\\\\|?*\\x00-\\x1f]") + + if (!path.all { it.code <= 127 }) { + return "Directory name can only contain ASCII characters" + } + + val invalidChars = Regex("[<>:\"/\\\\|?*\\x00-\\x1f#%&+@\\[\\]{}^`~;=']") if (invalidChars.containsMatchIn(path)) { return "Directory name contains invalid characters" } diff --git a/src/main/java/com/pinapelz/frontend/WebhookManager.kt b/src/main/java/com/pinapelz/frontend/WebhookManager.kt index 8b35804..2f17b77 100644 --- a/src/main/java/com/pinapelz/frontend/WebhookManager.kt +++ b/src/main/java/com/pinapelz/frontend/WebhookManager.kt @@ -152,14 +152,4 @@ class WebhookManager(webhooksFilePath: String) { return WebhookUploadResult(false, error = "Unexpected error: ${e.message}") } } - - fun getWebhookCount(): Int = webhooks.size - - fun getAvailableWebhookCount(): Long { - val currentTime = System.currentTimeMillis() - return webhooks.count { webhook -> - val lastUsed = webhookCooldowns[webhook] ?: 0 - (currentTime - lastUsed) >= cooldownPeriodMs - }.toLong() - } } |
