From bbe43d42463ff8e4dfbe4e4a44e4732b022dff8b Mon Sep 17 00:00:00 2001 From: Zach H Date: Sun, 25 Jul 2021 20:28:14 -0400 Subject: [PATCH] Prevent users from being able to upload super large files via Sockets, which could inadvertently deny access to the server (#4398) --- servatrice/src/serversocketinterface.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/servatrice/src/serversocketinterface.cpp b/servatrice/src/serversocketinterface.cpp index f2d0e1a3..a861bb9c 100644 --- a/servatrice/src/serversocketinterface.cpp +++ b/servatrice/src/serversocketinterface.cpp @@ -1696,11 +1696,16 @@ void WebsocketServerSocketInterface::initConnection(void *_socket) } socket = (QWebSocket *)_socket; socket->setParent(this); +#if (QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)) + // https://bugreports.qt.io/browse/QTBUG-70693 + socket->setMaxAllowedIncomingMessageSize(1500000); // 1.5MB +#endif + address = socket->peerAddress(); QByteArray websocketIPHeader = settingsCache->value("server/web_socket_ip_header", "").toByteArray(); if (websocketIPHeader.length() > 0) { -#if QT_VERSION >= 0x050600 +#if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)) if (socket->request().hasRawHeader(websocketIPHeader)) { QString header(socket->request().rawHeader(websocketIPHeader)); QHostAddress parsed(header);