From 9c417bacd51da6d8b57fa9f37425161d30d4b95b Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 28 Nov 2020 20:40:51 +0000 Subject: gentoo resync : 28.11.2020 --- kde-misc/Manifest.gz | Bin 5271 -> 5267 bytes kde-misc/kdeconnect/Manifest | 10 -- ...re-SSL-errors-except-for-self-signed-cert.patch | 65 ------------- ...ot-leak-the-local-user-in-the-device-name.patch | 32 ------- ...fter-free-in-LanLinkProvider-connectError.patch | 28 ------ ...20.04.3-04-Limit-identity-packets-to-8KiB.patch | 36 -------- ...lanlink-connections-stay-open-for-long-wi.patch | 37 -------- ...3-06-Don-t-brute-force-reading-the-socket.patch | 102 --------------------- ...r-of-connected-sockets-from-unpaired-devi.patch | 42 --------- ...mber-more-than-a-few-identity-packets-at-.patch | 54 ----------- ...orts-we-try-to-connect-to-to-the-port-ran.patch | 32 ------- ...ace-connections-for-a-given-deviceId-if-t.patch | 58 ------------ kde-misc/tellico/Manifest | 2 + kde-misc/tellico/tellico-3.3.4.ebuild | 89 ++++++++++++++++++ 14 files changed, 91 insertions(+), 496 deletions(-) delete mode 100644 kde-misc/kdeconnect/files/kdeconnect-20.04.3-01-Do-not-ignore-SSL-errors-except-for-self-signed-cert.patch delete mode 100644 kde-misc/kdeconnect/files/kdeconnect-20.04.3-02-Do-not-leak-the-local-user-in-the-device-name.patch delete mode 100644 kde-misc/kdeconnect/files/kdeconnect-20.04.3-03-Fix-use-after-free-in-LanLinkProvider-connectError.patch delete mode 100644 kde-misc/kdeconnect/files/kdeconnect-20.04.3-04-Limit-identity-packets-to-8KiB.patch delete mode 100644 kde-misc/kdeconnect/files/kdeconnect-20.04.3-05-Do-not-let-lanlink-connections-stay-open-for-long-wi.patch delete mode 100644 kde-misc/kdeconnect/files/kdeconnect-20.04.3-06-Don-t-brute-force-reading-the-socket.patch delete mode 100644 kde-misc/kdeconnect/files/kdeconnect-20.04.3-07-Limit-number-of-connected-sockets-from-unpaired-devi.patch delete mode 100644 kde-misc/kdeconnect/files/kdeconnect-20.04.3-08-Do-not-remember-more-than-a-few-identity-packets-at-.patch delete mode 100644 kde-misc/kdeconnect/files/kdeconnect-20.04.3-09-Limit-the-ports-we-try-to-connect-to-to-the-port-ran.patch delete mode 100644 kde-misc/kdeconnect/files/kdeconnect-20.04.3-10-Do-not-replace-connections-for-a-given-deviceId-if-t.patch create mode 100644 kde-misc/tellico/tellico-3.3.4.ebuild (limited to 'kde-misc') diff --git a/kde-misc/Manifest.gz b/kde-misc/Manifest.gz index 566ac995c7b7..d971aec7481e 100644 Binary files a/kde-misc/Manifest.gz and b/kde-misc/Manifest.gz differ diff --git a/kde-misc/kdeconnect/Manifest b/kde-misc/kdeconnect/Manifest index 6e629f37133e..423a26f7c2bd 100644 --- a/kde-misc/kdeconnect/Manifest +++ b/kde-misc/kdeconnect/Manifest @@ -1,13 +1,3 @@ -AUX kdeconnect-20.04.3-01-Do-not-ignore-SSL-errors-except-for-self-signed-cert.patch 2893 BLAKE2B 2e0fcf55ccef118b95d3ec93dbdbe11a41922998b796b5114258c7f245aee5758fcd7cf6e8f5be58e0576f204c906ea9929e81ff5546cd5d9f95ffea83575275 SHA512 9625217ce5a654104170ced8cf87efe14d553f281b9bd3850b2a3071b04d4e6f3e09cc8f4841388fb557931c80475b6f1c11863af1da7b526556fe3ab3c6259d -AUX kdeconnect-20.04.3-02-Do-not-leak-the-local-user-in-the-device-name.patch 1096 BLAKE2B 21a4b7b4ea36617fa3f2fb566446e56c4276c77b4cc07ccc0e097555ae23c560fd9709034ef9153d680ab2d58f848143657d1575d80db1a4803302d494a9850c SHA512 c1f901f11f33fdbdca968e52ec3a79b59eb8f4757ffba2b23883161fe41a45e8f6cddd821e1a910d80605b92a0b9953cde8fe60261f39f0fb28d2afd4d611210 -AUX kdeconnect-20.04.3-03-Fix-use-after-free-in-LanLinkProvider-connectError.patch 1121 BLAKE2B 902cbb2db6d5baf340e2f49531d75fb4ca6d368e1efcc4da5dfc8a17fb825b390af74ee4574b134d216db67cc0a0fcfcbbc02a63c58f74656020dc6f3068288c SHA512 282053314df245cf9fd00315b59448a7d7a1a1c73f8badeb98daafc7d56e17b6755128183a516e5d1c93deae83c7c756b1ca9e485f6a1c474a556d68c5a64942 -AUX kdeconnect-20.04.3-04-Limit-identity-packets-to-8KiB.patch 1537 BLAKE2B cc0642738e4a262572b63f417511cf5296488e83b5b82189a6d268a360603d51970ac8cfade5c28cf00294c5675bb8f1b375aaba51b12024790723b0d6ecd771 SHA512 6db188aeb96ce93d92ad0f11fe8809a0fb32363a84612824efe21228547c45f6b38e3dae834ba8f55a14e4cba1df004915dcf26108cca211ee5a008f17562e41 -AUX kdeconnect-20.04.3-05-Do-not-let-lanlink-connections-stay-open-for-long-wi.patch 1372 BLAKE2B d806766634088fbc26963223132c8c2b12cb690520e69c98470b87b5d9f94c896d243e19561fdbff1a92164cc071570cc5ff7ad0127693e6738b854a99b03f49 SHA512 c19cd4aff831b5918d6bbc5e23d5cbd845dfd9bfbd6515e3f7c9ba65e590bae1a643d9e784b1a9bbeed74b04b0d4aead7415a4bf7c1842918bce08560c06687c -AUX kdeconnect-20.04.3-06-Don-t-brute-force-reading-the-socket.patch 3199 BLAKE2B 0bc6f9a430e90801a4930975a460cbdc7ead387c6ba24ab62147c47e7ba49986effed1a5da9f8125fed5e33403eafe12c1068127d3ec340a14ae4e45778f873a SHA512 8cf8ffe0df864a82976c51e95c9806109e3c66d792ce31016515ac1132674cf97be71d70ea9efb29892ec1624fab6fcac553e1e64c7950a3b0bbdb7d8e79bbea -AUX kdeconnect-20.04.3-07-Limit-number-of-connected-sockets-from-unpaired-devi.patch 1836 BLAKE2B 9886ba5833626546308d6f1b4fa4bbc7455628d1737a7126f8be40d652275249b2949028e93177ab994bfed102ff835c7f8882b2e9d85f186efd3232efeae90f SHA512 6feb3f96f8f6bb70d383ae66134b2773ea7b4b5275ce16b92974365b4d3bf29d5fe7db6fdd6c60d777a2cf3feac5dc7e989e562e5cd62a6d50c98d2b030f1c32 -AUX kdeconnect-20.04.3-08-Do-not-remember-more-than-a-few-identity-packets-at-.patch 2107 BLAKE2B 902059f4b1d40f3d221e024ec0fb86e8664f918ed3cb1236b9b3d98173ed3a7387301965ee0f2925ea304d77a268f2b2c29c89463b1b5e2aed52f7871a324c3a SHA512 54d0686e6af67a3c075bcb844b4f80941a9eb69f180c996f17c3ab57437b03a91b33b3d91966a06159ced16fc4b7a07711e100d698f73a0f855c3195af83471c -AUX kdeconnect-20.04.3-09-Limit-the-ports-we-try-to-connect-to-to-the-port-ran.patch 1197 BLAKE2B 4cf50f0d883b194c92f16961df4d7158e19644c8f6756afa27bbfe8438da0ae44fe96d29184060c242ffc0870536d35b9871f4dbde042a2fe176abb8cf0a2180 SHA512 ff3b227bd15612201a0510a5ea0f330372e712b05b170b34d671b68e7ac3d1f561a65fcc1ea55d239bc64065186b70a17530061ddfadf6ce4f0a13a9a8d100e9 -AUX kdeconnect-20.04.3-10-Do-not-replace-connections-for-a-given-deviceId-if-t.patch 2261 BLAKE2B 531b3a81f9ed7c50794191140bd510f0ee5968c4deb67056f0f37649f19caa96fc0a2cfd9bd29086b6c9c59cd591d41a2db52627c5006deef41dd74f86b36ed6 SHA512 20e856aba62f5528b6772d8693c435ef7070065377d5dbee9e695a11f6d782082fdcc8b5d40804137a93db4f12f16a41a2b8af4212179cd1a0f43e1f30e71453 DIST kdeconnect-kde-20.08.3.tar.xz 420232 BLAKE2B 2044c121ea769f915fd7026201ec038961720df379096d4a93917b76ac0baccf0a3e8e864bd9da8536b4efc930ba05d1c1d209352c68ed3917fbe8a1747086e6 SHA512 89b5af789b6db58a7f2ae3436f0a212d72b7ba2511fc62cb8cd90d4291939e70bd3922256f17a6a01d2e6952f0c03912c2793728c8c18fedba608ef02bd9c9c3 EBUILD kdeconnect-20.08.3.ebuild 2262 BLAKE2B 03b72bc5aaca68e4670793927c11ce195549f702e045c7aeab088dd9462ee6099b80ac30f15bfa9ed1246a756ef90c7c532ffff22cad673a20455e6dc9f5470e SHA512 b025519dcb7beb30bce5f398f42d08aa849d26cd065c50c1e6625f8c53edf09c5575f8349cbba2d079d0db95058e6f53151a2777f3add09a1d4be9de0a3d6c1d MISC metadata.xml 577 BLAKE2B 4a7b31db0d4e48ab09de42119a36b7733603d2b3f85f7cbf36b61713f2f87488f4fe1223d2dc2ef7460b41525eb59fe5e43196df54f8f454241e56518ad73855 SHA512 faf6e262a0f0d020bbaf4372c8f5c308de1fae0cee4f37cdf9509b585ead0706ba06109f27e691cbd0ebceadb7c352b0d335dc29e87baee13ac3dda5eca11a5c diff --git a/kde-misc/kdeconnect/files/kdeconnect-20.04.3-01-Do-not-ignore-SSL-errors-except-for-self-signed-cert.patch b/kde-misc/kdeconnect/files/kdeconnect-20.04.3-01-Do-not-ignore-SSL-errors-except-for-self-signed-cert.patch deleted file mode 100644 index cafeb9501cd8..000000000000 --- a/kde-misc/kdeconnect/files/kdeconnect-20.04.3-01-Do-not-ignore-SSL-errors-except-for-self-signed-cert.patch +++ /dev/null @@ -1,65 +0,0 @@ -From f183b5447bad47655c21af87214579f03bf3a163 Mon Sep 17 00:00:00 2001 -From: Albert Vaca Cintora -Date: Thu, 24 Sep 2020 16:59:22 +0200 -Subject: [PATCH 01/10] Do not ignore SSL errors, except for self-signed cert - errors. - -Thanks Matthias Gerstner for reporting this. ---- - core/backends/lan/lanlinkprovider.cpp | 24 +++++++++++++----------- - 1 file changed, 13 insertions(+), 11 deletions(-) - -diff --git a/core/backends/lan/lanlinkprovider.cpp b/core/backends/lan/lanlinkprovider.cpp -index d9a7d8fa..fc005cee 100644 ---- a/core/backends/lan/lanlinkprovider.cpp -+++ b/core/backends/lan/lanlinkprovider.cpp -@@ -297,9 +297,7 @@ void LanLinkProvider::tcpSocketConnected() - - connect(socket, &QSslSocket::encrypted, this, &LanLinkProvider::encrypted); - -- if (isDeviceTrusted) { -- connect(socket, QOverload &>::of(&QSslSocket::sslErrors), this, &LanLinkProvider::sslErrors); -- } -+ connect(socket, QOverload &>::of(&QSslSocket::sslErrors), this, &LanLinkProvider::sslErrors); - - socket->startServerEncryption(); - -@@ -326,8 +324,6 @@ void LanLinkProvider::encrypted() - - QSslSocket* socket = qobject_cast(sender()); - if (!socket) return; -- // TODO delete me? -- disconnect(socket, QOverload &>::of(&QSslSocket::sslErrors), this, &LanLinkProvider::sslErrors); - - Q_ASSERT(socket->mode() != QSslSocket::UnencryptedMode); - LanDeviceLink::ConnectionStarted connectionOrigin = (socket->mode() == QSslSocket::SslClientMode)? LanDeviceLink::Locally : LanDeviceLink::Remotely; -@@ -346,14 +342,20 @@ void LanLinkProvider::sslErrors(const QList& errors) - QSslSocket* socket = qobject_cast(sender()); - if (!socket) return; - -- qCDebug(KDECONNECT_CORE) << "Failing due to " << errors; -- Device* device = Daemon::instance()->getDevice(socket->peerVerifyName()); -- if (device) { -- device->unpair(); -+ bool fatal = false; -+ for (const QSslError& error : errors) { -+ if (error.error() != QSslError::SelfSignedCertificate) { -+ qCCritical(KDECONNECT_CORE) << "Disconnecting due to fatal SSL Error: " << error; -+ fatal = true; -+ } else { -+ qCDebug(KDECONNECT_CORE) << "Ignoring self-signed cert error"; -+ } - } - -- delete m_receivedIdentityPackets.take(socket).np; -- // Socket disconnects itself on ssl error and will be deleted by deleteLater slot, no need to delete manually -+ if (fatal) { -+ socket->disconnectFromHost(); -+ delete m_receivedIdentityPackets.take(socket).np; -+ } - } - - //I'm the new device and this is the answer to my UDP identity packet (no data received yet). They are connecting to us through TCP, and they should send an identity. --- -2.28.0 - diff --git a/kde-misc/kdeconnect/files/kdeconnect-20.04.3-02-Do-not-leak-the-local-user-in-the-device-name.patch b/kde-misc/kdeconnect/files/kdeconnect-20.04.3-02-Do-not-leak-the-local-user-in-the-device-name.patch deleted file mode 100644 index b374d001036c..000000000000 --- a/kde-misc/kdeconnect/files/kdeconnect-20.04.3-02-Do-not-leak-the-local-user-in-the-device-name.patch +++ /dev/null @@ -1,32 +0,0 @@ -From b279c52101d3f7cc30a26086d58de0b5f1c547fa Mon Sep 17 00:00:00 2001 -From: Albert Vaca Cintora -Date: Thu, 24 Sep 2020 17:01:03 +0200 -Subject: [PATCH 02/10] Do not leak the local user in the device name. - -Thanks Matthias Gerstner for reporting this. ---- - core/kdeconnectconfig.cpp | 8 +------- - 1 file changed, 1 insertion(+), 7 deletions(-) - -diff --git a/core/kdeconnectconfig.cpp b/core/kdeconnectconfig.cpp -index 91719303..a8dbcf5c 100644 ---- a/core/kdeconnectconfig.cpp -+++ b/core/kdeconnectconfig.cpp -@@ -90,13 +90,7 @@ KdeConnectConfig::KdeConnectConfig() - - QString KdeConnectConfig::name() - { -- QString username; -- #ifdef Q_OS_WIN -- username = QString::fromLatin1(qgetenv("USERNAME")); -- #else -- username = QString::fromLatin1(qgetenv("USER")); -- #endif -- QString defaultName = username + QStringLiteral("@") + QHostInfo::localHostName(); -+ QString defaultName = QHostInfo::localHostName(); - QString name = d->m_config->value(QStringLiteral("name"), defaultName).toString(); - return name; - } --- -2.28.0 - diff --git a/kde-misc/kdeconnect/files/kdeconnect-20.04.3-03-Fix-use-after-free-in-LanLinkProvider-connectError.patch b/kde-misc/kdeconnect/files/kdeconnect-20.04.3-03-Fix-use-after-free-in-LanLinkProvider-connectError.patch deleted file mode 100644 index 52fb9057b930..000000000000 --- a/kde-misc/kdeconnect/files/kdeconnect-20.04.3-03-Fix-use-after-free-in-LanLinkProvider-connectError.patch +++ /dev/null @@ -1,28 +0,0 @@ -From d35b88c1b25fe13715f9170f18674d476ca9acdc Mon Sep 17 00:00:00 2001 -From: Matthias Gerstner -Date: Thu, 24 Sep 2020 17:03:06 +0200 -Subject: [PATCH 03/10] Fix use after free in LanLinkProvider::connectError() - -If QSslSocket::connectToHost() hasn't finished running. - -Thanks Matthias Gerstner for reporting this. ---- - core/backends/lan/lanlinkprovider.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/core/backends/lan/lanlinkprovider.cpp b/core/backends/lan/lanlinkprovider.cpp -index fc005cee..235c221f 100644 ---- a/core/backends/lan/lanlinkprovider.cpp -+++ b/core/backends/lan/lanlinkprovider.cpp -@@ -252,7 +252,7 @@ void LanLinkProvider::connectError(QAbstractSocket::SocketError socketError) - //The socket we created didn't work, and we didn't manage - //to create a LanDeviceLink from it, deleting everything. - delete m_receivedIdentityPackets.take(socket).np; -- delete socket; -+ socket->deleteLater(); - } - - //We received a UDP packet and answered by connecting to them by TCP. This gets called on a successful connection. --- -2.28.0 - diff --git a/kde-misc/kdeconnect/files/kdeconnect-20.04.3-04-Limit-identity-packets-to-8KiB.patch b/kde-misc/kdeconnect/files/kdeconnect-20.04.3-04-Limit-identity-packets-to-8KiB.patch deleted file mode 100644 index e083f5896def..000000000000 --- a/kde-misc/kdeconnect/files/kdeconnect-20.04.3-04-Limit-identity-packets-to-8KiB.patch +++ /dev/null @@ -1,36 +0,0 @@ -From b496e66899e5bc9547b6537a7f44ab44dd0aaf38 Mon Sep 17 00:00:00 2001 -From: Aleix Pol -Date: Wed, 16 Sep 2020 02:28:58 +0200 -Subject: [PATCH 04/10] Limit identity packets to 8KiB - -Healthy identity packages shouldn't be that big and we don't want to -allow systems around us to send us ever humongous packages that will -just leave us without any memory. - -Thanks Matthias Gerstner for reporting this. ---- - core/backends/lan/lanlinkprovider.cpp | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/core/backends/lan/lanlinkprovider.cpp b/core/backends/lan/lanlinkprovider.cpp -index 235c221f..1fd3870e 100644 ---- a/core/backends/lan/lanlinkprovider.cpp -+++ b/core/backends/lan/lanlinkprovider.cpp -@@ -381,6 +381,14 @@ void LanLinkProvider::newConnection() - void LanLinkProvider::dataReceived() - { - QSslSocket* socket = qobject_cast(sender()); -+ //the size here is arbitrary and is now at 8192 bytes. It needs to be considerably long as it includes the capabilities but there needs to be a limit -+ //Tested between my systems and I get around 2000 per identity package. -+ if (socket->bytesAvailable() > 8192) { -+ qCWarning(KDECONNECT_CORE) << "LanLinkProvider/newConnection: Suspiciously long identity package received. Closing connection." << socket->peerAddress() << socket->bytesAvailable(); -+ socket->disconnectFromHost(); -+ return; -+ } -+ - #if QT_VERSION < QT_VERSION_CHECK(5,7,0) - if (!socket->canReadLine()) - return; --- -2.28.0 - diff --git a/kde-misc/kdeconnect/files/kdeconnect-20.04.3-05-Do-not-let-lanlink-connections-stay-open-for-long-wi.patch b/kde-misc/kdeconnect/files/kdeconnect-20.04.3-05-Do-not-let-lanlink-connections-stay-open-for-long-wi.patch deleted file mode 100644 index 1465ce48b989..000000000000 --- a/kde-misc/kdeconnect/files/kdeconnect-20.04.3-05-Do-not-let-lanlink-connections-stay-open-for-long-wi.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 5310eae85dbdf92fba30375238a2481f2e34943e Mon Sep 17 00:00:00 2001 -From: Aleix Pol -Date: Wed, 16 Sep 2020 02:44:38 +0200 -Subject: [PATCH 05/10] Do not let lanlink connections stay open for long - without authenticating - -If there's no information received, close the socket to try again. - -Thanks Matthias Gerstner for reporting this. ---- - core/backends/lan/lanlinkprovider.cpp | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/core/backends/lan/lanlinkprovider.cpp b/core/backends/lan/lanlinkprovider.cpp -index 1fd3870e..a4942c65 100644 ---- a/core/backends/lan/lanlinkprovider.cpp -+++ b/core/backends/lan/lanlinkprovider.cpp -@@ -374,6 +374,16 @@ void LanLinkProvider::newConnection() - connect(socket, &QIODevice::readyRead, - this, &LanLinkProvider::dataReceived); - -+ QTimer* timer = new QTimer(socket); -+ timer->setSingleShot(true); -+ timer->setInterval(1000); -+ connect(socket, &QSslSocket::encrypted, -+ timer, &QObject::deleteLater); -+ connect(timer, &QTimer::timeout, socket, [socket] { -+ qCWarning(KDECONNECT_CORE) << "LanLinkProvider/newConnection: Host timed out without sending any identity." << socket->peerAddress(); -+ socket->disconnectFromHost(); -+ }); -+ timer->start(); - } - } - --- -2.28.0 - 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 -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 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 - #include - #include -+#include - - 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 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 - diff --git a/kde-misc/kdeconnect/files/kdeconnect-20.04.3-07-Limit-number-of-connected-sockets-from-unpaired-devi.patch b/kde-misc/kdeconnect/files/kdeconnect-20.04.3-07-Limit-number-of-connected-sockets-from-unpaired-devi.patch deleted file mode 100644 index 6a6bdb01cb96..000000000000 --- a/kde-misc/kdeconnect/files/kdeconnect-20.04.3-07-Limit-number-of-connected-sockets-from-unpaired-devi.patch +++ /dev/null @@ -1,42 +0,0 @@ -From ae58b9dec49c809b85b5404cee17946116f8a706 Mon Sep 17 00:00:00 2001 -From: Albert Vaca Cintora -Date: Thu, 24 Sep 2020 17:13:34 +0200 -Subject: [PATCH 07/10] Limit number of connected sockets from unpaired devices - -Thanks Matthias Gerstner 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 a4942c65..770e7866 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, -@@ -555,6 +557,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 - diff --git a/kde-misc/kdeconnect/files/kdeconnect-20.04.3-08-Do-not-remember-more-than-a-few-identity-packets-at-.patch b/kde-misc/kdeconnect/files/kdeconnect-20.04.3-08-Do-not-remember-more-than-a-few-identity-packets-at-.patch deleted file mode 100644 index 36d612e9cbc1..000000000000 --- a/kde-misc/kdeconnect/files/kdeconnect-20.04.3-08-Do-not-remember-more-than-a-few-identity-packets-at-.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 66c768aa9e7fba30b119c8b801efd49ed1270b0a Mon Sep 17 00:00:00 2001 -From: Albert Vaca Cintora -Date: Thu, 24 Sep 2020 17:16:02 +0200 -Subject: [PATCH 08/10] Do not remember more than a few identity packets at a - time - -To prevent the kdeconnect process from using too much memory. - -Thanks Matthias Gerstner for reporting this. ---- - core/backends/lan/lanlinkprovider.cpp | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -diff --git a/core/backends/lan/lanlinkprovider.cpp b/core/backends/lan/lanlinkprovider.cpp -index 770e7866..6afb8552 100644 ---- a/core/backends/lan/lanlinkprovider.cpp -+++ b/core/backends/lan/lanlinkprovider.cpp -@@ -47,6 +47,7 @@ - #define MIN_VERSION_WITH_SSL_SUPPORT 6 - - static const int MAX_UNPAIRED_CONNECTIONS = 42; -+static const int MAX_REMEMBERED_IDENTITY_PACKETS = 42; - - LanLinkProvider::LanLinkProvider( - bool testMode, -@@ -225,6 +226,12 @@ void LanLinkProvider::udpBroadcastReceived() - - //qCDebug(KDECONNECT_CORE) << "Received Udp identity packet from" << sender << " asking for a tcp connection on port " << tcpPort; - -+ if (m_receivedIdentityPackets.size() > MAX_REMEMBERED_IDENTITY_PACKETS) { -+ qCWarning(KDECONNECT_CORE) << "Too many remembered identities, ignoring" << receivedPacket->get(QStringLiteral("deviceId")) << "received via UDP"; -+ delete receivedPacket; -+ continue; -+ } -+ - QSslSocket* socket = new QSslSocket(this); - socket->setProxy(QNetworkProxy::NoProxy); - m_receivedIdentityPackets[socket].np = receivedPacket; -@@ -435,6 +442,12 @@ void LanLinkProvider::dataReceived() - return; - } - -+ if (m_receivedIdentityPackets.size() > MAX_REMEMBERED_IDENTITY_PACKETS) { -+ qCWarning(KDECONNECT_CORE) << "Too many remembered identities, ignoring" << np->get(QStringLiteral("deviceId")) << "received via TCP"; -+ delete np; -+ return; -+ } -+ - // Needed in "encrypted" if ssl is used, similar to "tcpSocketConnected" - m_receivedIdentityPackets[socket].np = np; - --- -2.28.0 - diff --git a/kde-misc/kdeconnect/files/kdeconnect-20.04.3-09-Limit-the-ports-we-try-to-connect-to-to-the-port-ran.patch b/kde-misc/kdeconnect/files/kdeconnect-20.04.3-09-Limit-the-ports-we-try-to-connect-to-to-the-port-ran.patch deleted file mode 100644 index c108144632ca..000000000000 --- a/kde-misc/kdeconnect/files/kdeconnect-20.04.3-09-Limit-the-ports-we-try-to-connect-to-to-the-port-ran.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 85b691e40f525e22ca5cc4ebe79c361d71d7dc05 Mon Sep 17 00:00:00 2001 -From: Albert Vaca Cintora -Date: Thu, 24 Sep 2020 17:18:06 +0200 -Subject: [PATCH 09/10] Limit the ports we try to connect to to the port range - of KDE Connect - -So we can't trigger connections to other services. - -Thanks Matthias Gerstner for reporting this. ---- - core/backends/lan/lanlinkprovider.cpp | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/core/backends/lan/lanlinkprovider.cpp b/core/backends/lan/lanlinkprovider.cpp -index 6afb8552..f3d6801d 100644 ---- a/core/backends/lan/lanlinkprovider.cpp -+++ b/core/backends/lan/lanlinkprovider.cpp -@@ -223,6 +223,11 @@ void LanLinkProvider::udpBroadcastReceived() - } - - int tcpPort = receivedPacket->get(QStringLiteral("tcpPort")); -+ if (tcpPort < MIN_TCP_PORT || tcpPort > MAX_TCP_PORT) { -+ qCDebug(KDECONNECT_CORE) << "TCP port outside of kdeconnect's range"; -+ delete receivedPacket; -+ continue; -+ } - - //qCDebug(KDECONNECT_CORE) << "Received Udp identity packet from" << sender << " asking for a tcp connection on port " << tcpPort; - --- -2.28.0 - diff --git a/kde-misc/kdeconnect/files/kdeconnect-20.04.3-10-Do-not-replace-connections-for-a-given-deviceId-if-t.patch b/kde-misc/kdeconnect/files/kdeconnect-20.04.3-10-Do-not-replace-connections-for-a-given-deviceId-if-t.patch deleted file mode 100644 index d10f0193dacc..000000000000 --- a/kde-misc/kdeconnect/files/kdeconnect-20.04.3-10-Do-not-replace-connections-for-a-given-deviceId-if-t.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 48180b46552d40729a36b7431e97bbe2b5379306 Mon Sep 17 00:00:00 2001 -From: Albert Vaca Cintora -Date: Thu, 24 Sep 2020 18:46:57 +0200 -Subject: [PATCH 10/10] Do not replace connections for a given deviceId if the - certs have changed - -Thanks Matthias Gerstner for reporting this. ---- - core/backends/lan/landevicelink.cpp | 5 +++++ - core/backends/lan/landevicelink.h | 1 + - core/backends/lan/lanlinkprovider.cpp | 6 ++++++ - 3 files changed, 12 insertions(+) - -diff --git a/core/backends/lan/landevicelink.cpp b/core/backends/lan/landevicelink.cpp -index 8a65fb92..41af6f0e 100644 ---- a/core/backends/lan/landevicelink.cpp -+++ b/core/backends/lan/landevicelink.cpp -@@ -192,3 +192,8 @@ bool LanDeviceLink::linkShouldBeKeptAlive() { - //return (mConnectionSource == ConnectionStarted::Remotely || pairStatus() == Paired); - - } -+ -+QSslCertificate LanDeviceLink::certificate() const -+{ -+ return m_socketLineReader->peerCertificate(); -+} -diff --git a/core/backends/lan/landevicelink.h b/core/backends/lan/landevicelink.h -index 28f63db2..485c58b5 100644 ---- a/core/backends/lan/landevicelink.h -+++ b/core/backends/lan/landevicelink.h -@@ -56,6 +56,7 @@ public: - bool linkShouldBeKeptAlive() override; - - QHostAddress hostAddress() const; -+ QSslCertificate certificate() const; - - private Q_SLOTS: - void dataReceived(); -diff --git a/core/backends/lan/lanlinkprovider.cpp b/core/backends/lan/lanlinkprovider.cpp -index f3d6801d..372cdc8f 100644 ---- a/core/backends/lan/lanlinkprovider.cpp -+++ b/core/backends/lan/lanlinkprovider.cpp -@@ -345,6 +345,12 @@ void LanLinkProvider::encrypted() - NetworkPacket* receivedPacket = m_receivedIdentityPackets[socket].np; - const QString& deviceId = receivedPacket->get(QStringLiteral("deviceId")); - -+ if (m_links.contains(deviceId) && m_links[deviceId]->certificate() != socket->peerCertificate()) { -+ socket->disconnectFromHost(); -+ qCWarning(KDECONNECT_CORE) << "Got connection for the same deviceId but certificates don't match. Ignoring " << deviceId; -+ return; -+ } -+ - addLink(deviceId, socket, receivedPacket, connectionOrigin); - - // Copied from tcpSocketConnected slot, now delete received packet --- -2.28.0 - diff --git a/kde-misc/tellico/Manifest b/kde-misc/tellico/Manifest index 7daec7770241..a5ce1cdc8889 100644 --- a/kde-misc/tellico/Manifest +++ b/kde-misc/tellico/Manifest @@ -1,3 +1,5 @@ DIST tellico-3.3.3.tar.xz 5625284 BLAKE2B 1d9c2fe20b9a59bf34c1d43870dedc622c611516dd98356cf2bb05b81e85ed952e78e11a5b36e080183fd4c21eada886d410336db16c5c839f5b243b4efa4612 SHA512 0f0307744fbbcc176272957950929df15448aea7eafe71db7b7247b1b9bdf8ebf5dd2e9eb7b19aeb169ac16375788bf5cc401a5def1f9c10fda6fe8981530ef4 +DIST tellico-3.3.4.tar.xz 5627840 BLAKE2B ef6b038d929b641c121137296fb16d5dbed84a0d7181dac62ea3b99c3df05c37ecbfd91848e518445562b1f7eef332dcfedd0aaa4f8940566909b31059bc7ae1 SHA512 182ada8a83d80ff59a7fad5d82a6331976d707e8923eee98c5137a03dd6a3c8ee23a3ad4eb2e6b9b018e06bc9ac7a0da37bea4fa68e29712a5567eca6a88908d EBUILD tellico-3.3.3.ebuild 2274 BLAKE2B d209766fa7aa530d1b1949434d6a467eaf92ea1ec615fbdab96f7da48bd1c1f853fcbbe3662251976ce87afc2af3e4cc3816a8b537292f37f37df85470335550 SHA512 f0027b211c48463910574e6759b34492c13d1ff63b5db0e0d14fe679140ccbd7904bc29c82e8b93b5868f005835c8395c5843699380245c85452329d8c6be52c +EBUILD tellico-3.3.4.ebuild 2276 BLAKE2B c4b8a113e598a8c19eefb94a8a3630483bba2c964bf9a0e440f72438fa30488e99cd34d3582f1457568b8dc97f2983e5892b9f350e7279a91541ab307c72a2c0 SHA512 a9803f077c989d4aa80e54fa594615e6b87e65d9c6a4f90a325cb619dc9b3b23bc980a40c6c3b25f9806fc2a514b8292728e1fd7c4e8b8225fd99f59e628c9a8 MISC metadata.xml 666 BLAKE2B 5d03d3b6466087a3fee7c12daee7824d8a995fdb8feeeb458801e56549cca5cd24794f30ba82dd0146626edc7284d02770a904400b2aae25831dca59a8c31e76 SHA512 57316bf5ca997b02babd947e54909960300e0ca0340662fdb7b151b161913ab255502aee63951c78d301071b2fd1b5cd33d5238496e3ba8e8a8956c102d4d16e diff --git a/kde-misc/tellico/tellico-3.3.4.ebuild b/kde-misc/tellico/tellico-3.3.4.ebuild new file mode 100644 index 000000000000..f39a4200a144 --- /dev/null +++ b/kde-misc/tellico/tellico-3.3.4.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +ECM_HANDBOOK="forceoptional" +ECM_TEST="forceoptional" +VIRTUALX_REQUIRED="test" +inherit ecm kde.org + +DESCRIPTION="Collection manager based on KDE Frameworks" +HOMEPAGE="https://tellico-project.org/" + +if [[ ${KDE_BUILD_TYPE} != live ]]; then + SRC_URI="https://tellico-project.org/files/${P}.tar.xz" + KEYWORDS="~amd64 ~arm64 ~x86" +fi + +LICENSE="|| ( GPL-2 GPL-3 )" +SLOT="5" +IUSE="cddb discid pdf scanner semantic-desktop taglib v4l xmp yaz" + +BDEPEND=" + sys-devel/gettext +" +RDEPEND=" + dev-libs/libxml2 + dev-libs/libxslt + >=dev-perl/Text-BibTeX-0.780.0-r1 + dev-qt/qtdbus:5 + dev-qt/qtgui:5 + dev-qt/qtnetwork:5 + dev-qt/qtwidgets:5 + dev-qt/qtxml:5 + kde-frameworks/karchive:5 + kde-frameworks/kcodecs:5 + kde-frameworks/kcompletion:5 + kde-frameworks/kconfig:5 + kde-frameworks/kconfigwidgets:5 + kde-frameworks/kcoreaddons:5 + kde-frameworks/kcrash:5 + kde-frameworks/kguiaddons:5 + kde-frameworks/khtml:5 + kde-frameworks/kiconthemes:5 + kde-frameworks/kitemmodels:5 + kde-frameworks/ki18n:5 + kde-frameworks/kjobwidgets:5 + kde-frameworks/kio:5 + kde-frameworks/knewstuff:5 + kde-frameworks/kparts:5 + kde-frameworks/kservice:5 + kde-frameworks/ktextwidgets:5 + kde-frameworks/kwallet:5 + kde-frameworks/kwidgetsaddons:5 + kde-frameworks/kwindowsystem:5 + kde-frameworks/kxmlgui:5 + kde-frameworks/solid:5 + kde-frameworks/sonnet:5 + cddb? ( kde-apps/libkcddb:5 ) + discid? ( dev-libs/libcdio:= ) + pdf? ( app-text/poppler[qt5] ) + scanner? ( kde-apps/libksane:5 ) + semantic-desktop? ( kde-frameworks/kfilemetadata:5 ) + taglib? ( >=media-libs/taglib-1.5 ) + v4l? ( >=media-libs/libv4l-0.8.3 ) + xmp? ( >=media-libs/exempi-2 ) + yaz? ( >=dev-libs/yaz-2:0 ) +" +DEPEND="${RDEPEND}" + +# tests need network access +RESTRICT+=" test" + +src_configure() { + local mycmakeargs=( + -DCMAKE_DISABLE_FIND_PACKAGE_Csv=ON + $(cmake_use_find_package cddb KF5Cddb) + $(cmake_use_find_package discid CDIO) + $(cmake_use_find_package pdf Poppler) + $(cmake_use_find_package scanner KF5Sane) + $(cmake_use_find_package semantic-desktop KF5FileMetaData) + $(cmake_use_find_package taglib Taglib) + -DENABLE_WEBCAM=$(usex v4l) + $(cmake_use_find_package xmp Exempi) + $(cmake_use_find_package yaz Yaz) + ) + + ecm_src_configure +} -- cgit v1.2.3