From ef774d4be8247bc70880730aadab4869467ec373 Mon Sep 17 00:00:00 2001 From: zefie Date: Thu, 19 Jun 2025 16:25:51 -0400 Subject: [PATCH] limit channel modes to supported modes --- zefie_wtvp_minisrv/includes/classes/WTVIRC.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/zefie_wtvp_minisrv/includes/classes/WTVIRC.js b/zefie_wtvp_minisrv/includes/classes/WTVIRC.js index d3a42085..163daddb 100644 --- a/zefie_wtvp_minisrv/includes/classes/WTVIRC.js +++ b/zefie_wtvp_minisrv/includes/classes/WTVIRC.js @@ -4048,6 +4048,7 @@ class WTVIRC { processChannelModes(nickname, channel, modes, params, socket) { // Split modes into array and process each character let modeChars = modes.split(''); + let supportedChannelModes = this.supported_channel_modes.split(',').join('').split(''); var serverModeMsg = ''; var target = null; if (socket.isserver) { @@ -4138,6 +4139,10 @@ class WTVIRC { serverModeMsg += '-'; continue; } + if (!supportedChannelModes.includes(mc)) { + socket.write(`:${this.servername} 472 ${nickname} ${channel} :Unknown channel mode char: ${mc}\r\n`); + continue; + } modeStr += mc; // Modes that require a parameter if (['o', 'I', 'b', 'e', 'v', 'h', 'l', 'k'].includes(mc)) {