summaryrefslogtreecommitdiff
path: root/packages/backend/src/server
diff options
context:
space:
mode:
authorHazelnoot <acomputerdog@gmail.com>2024-12-08 12:02:58 -0500
committerHazelnoot <acomputerdog@gmail.com>2024-12-08 12:02:58 -0500
commitfc4599ec07bb8def91fedf5afa9bb469bb54362a (patch)
treeaad248e19cd4fbf7088c35df7e77756e805422ec /packages/backend/src/server
parentbypass rate limits when factor is 0 (diff)
downloadsharkey-fc4599ec07bb8def91fedf5afa9bb469bb54362a.tar.gz
sharkey-fc4599ec07bb8def91fedf5afa9bb469bb54362a.tar.bz2
sharkey-fc4599ec07bb8def91fedf5afa9bb469bb54362a.zip
fix rate limit scaling (it's no longer inverted)
Diffstat (limited to 'packages/backend/src/server')
-rw-r--r--packages/backend/src/server/api/SkRateLimiterService.ts4
1 files changed, 2 insertions, 2 deletions
diff --git a/packages/backend/src/server/api/SkRateLimiterService.ts b/packages/backend/src/server/api/SkRateLimiterService.ts
index d9abbfd406..1aee8aa799 100644
--- a/packages/backend/src/server/api/SkRateLimiterService.ts
+++ b/packages/backend/src/server/api/SkRateLimiterService.ts
@@ -95,7 +95,7 @@ export class SkRateLimiterService {
if (limit.minInterval < 0) throw new Error(`Invalid rate limit ${limit.key}: minInterval is negative (${limit.minInterval})`);
const counter = await this.getLimitCounter(limit, actor, 'min');
- const minInterval = Math.max(Math.ceil(limit.minInterval / factor), 0);
+ const minInterval = Math.max(Math.ceil(limit.minInterval * factor), 0);
// Update expiration
if (counter.c > 0) {
@@ -132,7 +132,7 @@ export class SkRateLimiterService {
if (limit.dripSize != null && limit.dripSize < 1) throw new Error(`Invalid rate limit ${limit.key}: dripSize is less than 1 (${limit.dripSize})`);
const counter = await this.getLimitCounter(limit, actor, 'bucket');
- const bucketSize = Math.max(Math.ceil(limit.size * factor), 1);
+ const bucketSize = Math.max(Math.ceil(limit.size / factor), 1);
const dripRate = Math.ceil(limit.dripRate ?? 1000);
const dripSize = Math.ceil(limit.dripSize ?? 1);