summaryrefslogtreecommitdiff
path: root/packages/backend/src
diff options
context:
space:
mode:
authorsyuilo <4439005+syuilo@users.noreply.github.com>2024-08-17 09:30:03 +0900
committerdakkar <dakkar@thenautilus.net>2024-08-17 17:54:04 +0100
commit76bbc10aa1305ce88c61783a6ac8aec4371eaa2b (patch)
tree9f53a34c8bba2d02d3f22c62e228a91a68def375 /packages/backend/src
parentLimit number of rate limit requests (diff)
downloadsharkey-76bbc10aa1305ce88c61783a6ac8aec4371eaa2b.tar.gz
sharkey-76bbc10aa1305ce88c61783a6ac8aec4371eaa2b.tar.bz2
sharkey-76bbc10aa1305ce88c61783a6ac8aec4371eaa2b.zip
fix(backend): 無制限にストリーミングのチャンネルに接続できる問題を修正
Diffstat (limited to 'packages/backend/src')
-rw-r--r--packages/backend/src/server/api/stream/Connection.ts6
1 files changed, 6 insertions, 0 deletions
diff --git a/packages/backend/src/server/api/stream/Connection.ts b/packages/backend/src/server/api/stream/Connection.ts
index 0a7828d163..e8cd557c1c 100644
--- a/packages/backend/src/server/api/stream/Connection.ts
+++ b/packages/backend/src/server/api/stream/Connection.ts
@@ -20,6 +20,8 @@ import type Channel from './channel.js';
import { LoggerService } from '@/core/LoggerService.js';
import type Logger from '@/logger.js';
+const MAX_CHANNELS_PER_CONNECTION = 32;
+
/**
* Main stream connection
*/
@@ -283,6 +285,10 @@ export default class Connection {
*/
@bindThis
public connectChannel(id: string, params: any, channel: string, pong = false) {
+ if (this.channels.length >= MAX_CHANNELS_PER_CONNECTION) {
+ return;
+ }
+
const channelService = this.channelsService.getChannelService(channel);
if (channelService.requireCredential && this.user == null) {