summaryrefslogtreecommitdiff
path: root/kde-misc/kdeconnect/files/kdeconnect-20.04.3-06-Don-t-brute-force-reading-the-socket.patch
diff options
context:
space:
mode:
Diffstat (limited to 'kde-misc/kdeconnect/files/kdeconnect-20.04.3-06-Don-t-brute-force-reading-the-socket.patch')
-rw-r--r--kde-misc/kdeconnect/files/kdeconnect-20.04.3-06-Don-t-brute-force-reading-the-socket.patch102
1 files changed, 0 insertions, 102 deletions
diff --git a/kde-misc/kdeconnect/files/kdeconnect-20.04.3-06-Don-t-brute-force-reading-the-socket.patch b/kde-misc/kdeconnect/files/kdeconnect-20.04.3-06-Don-t-brute-force-reading-the-socket.patch
deleted file mode 100644
index 7bb674a8e8f2..000000000000
--- a/kde-misc/kdeconnect/files/kdeconnect-20.04.3-06-Don-t-brute-force-reading-the-socket.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From 721ba9faafb79aac73973410ee1dd3624ded97a5 Mon Sep 17 00:00:00 2001
-From: Aleix Pol <aleixpol@kde.org>
-Date: Wed, 16 Sep 2020 02:27:13 +0200
-Subject: [PATCH 06/10] Don't brute-force reading the socket
-
-The package will arrive eventually, and dataReceived will be emitted.
-Otherwise we just end up calling dataReceived to no end.
-
-Thanks Matthias Gerstner <mgerstner@suse.de> for reporting this.
----
- core/backends/lan/socketlinereader.cpp | 8 -------
- tests/testsocketlinereader.cpp | 31 ++++++++++++++++++++++++--
- 2 files changed, 29 insertions(+), 10 deletions(-)
-
-diff --git a/core/backends/lan/socketlinereader.cpp b/core/backends/lan/socketlinereader.cpp
-index f67fdf3f..da77052a 100644
---- a/core/backends/lan/socketlinereader.cpp
-+++ b/core/backends/lan/socketlinereader.cpp
-@@ -38,14 +38,6 @@ void SocketLineReader::dataReceived()
- }
- }
-
-- //If we still have things to read from the socket, call dataReceived again
-- //We do this manually because we do not trust readyRead to be emitted again
-- //So we call this method again just in case.
-- if (m_socket->bytesAvailable() > 0) {
-- QMetaObject::invokeMethod(this, "dataReceived", Qt::QueuedConnection);
-- return;
-- }
--
- //If we have any packets, tell it to the world.
- if (!m_packets.isEmpty()) {
- Q_EMIT readyRead();
-diff --git a/tests/testsocketlinereader.cpp b/tests/testsocketlinereader.cpp
-index 75584556..b6425b03 100644
---- a/tests/testsocketlinereader.cpp
-+++ b/tests/testsocketlinereader.cpp
-@@ -25,16 +25,19 @@
- #include <QProcess>
- #include <QEventLoop>
- #include <QTimer>
-+#include <QSignalSpy>
-
- class TestSocketLineReader : public QObject
- {
- Q_OBJECT
- public Q_SLOTS:
-- void initTestCase();
-+ void init();
-+ void cleanup() { delete m_server; }
- void newPacket();
-
- private Q_SLOTS:
- void socketLineReader();
-+ void badData();
-
- private:
- QTimer m_timer;
-@@ -45,8 +48,9 @@ private:
- SocketLineReader* m_reader;
- };
-
--void TestSocketLineReader::initTestCase()
-+void TestSocketLineReader::init()
- {
-+ m_packets.clear();
- m_server = new Server(this);
-
- QVERIFY2(m_server->listen(QHostAddress::LocalHost, 8694), "Failed to create local tcp server");
-@@ -97,6 +101,29 @@ void TestSocketLineReader::socketLineReader()
- }
- }
-
-+void TestSocketLineReader::badData()
-+{
-+ const QList<QByteArray> dataToSend = { "data1\n", "data" }; //does not end in a \n
-+ for (const QByteArray& line : qAsConst(dataToSend)) {
-+ m_conn->write(line);
-+ }
-+ m_conn->flush();
-+
-+ QSignalSpy spy(m_server, &QTcpServer::newConnection);
-+ QVERIFY(m_server->hasPendingConnections() || spy.wait(1000));
-+ QSslSocket* sock = m_server->nextPendingConnection();
-+
-+ QVERIFY2(sock != nullptr, "Could not open a connection to the client");
-+
-+ m_reader = new SocketLineReader(sock, this);
-+ connect(m_reader, &SocketLineReader::readyRead, this, &TestSocketLineReader::newPacket);
-+ m_timer.start();
-+ m_loop.exec();
-+
-+ QCOMPARE(m_packets.count(), 1);
-+ QCOMPARE(m_packets[0], dataToSend[0]);
-+}
-+
- void TestSocketLineReader::newPacket()
- {
- if (!m_reader->bytesAvailable()) {
---
-2.28.0
-