Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.3:Update
kdeconnect-kde.16873
0006-Limit-number-of-connected-sockets-from-unp...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0006-Limit-number-of-connected-sockets-from-unpaired-devi.patch of Package kdeconnect-kde.16873
From c9315f891de6248e70d6e09155d588f27570b661 Mon Sep 17 00:00:00 2001 From: Albert Vaca Cintora <albertvaka@gmail.com> Date: Thu, 24 Sep 2020 17:13:34 +0200 Subject: [PATCH 6/9] Limit number of connected sockets from unpaired devices Thanks Matthias Gerstner <mgerstner@suse.de> for reporting this. --- core/backends/lan/lanlinkprovider.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/core/backends/lan/lanlinkprovider.cpp b/core/backends/lan/lanlinkprovider.cpp index c739e093..00e2c01b 100644 --- a/core/backends/lan/lanlinkprovider.cpp +++ b/core/backends/lan/lanlinkprovider.cpp @@ -46,6 +46,8 @@ #define MIN_VERSION_WITH_SSL_SUPPORT 6 +static const int MAX_UNPAIRED_CONNECTIONS = 42; + LanLinkProvider::LanLinkProvider( bool testMode, quint16 udpBroadcastPort, @@ -545,6 +547,15 @@ void LanLinkProvider::addLink(const QString& deviceId, QSslSocket* socket, Netwo deviceLink->reset(socket, connectionOrigin); } else { deviceLink = new LanDeviceLink(deviceId, this, socket, connectionOrigin); + // Socket disconnection will now be handled by LanDeviceLink + disconnect(socket, &QAbstractSocket::disconnected, socket, &QObject::deleteLater); + bool isDeviceTrusted = KdeConnectConfig::instance().trustedDevices().contains(deviceId); + if (!isDeviceTrusted && m_links.size() > MAX_UNPAIRED_CONNECTIONS) { + qCWarning(KDECONNECT_CORE) << "Too many unpaired devices to remember them all. Ignoring " << deviceId; + socket->disconnectFromHost(); + socket->deleteLater(); + return; + } connect(deviceLink, &QObject::destroyed, this, &LanLinkProvider::deviceLinkDestroyed); m_links[deviceId] = deviceLink; if (m_pairingHandlers.contains(deviceId)) { -- 2.28.0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor