diff --git a/zefie_wtvp_minisrv/includes/classes/WTVIRC.js b/zefie_wtvp_minisrv/includes/classes/WTVIRC.js index 8c19c838..74995475 100644 --- a/zefie_wtvp_minisrv/includes/classes/WTVIRC.js +++ b/zefie_wtvp_minisrv/includes/classes/WTVIRC.js @@ -474,9 +474,17 @@ class WTVIRC { } else if (mode.startsWith('+z') || mode.startsWith('-z')) { socket.write(`:${this.servername} 472 ${socket.nickname} ${mode.slice(1)} :is set by the server and cannot be changed\r\n`); } else if (mode.startsWith('+Z')) { + if (!socket.secure) { + socket.write(`:${this.servername} 482 ${socket.nickname} :You must be secure to set this mode\r\n`); + break; + } this.usermodes.set(socket.nickname, [...usermodes, 'Z']); socket.write(`:${socket.nickname}!${socket.username}@${socket.host} MODE ${socket.nickname} +Z\r\n`); } else if (mode.startsWith('-Z')) { + if (!socket.secure) { + socket.write(`:${this.servername} 482 ${socket.nickname} :You must be secure to set this mode\r\n`); + break; + } this.usermodes.set(socket.nickname, (usermodes).filter(m => m !== 'Z')); socket.write(`:${socket.nickname}!${socket.username}@${socket.host} MODE ${socket.nickname} -Z\r\n`); } else {