commit:     57b0828d84d626d01ae46e3f3a2155a9e10a9a4c
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 25 11:46:26 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Feb 25 12:50:22 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=57b0828d

net-libs/libquotient: Drop 0.6.3

Package-Manager: Portage-3.0.15, Repoman-3.0.2
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 net-libs/libquotient/Manifest                      |  1 -
 .../files/libquotient-0.6.3-use-after-free.patch   | 92 ----------------------
 net-libs/libquotient/libquotient-0.6.3.ebuild      | 40 ----------
 3 files changed, 133 deletions(-)

diff --git a/net-libs/libquotient/Manifest b/net-libs/libquotient/Manifest
index eca3bedcf5c..b1540c1e88d 100644
--- a/net-libs/libquotient/Manifest
+++ b/net-libs/libquotient/Manifest
@@ -1,2 +1 @@
-DIST libquotient-0.6.3.tar.gz 559142 BLAKE2B 
77ba0583a90e9d29d44ce9a70909d6b51462a1f16dbc2e9d321eb9d638329af41fe7b0c4f7569e5d46f3a9c12d32b1ef0b926c5e285bc3ed9b70ba6d4dbe8024
 SHA512 
a81d88b00edc2af8ad9a6a297f1d65ef5d96fb305f503b46f29381df1bb007b42e44b207fb649316c38c977a5b03c93f884407dccdc48ab066af6b004dd9a9d6
 DIST libquotient-0.6.4.tar.gz 559830 BLAKE2B 
23a2d5bed5a5bcd30ffa00465291f5670d187d44991fe424bce5a2ce1ffc9d4fc09b0cc1e44e7b2b2470f82f6a3bcf4be2d6d9185d2952761a9a94d6f4fae2ce
 SHA512 
6f505a697b6bd123004faaaae4ea6788ed985dafd965c5768cc838be98d6b27f65d5fb04c02d41c6a9ca2ce622acbd49264a9a14a99a087126d2852a926184ce

diff --git a/net-libs/libquotient/files/libquotient-0.6.3-use-after-free.patch 
b/net-libs/libquotient/files/libquotient-0.6.3-use-after-free.patch
deleted file mode 100644
index 12046a10212..00000000000
--- a/net-libs/libquotient/files/libquotient-0.6.3-use-after-free.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From f286ef4c5b3c71510d6ef15e8cc12cada84f3682 Mon Sep 17 00:00:00 2001
-From: Nicolas Fella <nicolas.fe...@gmx.de>
-Date: Sun, 27 Dec 2020 21:24:06 +0100
-Subject: [PATCH] Fix use-after-free of QNetworkReply in BaseJob
-
-Usually QNetworkAccessManager expects the user to delete the replies, but when 
the QNetworkAccessManager itself is deleted it deletes all pending replies 
(https://code.woboq.org/qt5/qtbase/src/network/access/qnetworkaccessmanager.cpp.html#529).
-
-This can lead to use-after-free crashes when d->reply is accessed. By putting 
the reply into a QPointer the exiting if(d->reply) checks can work properly.
-
-(cherry picked from commit 9d854e778d8d6ef8e03e1ea74fe958675b24fd45)
----
- lib/jobs/basejob.cpp | 33 +++++++++++++++++++--------------
- 1 file changed, 19 insertions(+), 14 deletions(-)
-
-diff --git a/lib/jobs/basejob.cpp b/lib/jobs/basejob.cpp
-index 3fa1cd94..2ac942f5 100644
---- a/lib/jobs/basejob.cpp
-+++ b/lib/jobs/basejob.cpp
-@@ -24,6 +24,7 @@
- #include <QtCore/QTimer>
- #include <QtCore/QStringBuilder>
- #include <QtCore/QMetaEnum>
-+#include <QtCore/QPointer>
- #include <QtNetwork/QNetworkAccessManager>
- #include <QtNetwork/QNetworkReply>
- #include <QtNetwork/QNetworkRequest>
-@@ -76,15 +77,6 @@ QDebug BaseJob::Status::dumpToLog(QDebug dbg) const
-     return dbg << ": " << message;
- }
- 
--struct NetworkReplyDeleter : public QScopedPointerDeleteLater {
--    static inline void cleanup(QNetworkReply* reply)
--    {
--        if (reply && reply->isRunning())
--            reply->abort();
--        QScopedPointerDeleteLater::cleanup(reply);
--    }
--};
--
- template <typename... Ts>
- constexpr auto make_array(Ts&&... items)
- {
-@@ -112,6 +104,16 @@ class BaseJob::Private {
-         retryTimer.setSingleShot(true);
-     }
- 
-+    ~Private()
-+    {
-+        if (reply) {
-+            if (reply->isRunning()) {
-+                reply->abort();
-+            }
-+            delete reply;
-+        }
-+    }
-+
-     void sendRequest();
-     /*! \brief Parse the response byte array into JSON
-      *
-@@ -140,7 +142,10 @@ class BaseJob::Private {
- 
-     QByteArrayList expectedKeys;
- 
--    QScopedPointer<QNetworkReply, NetworkReplyDeleter> reply;
-+    // When the QNetworkAccessManager is destroyed it destroys all pending 
replies.
-+    // Using QPointer allows us to know when that happend.
-+    QPointer<QNetworkReply> reply;
-+
-     Status status = Unprepared;
-     QByteArray rawResponse;
-     /// Contains a null document in case of non-JSON body (for a successful
-@@ -315,16 +320,16 @@ void BaseJob::Private::sendRequest()
- 
-     switch (verb) {
-     case HttpVerb::Get:
--        reply.reset(connection->nam()->get(req));
-+        reply = connection->nam()->get(req);
-         break;
-     case HttpVerb::Post:
--        reply.reset(connection->nam()->post(req, requestData.source()));
-+        reply = connection->nam()->post(req, requestData.source());
-         break;
-     case HttpVerb::Put:
--        reply.reset(connection->nam()->put(req, requestData.source()));
-+        reply = connection->nam()->put(req, requestData.source());
-         break;
-     case HttpVerb::Delete:
--        reply.reset(connection->nam()->sendCustomRequest(req, "DELETE", 
requestData.source()));
-+        reply = connection->nam()->sendCustomRequest(req, "DELETE", 
requestData.source());
-         break;
-     }
- }

diff --git a/net-libs/libquotient/libquotient-0.6.3.ebuild 
b/net-libs/libquotient/libquotient-0.6.3.ebuild
deleted file mode 100644
index 9ab95317dc7..00000000000
--- a/net-libs/libquotient/libquotient-0.6.3.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Qt5-based SDK to develop applications for Matrix"
-HOMEPAGE="https://github.com/quotient-im/libQuotient";
-SRC_URI="https://github.com/quotient-im/libQuotient/archive/${PV}.tar.gz -> 
${P}.tar.gz"
-S="${WORKDIR}/libQuotient-${PV}"
-
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-DEPEND="
-       dev-qt/qtcore:5
-       dev-qt/qtgui:5
-       dev-qt/qtmultimedia:5
-       dev-qt/qtnetwork:5
-"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
-       "${FILESDIR}"/${P}-use-after-free.patch # 0.6.x branch
-       # downstream patches
-       "${FILESDIR}"/${P}-no-android.patch
-       "${FILESDIR}"/${P}-no-tests.patch
-)
-
-src_configure() {
-       local mycmakeargs=(
-               -DQuotient_INSTALL_TESTS=OFF
-               -DQuotient_ENABLE_E2EE=OFF # TODO: libolm, libqtolm not packaged
-               -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON # no thanks.
-       )
-       cmake_src_configure
-}

Reply via email to