From 688ccf811ba25c0c6b46a9c28ccd37118bc4a7b8 Mon Sep 17 00:00:00 2001 From: undefined Date: Sat, 22 Jan 2022 16:55:00 +0800 Subject: [PATCH] core: allow rate limit override --- packages/hydrooj/package.json | 4 ++-- packages/hydrooj/src/service/server.ts | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index a3cb36199..d99b6b292 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "3.3.13", + "version": "3.3.14", "bin": "bin/hydrooj.js", "main": "src/loader", "module": "src/loader", @@ -36,7 +36,7 @@ "minio": "7.0.25", "moment-timezone": "^0.5.34", "mongodb": "^3.7.3", - "nanoid": "^3.1.30", + "nanoid": "^3.2.0", "nodemailer": "^6.7.2", "notp": "^2.0.3", "p-queue": "^7.1.0", diff --git a/packages/hydrooj/src/service/server.ts b/packages/hydrooj/src/service/server.ts index 2c73631d2..ef1a2dfda 100644 --- a/packages/hydrooj/src/service/server.ts +++ b/packages/hydrooj/src/service/server.ts @@ -314,8 +314,9 @@ export class HandlerCommon { async limitRate(op: string, periodSecs: number, maxOperations: number) { if (ignoredLimit.includes(op)) return; - // TODO: support limit override if (this.user && this.user.hasPriv(PRIV.PRIV_UNLIMITED_ACCESS)) return; + const overrideLimit = system.get(`limit.${op}`); + if (overrideLimit) maxOperations = overrideLimit; await opcount.inc(op, this.request.ip, periodSecs, maxOperations); }