From 5c09bb5b67b45711f96514cb600b3befe36616c9 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Wed, 31 Jul 2024 14:27:10 +0100 Subject: Only allow the IRCv3 WebSocket subprotocols on client connections. --- src/modules/m_websocket.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/modules/m_websocket.cpp') diff --git a/src/modules/m_websocket.cpp b/src/modules/m_websocket.cpp index edf90db22..5167c7faa 100644 --- a/src/modules/m_websocket.cpp +++ b/src/modules/m_websocket.cpp @@ -472,10 +472,10 @@ class WebSocketHook final { proto.erase(std::remove_if(proto.begin(), proto.end(), ::isspace), proto.end()); - bool is_binary = insp::equalsci(proto, "binary.ircv3.net") + auto is_binary = (sock->type == StreamSocket::SS_USER && insp::equalsci(proto, "binary.ircv3.net")) || insp::equalsci(proto, "binary.inspircd.org"); - bool is_text = insp::equalsci(proto, "text.ircv3.net") + auto is_text = (sock->type == StreamSocket::SS_USER && insp::equalsci(proto, "text.ircv3.net")) || insp::equalsci(proto, "text.inspircd.org"); if (is_binary || is_text) -- cgit v1.3.1-10-gc9f91