diff options
| author | Hazelnoot <acomputerdog@gmail.com> | 2024-12-08 12:02:58 -0500 |
|---|---|---|
| committer | Hazelnoot <acomputerdog@gmail.com> | 2024-12-08 12:02:58 -0500 |
| commit | fc4599ec07bb8def91fedf5afa9bb469bb54362a (patch) | |
| tree | aad248e19cd4fbf7088c35df7e77756e805422ec /packages/backend/src/server | |
| parent | bypass rate limits when factor is 0 (diff) | |
| download | sharkey-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.ts | 4 |
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); |