[neon/qt6/qt6-base/Neon/unstable] debian: lints encore

Carlos De Maine null at kde.org
Wed Nov 22 12:32:55 GMT 2023


Git commit d7dd78837b2fecc4916ff7bbe00248f20a9fcc5c by Carlos De Maine.
Committed on 22/11/2023 at 13:32.
Pushed by carlosdem into branch 'Neon/unstable'.

lints encore

M  +3    -2    debian/control
D  +0    -15   debian/patches/cve-2023-32762.diff
D  +0    -58   debian/patches/cve-2023-32763.diff
D  +0    -70   debian/patches/cve-2023-33285.diff
D  +0    -45   debian/patches/cve-2023-34410-57ba626.diff
D  +0    -275  debian/patches/cve-2023-34410-ada2c57.diff
D  +0    -30   debian/patches/no_htmlinfo_example.patch
D  +0    -83   debian/patches/upstream_Add-HPPA-detection.patch
D  +0    -84   debian/patches/upstream_Add-M68k-detection.patch
D  +0    -62   debian/patches/upstream_Add-enable-Alpha-detection.patch
M  +1    -1    debian/qt6-base.lintian-overrides
M  +3    -1    debian/source/lintian-overrides

https://invent.kde.org/neon/qt6/qt6-base/-/commit/d7dd78837b2fecc4916ff7bbe00248f20a9fcc5c

diff --git a/debian/control b/debian/control
index c6972bb..e4a2fd6 100644
--- a/debian/control
+++ b/debian/control
@@ -97,7 +97,6 @@ Build-Depends: cmake,
                ninja-build,
                pkg-config,
                pkg-kde-tools,
-               python3:any,
                shared-mime-info,
                unixodbc-dev,
                zlib1g-dev,
@@ -186,10 +185,12 @@ Depends: default-libmysqlclient-dev,
          libxcb-dri3-dev,
          libxkbcommon-dev,
          libxkbcommon-x11-dev,
+         python3:any,
          qt6-base (= ${binary:Version}),
          qt6-base-dev-tools,
          unixodbc-dev,
-         ${misc:Depends}
+         ${misc:Depends},
+         ${shlibs:Depends},
 Recommends: libqt6opengl6-dev (= ${binary:Version})
 Breaks: libqt6opengl6-dev (<< 6.3.1+dfsg-10~), qt6-base (<< 6.5.0)
 Suggests: cmake
diff --git a/debian/patches/cve-2023-32762.diff b/debian/patches/cve-2023-32762.diff
deleted file mode 100644
index 92b76fa..0000000
--- a/debian/patches/cve-2023-32762.diff
+++ /dev/null
@@ -1,15 +0,0 @@
----
- src/network/access/qhsts.cpp |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/src/network/access/qhsts.cpp
-+++ b/src/network/access/qhsts.cpp
-@@ -328,7 +328,7 @@ bool QHstsHeaderParser::parse(const QLis
- {
-     for (const auto &h : headers) {
-         // We use '==' since header name was already 'trimmed' for us:
--        if (h.first == "Strict-Transport-Security") {
-+        if (h.first.compare("Strict-Transport-Security", Qt::CaseInsensitive) == 0) {
-             header = h.second;
-             // RFC6797, 8.1:
-             //
diff --git a/debian/patches/cve-2023-32763.diff b/debian/patches/cve-2023-32763.diff
deleted file mode 100644
index 4d0f5f9..0000000
--- a/debian/patches/cve-2023-32763.diff
+++ /dev/null
@@ -1,58 +0,0 @@
----
- src/gui/painting/qfixed_p.h  |   17 +++++++++++++++++
- src/gui/text/qtextlayout.cpp |    9 ++++++---
- 2 files changed, 23 insertions(+), 3 deletions(-)
-
---- a/src/gui/painting/qfixed_p.h
-+++ b/src/gui/painting/qfixed_p.h
-@@ -18,6 +18,7 @@
- #include <QtGui/private/qtguiglobal_p.h>
- #include "QtCore/qdebug.h"
- #include "QtCore/qpoint.h"
-+#include "QtCore/qnumeric.h"
- #include "QtCore/qsize.h"
- 
- QT_BEGIN_NAMESPACE
-@@ -136,6 +137,22 @@ constexpr inline QFixed operator+(uint i
- constexpr inline QFixed operator-(uint i, QFixed d) { return -(d-i); }
- // constexpr inline QFixed operator*(qreal d, QFixed d2) { return d2*d; }
- 
-+inline bool qAddOverflow(QFixed v1, QFixed v2, QFixed *r)
-+{
-+    int val;
-+    bool result = qAddOverflow(v1.value(), v2.value(), &val);
-+    r->setValue(val);
-+    return result;
-+}
-+
-+inline bool qMulOverflow(QFixed v1, QFixed v2, QFixed *r)
-+{
-+    int val;
-+    bool result = qMulOverflow(v1.value(), v2.value(), &val);
-+    r->setValue(val);
-+    return result;
-+}
-+
- #ifndef QT_NO_DEBUG_STREAM
- inline QDebug &operator<<(QDebug &dbg, QFixed f)
- { return dbg << f.toReal(); }
---- a/src/gui/text/qtextlayout.cpp
-+++ b/src/gui/text/qtextlayout.cpp
-@@ -2105,11 +2105,14 @@ found:
-         eng->maxWidth = qMax(eng->maxWidth, line.textWidth);
-     } else {
-         eng->minWidth = qMax(eng->minWidth, lbh.minw);
--        eng->maxWidth += line.textWidth;
-+        if (qAddOverflow(eng->maxWidth, line.textWidth, &eng->maxWidth))
-+            eng->maxWidth = QFIXED_MAX;
-     }
- 
--    if (line.textWidth > 0 && item < eng->layoutData->items.size())
--        eng->maxWidth += lbh.spaceData.textWidth;
-+    if (line.textWidth > 0 && item < eng->layoutData->items.size()) {
-+        if (qAddOverflow(eng->maxWidth, lbh.spaceData.textWidth, &eng->maxWidth))
-+            eng->maxWidth = QFIXED_MAX;
-+    }
- 
-     line.textWidth += trailingSpace;
-     if (lbh.spaceData.length) {
diff --git a/debian/patches/cve-2023-33285.diff b/debian/patches/cve-2023-33285.diff
deleted file mode 100644
index f7eb569..0000000
--- a/debian/patches/cve-2023-33285.diff
+++ /dev/null
@@ -1,70 +0,0 @@
-diff --git a/src/network/kernel/qdnslookup_unix.cpp b/src/network/kernel/qdnslookup_unix.cpp
-index 75f7c6c440..de0113494f 100644
---- a/src/network/kernel/qdnslookup_unix.cpp
-+++ b/src/network/kernel/qdnslookup_unix.cpp
-@@ -193,7 +193,6 @@ void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestN
-     // responseLength in case of error, we still can extract the
-     // exact error code from the response.
-     HEADER *header = (HEADER*)response;
--    const int answerCount = ntohs(header->ancount);
-     switch (header->rcode) {
-     case NOERROR:
-         break;
-@@ -226,18 +225,31 @@ void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestN
-         return;
-     }
-
--    // Skip the query host, type (2 bytes) and class (2 bytes).
-     char host[PACKETSZ], answer[PACKETSZ];
-     unsigned char *p = response + sizeof(HEADER);
--    int status = local_dn_expand(response, response + responseLength, p, host, sizeof(host));
--    if (status < 0) {
-+    int status;
-+
-+    if (ntohs(header->qdcount) == 1) {
-+        // Skip the query host, type (2 bytes) and class (2 bytes).
-+        status = local_dn_expand(response, response + responseLength, p, host, sizeof(host));
-+        if (status < 0) {
-+            reply->error = QDnsLookup::InvalidReplyError;
-+            reply->errorString = tr("Could not expand domain name");
-+            return;
-+        }
-+        if ((p - response) + status + 4 >= responseLength)
-+            header->qdcount = 0xffff;   // invalid reply below
-+        else
-+            p += status + 4;
-+    }
-+    if (ntohs(header->qdcount) > 1) {
-         reply->error = QDnsLookup::InvalidReplyError;
--        reply->errorString = tr("Could not expand domain name");
-+        reply->errorString = tr("Invalid reply received");
-         return;
-     }
--    p += status + 4;
-
-     // Extract results.
-+    const int answerCount = ntohs(header->ancount);
-     int answerIndex = 0;
-     while ((p < response + responseLength) && (answerIndex < answerCount)) {
-         status = local_dn_expand(response, response + responseLength, p, host, sizeof(host));
-@@ -249,6 +261,11 @@ void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestN
-         const QString name = QUrl::fromAce(host);
-
-         p += status;
-+
-+        if ((p - response) + 10 > responseLength) {
-+            // probably just a truncated reply, return what we have
-+            return;
-+        }
-         const quint16 type = (p[0] << 8) | p[1];
-         p += 2; // RR type
-         p += 2; // RR class
-@@ -256,6 +273,8 @@ void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestN
-         p += 4;
-         const quint16 size = (p[0] << 8) | p[1];
-         p += 2;
-+        if ((p - response) + size > responseLength)
-+            return;             // truncated
-
-         if (type == QDnsLookup::A) {
-             if (size != 4) {
diff --git a/debian/patches/cve-2023-34410-57ba626.diff b/debian/patches/cve-2023-34410-57ba626.diff
deleted file mode 100644
index aa74996..0000000
--- a/debian/patches/cve-2023-34410-57ba626.diff
+++ /dev/null
@@ -1,45 +0,0 @@
-From 57ba6260c0801055b7188fdaa1818b940590f5f1 Mon Sep 17 00:00:00 2001
-From: Mårten Nordheim <marten.nordheim at qt.io>
-Date: Thu, 25 May 2023 14:40:29 +0200
-Subject: [PATCH] Ssl: Copy the on-demand cert loading bool from default config
-
-Otherwise individual sockets will still load system certificates when
-a chain doesn't match against the configured CA certificates.
-That's not intended behavior, since specifically setting the CA
-certificates means you don't want the system certificates to be used.
-
-Follow-up to/amends ada2c573c1a25f8d96577734968fe317ddfa292a
-
-This is potentially a breaking change because now, if you ever add a
-CA to the default config, it will disable loading system certificates
-on demand for all sockets. And the only way to re-enable it is to
-create a null-QSslConfiguration and set it as the new default.
-
-Pick-to: 6.5 6.2 5.15
-Change-Id: Ic3b2ab125c0cdd58ad654af1cb36173960ce2d1e
-Reviewed-by: Timur Pocheptsov <timur.pocheptsov at qt.io>
----
-
-diff --git a/src/network/ssl/qsslsocket.cpp b/src/network/ssl/qsslsocket.cpp
-index 4eefe43..0563fd0 100644
---- a/src/network/ssl/qsslsocket.cpp
-+++ b/src/network/ssl/qsslsocket.cpp
-@@ -1973,6 +1973,10 @@
-     , flushTriggered(false)
- {
-     QSslConfigurationPrivate::deepCopyDefaultConfiguration(&configuration);
-+    // If the global configuration doesn't allow root certificates to be loaded
-+    // on demand then we have to disable it for this socket as well.
-+    if (!configuration.allowRootCertOnDemandLoading)
-+        allowRootCertOnDemandLoading = false;
-
-     const auto *tlsBackend = tlsBackendInUse();
-     if (!tlsBackend) {
-@@ -2281,6 +2285,7 @@
-     ptr->sessionProtocol = global->sessionProtocol;
-     ptr->ciphers = global->ciphers;
-     ptr->caCertificates = global->caCertificates;
-+    ptr->allowRootCertOnDemandLoading = global->allowRootCertOnDemandLoading;
-     ptr->protocol = global->protocol;
-     ptr->peerVerifyMode = global->peerVerifyMode;
-     ptr->peerVerifyDepth = global->peerVerifyDepth;
diff --git a/debian/patches/cve-2023-34410-ada2c57.diff b/debian/patches/cve-2023-34410-ada2c57.diff
deleted file mode 100644
index b8fa3af..0000000
--- a/debian/patches/cve-2023-34410-ada2c57.diff
+++ /dev/null
@@ -1,275 +0,0 @@
-From ada2c573c1a25f8d96577734968fe317ddfa292a Mon Sep 17 00:00:00 2001
-From: Mårten Nordheim <marten.nordheim at qt.io>
-Date: Wed, 10 May 2023 16:43:41 +0200
-Subject: [PATCH] Schannel: Reject certificate not signed by a configured CA certificate
-
-Not entirely clear why, but when building the certificate chain for a
-peer the system certificate store is searched for root certificates.
-General expectation is that after calling
-`sslConfiguration.setCaCertificates()` the system certificates will
-not be taken into consideration.
-
-To work around this behavior, we do a manual check that the root of the
-chain is part of the configured CA certificates.
-
-Pick-to: 6.5 6.2 5.15
-Change-Id: I03666a4d9b0eac39ae97e150b4743120611a11b3
-Reviewed-by: Edward Welbourne <edward.welbourne at qt.io>
-Reviewed-by: Volker Hilsheimer <volker.hilsheimer at qt.io>
----
-
-diff --git a/src/plugins/tls/schannel/qtls_schannel.cpp b/src/plugins/tls/schannel/qtls_schannel.cpp
-index d72aaa5..ae9ff06 100644
---- a/src/plugins/tls/schannel/qtls_schannel.cpp
-+++ b/src/plugins/tls/schannel/qtls_schannel.cpp
-@@ -2066,6 +2066,27 @@
-         verifyDepth = DWORD(q->peerVerifyDepth());
-
-     const auto &caCertificates = q->sslConfiguration().caCertificates();
-+
-+    if (!rootCertOnDemandLoadingAllowed()
-+            && !(chain->TrustStatus.dwErrorStatus & CERT_TRUST_IS_PARTIAL_CHAIN)
-+            && (q->peerVerifyMode() == QSslSocket::VerifyPeer
-+                    || (isClient && q->peerVerifyMode() == QSslSocket::AutoVerifyPeer))) {
-+        // When verifying a peer Windows "helpfully" builds a chain that
-+        // may include roots from the system store. But we don't want that if
-+        // the user has set their own CA certificates.
-+        // Since Windows claims this is not a partial chain the root is included
-+        // and we have to check that it is one of our configured CAs.
-+        CERT_CHAIN_ELEMENT *element = chain->rgpElement[chain->cElement - 1];
-+        QSslCertificate certificate = getCertificateFromChainElement(element);
-+        if (!caCertificates.contains(certificate)) {
-+            auto error = QSslError(QSslError::CertificateUntrusted, certificate);
-+            sslErrors += error;
-+            emit q->peerVerifyError(error);
-+            if (q->state() != QAbstractSocket::ConnectedState)
-+                return false;
-+        }
-+    }
-+
-     QList<QSslCertificate> peerCertificateChain;
-     for (DWORD i = 0; i < verifyDepth; i++) {
-         CERT_CHAIN_ELEMENT *element = chain->rgpElement[i];
-diff --git a/tests/manual/network/ssl/client-auth/CMakeLists.txt b/tests/manual/network/ssl/client-auth/CMakeLists.txt
-new file mode 100644
-index 0000000..67ecc20
---- /dev/null
-+++ b/tests/manual/network/ssl/client-auth/CMakeLists.txt
-@@ -0,0 +1,24 @@
-+# Copyright (C) 2023 The Qt Company Ltd.
-+# SPDX-License-Identifier: BSD-3-Clause
-+
-+qt_internal_add_manual_test(tst_manual_ssl_client_auth
-+    SOURCES
-+        tst_manual_ssl_client_auth.cpp
-+    LIBRARIES
-+        Qt::Network
-+)
-+
-+qt_internal_add_resource(tst_manual_ssl_client_auth "tst_manual_ssl_client_auth"
-+    PREFIX
-+        "/"
-+    FILES
-+        "certs/127.0.0.1.pem"
-+        "certs/127.0.0.1-key.pem"
-+        "certs/127.0.0.1-client.pem"
-+        "certs/127.0.0.1-client-key.pem"
-+        "certs/accepted-client.pem"
-+        "certs/accepted-client-key.pem"
-+        "certs/rootCA.pem"
-+    BASE
-+        "certs"
-+)
-diff --git a/tests/manual/network/ssl/client-auth/certs/.gitignore b/tests/manual/network/ssl/client-auth/certs/.gitignore
-new file mode 100644
-index 0000000..5866f7b
---- /dev/null
-+++ b/tests/manual/network/ssl/client-auth/certs/.gitignore
-@@ -0,0 +1,4 @@
-+*
-+!/.gitignore
-+!/generate.sh
-+!/accepted-client.conf
-diff --git a/tests/manual/network/ssl/client-auth/certs/accepted-client.conf b/tests/manual/network/ssl/client-auth/certs/accepted-client.conf
-new file mode 100644
-index 0000000..a88b276
---- /dev/null
-+++ b/tests/manual/network/ssl/client-auth/certs/accepted-client.conf
-@@ -0,0 +1,14 @@
-+[req]
-+default_md = sha512
-+basicConstraints = CA:FALSE
-+extendedKeyUsage = clientAuth
-+[req]
-+distinguished_name = client_distinguished_name
-+prompt = no
-+[client_distinguished_name]
-+C   = NO
-+ST  = Oslo
-+L   = Oslo
-+O   = The Qt Project
-+OU  = The Qt Project
-+CN  = Fake Qt Project Client Certificate
-diff --git a/tests/manual/network/ssl/client-auth/certs/generate.sh b/tests/manual/network/ssl/client-auth/certs/generate.sh
-new file mode 100755
-index 0000000..5dbe3b3
---- /dev/null
-+++ b/tests/manual/network/ssl/client-auth/certs/generate.sh
-@@ -0,0 +1,33 @@
-+#!/bin/bash
-+# Copyright (C) 2023 The Qt Company Ltd.
-+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
-+
-+# Requires mkcert and openssl
-+
-+warn () { echo "$@" >&2; }
-+die () { warn "$@"; exit 1; }
-+
-+
-+command -v mkcert 1>/dev/null 2>&1 || die "Failed to find mkcert"
-+command -v openssl 1>/dev/null 2>&1 || die "Failed to find openssl"
-+
-+SCRIPT=$(realpath "$0")
-+SCRIPTPATH=$(dirname "$SCRIPT")
-+
-+pushd "$SCRIPTPATH" || die "Unable to pushd to $SCRIPTPATH"
-+mkcert 127.0.0.1
-+mkcert -client 127.0.0.1
-+warn "Remember to run mkcert -install if you haven't already"
-+
-+# Generate CA
-+openssl genrsa -out ca-key.pem 2048
-+openssl req -new -x509 -noenc -days 365 -key ca-key.pem -out rootCA.pem
-+
-+# Generate accepted client certificate
-+openssl genrsa -out accepted-client-key.pem 2048
-+openssl req -new -sha512 -nodes -key accepted-client-key.pem -out accepted-client.csr -config accepted-client.conf
-+openssl x509 -req -sha512 -days 45 -in accepted-client.csr -CA rootCA.pem -CAkey ca-key.pem -CAcreateserial -out accepted-client.pem
-+rm accepted-client.csr
-+rm rootCA.srl
-+
-+popd || die "Unable to popd"
-diff --git a/tests/manual/network/ssl/client-auth/tst_manual_ssl_client_auth.cpp b/tests/manual/network/ssl/client-auth/tst_manual_ssl_client_auth.cpp
-new file mode 100644
-index 0000000..2307cbb
---- /dev/null
-+++ b/tests/manual/network/ssl/client-auth/tst_manual_ssl_client_auth.cpp
-@@ -0,0 +1,118 @@
-+// Copyright (C) 2023 The Qt Company Ltd.
-+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
-+
-+#include <QtCore/qcoreapplication.h>
-+
-+#include <QtCore/qthread.h>
-+#include <QtCore/qfile.h>
-+#include <QtCore/qdir.h>
-+
-+#include <QtNetwork/qsslsocket.h>
-+#include <QtNetwork/qsslserver.h>
-+#include <QtNetwork/qsslconfiguration.h>
-+#include <QtNetwork/qsslkey.h>
-+
-+// Client and/or server presents a certificate signed by a system-trusted CA
-+// but the other side presents a certificate signed by a different CA.
-+constexpr bool TestServerPresentsIncorrectCa = false;
-+constexpr bool TestClientPresentsIncorrectCa = true;
-+
-+class ServerThread : public QThread
-+{
-+    Q_OBJECT
-+public:
-+    void run() override
-+    {
-+        QSslServer server;
-+
-+        QSslConfiguration config = server.sslConfiguration();
-+        QList<QSslCertificate> certs = QSslCertificate::fromPath(QStringLiteral(":/rootCA.pem"));
-+        config.setCaCertificates(certs);
-+        config.setLocalCertificate(QSslCertificate::fromPath(QStringLiteral(":/127.0.0.1.pem"))
-+                                           .first());
-+        QFile keyFile(QStringLiteral(":/127.0.0.1-key.pem"));
-+        if (!keyFile.open(QIODevice::ReadOnly))
-+            qFatal("Failed to open key file");
-+        config.setPrivateKey(QSslKey(&keyFile, QSsl::Rsa));
-+        config.setPeerVerifyMode(QSslSocket::VerifyPeer);
-+        server.setSslConfiguration(config);
-+
-+        connect(&server, &QSslServer::pendingConnectionAvailable, [&server]() {
-+            QSslSocket *socket = static_cast<QSslSocket *>(server.nextPendingConnection());
-+            qDebug() << "[s] newConnection" << socket->peerAddress() << socket->peerPort();
-+            socket->disconnectFromHost();
-+            qApp->quit();
-+        });
-+        connect(&server, &QSslServer::startedEncryptionHandshake, [](QSslSocket *socket) {
-+            qDebug() << "[s] new handshake" << socket->peerAddress() << socket->peerPort();
-+        });
-+        connect(&server, &QSslServer::errorOccurred,
-+                [](QSslSocket *socket, QAbstractSocket::SocketError error) {
-+                    qDebug() << "[s] errorOccurred" << socket->peerAddress() << socket->peerPort()
-+                             << error << socket->errorString();
-+                });
-+        connect(&server, &QSslServer::peerVerifyError,
-+                [](QSslSocket *socket, const QSslError &error) {
-+                    qDebug() << "[s] peerVerifyError" << socket->peerAddress() << socket->peerPort()
-+                             << error;
-+                });
-+        server.listen(QHostAddress::LocalHost, 24242);
-+
-+        exec();
-+
-+        server.close();
-+    }
-+};
-+
-+int main(int argc, char **argv)
-+{
-+    QCoreApplication app(argc, argv);
-+
-+    using namespace Qt::StringLiterals;
-+
-+    if (!QFileInfo(u":/rootCA.pem"_s).exists())
-+        qFatal("rootCA.pem not found. Did you run generate.sh in the certs directory?");
-+
-+    ServerThread serverThread;
-+    serverThread.start();
-+
-+    QSslSocket socket;
-+    QSslConfiguration config = socket.sslConfiguration();
-+    QString certificatePath;
-+    QString keyFileName;
-+    if constexpr (TestClientPresentsIncorrectCa) { // true: Present cert signed with incorrect CA: should fail
-+        certificatePath = u":/127.0.0.1-client.pem"_s;
-+        keyFileName = u":/127.0.0.1-client-key.pem"_s;
-+    } else { // false: Use correct CA: should succeed
-+        certificatePath = u":/accepted-client.pem"_s;
-+        keyFileName = u":/accepted-client-key.pem"_s;
-+    }
-+    config.setLocalCertificate(QSslCertificate::fromPath(certificatePath).first());
-+    if (TestServerPresentsIncorrectCa) // true: Verify server using incorrect CA: should fail
-+        config.setCaCertificates(QSslCertificate::fromPath(u":/rootCA.pem"_s));
-+    QFile keyFile(keyFileName);
-+    if (!keyFile.open(QIODevice::ReadOnly))
-+        qFatal("Failed to open key file");
-+    config.setPrivateKey(QSslKey(&keyFile, QSsl::Rsa));
-+    socket.setSslConfiguration(config);
-+
-+    QObject::connect(&socket, &QSslSocket::encrypted, []() { qDebug() << "[c] encrypted"; });
-+    QObject::connect(&socket, &QSslSocket::errorOccurred,
-+            [&socket](QAbstractSocket::SocketError error) {
-+                qDebug() << "[c] errorOccurred" << error << socket.errorString();
-+                qApp->quit();
-+            });
-+    QObject::connect(&socket, &QSslSocket::sslErrors, [](const QList<QSslError> &errors) {
-+        qDebug() << "[c] sslErrors" << errors;
-+    });
-+    QObject::connect(&socket, &QSslSocket::connected, []() { qDebug() << "[c] connected"; });
-+
-+    socket.connectToHostEncrypted(QStringLiteral("127.0.0.1"), 24242);
-+
-+    const int res = app.exec();
-+    serverThread.quit();
-+    serverThread.wait();
-+    return res;
-+}
-+
-+#include "tst_manual_ssl_client_auth.moc"
diff --git a/debian/patches/no_htmlinfo_example.patch b/debian/patches/no_htmlinfo_example.patch
deleted file mode 100644
index 68d9b34..0000000
--- a/debian/patches/no_htmlinfo_example.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Description: Avoid trying to build the htmlinfo example
- This example uses non-free images, so we had to remove it from the original
- tarball.
- .
- This patch avoid building this example.
-Author: Lisandro Damián Nicanor Pérez Meyer <lisandro at debian.org>
-Forwarded: not-needed
-
----
- examples/xml/CMakeLists.txt |    1 -
- examples/xml/xml.pro        |    3 +--
- 2 files changed, 1 insertion(+), 3 deletions(-)
-
---- a/examples/xml/CMakeLists.txt
-+++ b/examples/xml/CMakeLists.txt
-@@ -1,4 +1,3 @@
--qt_internal_add_example(htmlinfo)
- qt_internal_add_example(xmlstreamlint)
- if(TARGET Qt::Widgets)
-     qt_internal_add_example(dombookmarks)
---- a/examples/xml/xml.pro
-+++ b/examples/xml/xml.pro
-@@ -1,6 +1,5 @@
- TEMPLATE      = subdirs
--SUBDIRS       = htmlinfo \
--                xmlstreamlint
-+SUBDIRS       = xmlstreamlint
- 
- qtHaveModule(widgets) {
-     SUBDIRS +=  dombookmarks \
diff --git a/debian/patches/upstream_Add-HPPA-detection.patch b/debian/patches/upstream_Add-HPPA-detection.patch
deleted file mode 100644
index 5e3bd79..0000000
--- a/debian/patches/upstream_Add-HPPA-detection.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From e81cba0cd33339c2e5f5e3c670741605264b21c2 Mon Sep 17 00:00:00 2001
-From: Pino Toscano <toscano.pino at tiscali.it>
-Date: Thu, 6 Oct 2022 23:15:30 +0200
-Subject: [PATCH] Add HPPA detection
-
-- detect the HPPA architecture (PA-RISC) and define Q_PROCESSOR_HPPA
-- set the right machine type in QElfParser for HPPA ELF files
-
-Change-Id: I5214ce64ef1fdd0ecca3d6c1694c5db9b2852a22
-Reviewed-by: Thiago Macieira <thiago.macieira at intel.com>
----
- src/corelib/global/archdetect.cpp        |    2 ++
- src/corelib/global/qglobal.cpp           |    9 +++++++++
- src/corelib/global/qprocessordetection.h |    9 +++++++++
- src/corelib/plugin/qelfparser_p.cpp      |    3 +++
- 4 files changed, 23 insertions(+)
-
---- a/src/corelib/global/archdetect.cpp
-+++ b/src/corelib/global/archdetect.cpp
-@@ -17,6 +17,8 @@
- #  define ARCH_PROCESSOR "bfin"
- #elif defined(Q_PROCESSOR_WASM)
- #  define ARCH_PROCESSOR "wasm"
-+#elif defined(Q_PROCESSOR_HPPA)
-+#  define ARCH_PROCESSOR "hppa"
- #elif defined(Q_PROCESSOR_X86_32)
- #  define ARCH_PROCESSOR "i386"
- #elif defined(Q_PROCESSOR_X86_64)
---- a/src/corelib/global/qprocessordetection.h
-+++ b/src/corelib/global/qprocessordetection.h
-@@ -140,6 +140,15 @@
- // #  define Q_BYTE_ORDER Q_LITTLE_ENDIAN
- 
- /*
-+    PA-RISC family, no revisions or variants
-+
-+    PA-RISC is big-endian.
-+*/
-+#elif defined(__hppa__)
-+#  define Q_PROCESSOR_HPPA
-+#  define Q_BYTE_ORDER Q_BIG_ENDIAN
-+
-+/*
-     X86 family, known variants: 32- and 64-bit
- 
-     X86 is little-endian.
---- a/src/corelib/plugin/qelfparser_p.cpp
-+++ b/src/corelib/plugin/qelfparser_p.cpp
-@@ -118,6 +118,8 @@ struct ElfMachineCheck
-             EM_AARCH64
- #elif defined(Q_PROCESSOR_BLACKFIN)
-             EM_BLACKFIN
-+#elif defined(Q_PROCESSOR_HPPA)
-+            EM_PARISC
- #elif defined(Q_PROCESSOR_IA64)
-             EM_IA_64
- #elif defined(Q_PROCESSOR_MIPS)
-@@ -383,6 +385,7 @@ Q_DECL_UNUSED Q_DECL_COLD_FUNCTION stati
- #endif
-     case EM_IA_64:      d << ", IA-64"; break;
-     case EM_MIPS:       d << ", MIPS"; break;
-+    case EM_PARISC:     d << ", HPPA"; break;
-     case EM_PPC:        d << ", PowerPC"; break;
-     case EM_PPC64:      d << ", PowerPC 64-bit"; break;
- #ifdef EM_RISCV
---- a/src/corelib/global/qglobal.cpp
-+++ b/src/corelib/global/qglobal.cpp
-@@ -1791,6 +1791,15 @@ bool qSharedBuild() noexcept
- */
- 
- /*!
-+    \macro Q_PROCESSOR_HPPA
-+    \relates <QtGlobal>
-+
-+    Defined if the application is compiled for PA-RISC processors.
-+
-+    \sa QSysInfo::buildCpuArchitecture()
-+*/
-+
-+/*!
-     \macro Q_PROCESSOR_IA64
-     \relates <QtGlobal>
- 
diff --git a/debian/patches/upstream_Add-M68k-detection.patch b/debian/patches/upstream_Add-M68k-detection.patch
deleted file mode 100644
index 9df96b4..0000000
--- a/debian/patches/upstream_Add-M68k-detection.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From ac17a394a5701174c705050640e26c9cb95d289b Mon Sep 17 00:00:00 2001
-From: Pino Toscano <toscano.pino at tiscali.it>
-Date: Thu, 6 Oct 2022 23:17:57 +0200
-Subject: [PATCH] Add M68k detection
-
-- detect the M68k architecture (Motorola 68000) and define
-  Q_PROCESSOR_M68K
-- set the right machine type in QElfParser for M68k ELF files
-
-Change-Id: Ie5694abbe1ae2bfeb5692defba0ca6062c1d60ac
-Reviewed-by: Thiago Macieira <thiago.macieira at intel.com>
----
- src/corelib/global/archdetect.cpp        |    2 ++
- src/corelib/global/qglobal.cpp           |    9 +++++++++
- src/corelib/global/qprocessordetection.h |    9 +++++++++
- src/corelib/plugin/qelfparser_p.cpp      |    3 +++
- 4 files changed, 23 insertions(+)
-
---- a/src/corelib/global/archdetect.cpp
-+++ b/src/corelib/global/archdetect.cpp
-@@ -25,6 +25,8 @@
- #  define ARCH_PROCESSOR "x86_64"
- #elif defined(Q_PROCESSOR_IA64)
- #  define ARCH_PROCESSOR "ia64"
-+#elif defined(Q_PROCESSOR_M68K)
-+#  define ARCH_PROCESSOR "m68k"
- #elif defined(Q_PROCESSOR_MIPS_64)
- #  define ARCH_PROCESSOR "mips64"
- #elif defined(Q_PROCESSOR_MIPS)
---- a/src/corelib/global/qprocessordetection.h
-+++ b/src/corelib/global/qprocessordetection.h
-@@ -197,6 +197,15 @@
- // Q_BYTE_ORDER not defined, use endianness auto-detection
- 
- /*
-+    Motorola 68000 family, no revisions or variants
-+
-+    M68K is big-endian.
-+*/
-+#elif defined(__m68k__)
-+#  define Q_PROCESSOR_M68K
-+#  define Q_BYTE_ORDER Q_BIG_ENDIAN
-+
-+/*
-     MIPS family, known revisions: I, II, III, IV, 32, 64
- 
-     MIPS is bi-endian, use endianness auto-detection implemented below.
---- a/src/corelib/plugin/qelfparser_p.cpp
-+++ b/src/corelib/plugin/qelfparser_p.cpp
-@@ -122,6 +122,8 @@ struct ElfMachineCheck
-             EM_PARISC
- #elif defined(Q_PROCESSOR_IA64)
-             EM_IA_64
-+#elif defined(Q_PROCESSOR_M68K)
-+            EM_68K
- #elif defined(Q_PROCESSOR_MIPS)
-             EM_MIPS
- #elif defined(Q_PROCESSOR_POWER_32)
-@@ -378,6 +380,7 @@ Q_DECL_UNUSED Q_DECL_COLD_FUNCTION stati
-     switch (r.machine) {
-     // list definitely not exhaustive!
-     case EM_NONE:       d << ", no machine"; break;
-+    case EM_68K:        d << ", MC68000"; break;
-     case EM_ARM:        d << ", ARM"; break;
-     case EM_AARCH64:    d << ", AArch64"; break;
- #ifdef EM_BLACKFIN
---- a/src/corelib/global/qglobal.cpp
-+++ b/src/corelib/global/qglobal.cpp
-@@ -1810,6 +1810,15 @@ bool qSharedBuild() noexcept
- */
- 
- /*!
-+    \macro Q_PROCESSOR_M68K
-+    \relates <QtGlobal>
-+
-+    Defined if the application is compiled for Motorola 68000 processors.
-+
-+    \sa QSysInfo::buildCpuArchitecture()
-+*/
-+
-+/*!
-     \macro Q_PROCESSOR_MIPS
-     \relates <QtGlobal>
- 
diff --git a/debian/patches/upstream_Add-enable-Alpha-detection.patch b/debian/patches/upstream_Add-enable-Alpha-detection.patch
deleted file mode 100644
index 13ebd78..0000000
--- a/debian/patches/upstream_Add-enable-Alpha-detection.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From eeb66b99df521c4a32b8eda1d889f615319355a6 Mon Sep 17 00:00:00 2001
-From: Pino Toscano <toscano.pino at tiscali.it>
-Date: Tue, 15 Nov 2022 07:15:44 +0100
-Subject: [PATCH] Add/enable Alpha detection
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-- uncomment the Alpha detection defining Q_PROCESSOR_ALPHA, which is
-  already used/documented in few places
-- set the right machine type in QElfParser for Alpha ELF files
-
-Pick-to: 6.5
-Change-Id: I072bdee8b73ad3c86591c764aa7075c114967fd9
-Reviewed-by: Thiago Macieira <thiago.macieira at intel.com>
-Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer at gmail.com>
----
- src/corelib/global/qprocessordetection.h | 6 +++---
- src/corelib/plugin/qelfparser_p.cpp      | 3 +++
- 2 files changed, 6 insertions(+), 3 deletions(-)
-
---- a/src/corelib/global/qprocessordetection.h
-+++ b/src/corelib/global/qprocessordetection.h
-@@ -48,8 +48,8 @@
- 
-     Alpha is bi-endian, use endianness auto-detection implemented below.
- */
--// #elif defined(__alpha__) || defined(_M_ALPHA)
--// #  define Q_PROCESSOR_ALPHA
-+#if defined(__alpha__) || defined(_M_ALPHA)
-+#  define Q_PROCESSOR_ALPHA
- // Q_BYTE_ORDER not defined, use endianness auto-detection
- 
- /*
-@@ -58,7 +58,7 @@
-     ARM is bi-endian, detect using __ARMEL__ or __ARMEB__, falling back to
-     auto-detection implemented below.
- */
--#if defined(__arm__) || defined(__TARGET_ARCH_ARM) || defined(_M_ARM) || defined(_M_ARM64) || defined(__aarch64__) || defined(__ARM64__)
-+#elif defined(__arm__) || defined(__TARGET_ARCH_ARM) || defined(_M_ARM) || defined(_M_ARM64) || defined(__aarch64__) || defined(__ARM64__)
- #  if defined(__aarch64__) || defined(__ARM64__) || defined(_M_ARM64)
- #    define Q_PROCESSOR_ARM_64
- #    define Q_PROCESSOR_WORDSIZE 8
---- a/src/corelib/plugin/qelfparser_p.cpp
-+++ b/src/corelib/plugin/qelfparser_p.cpp
-@@ -112,6 +112,8 @@ struct ElfMachineCheck
-     static const Elf32_Half ExpectedMachine =
- #if 0
-             // nothing
-+#elif defined(Q_PROCESSOR_ALPHA)
-+            EM_ALPHA
- #elif defined(Q_PROCESSOR_ARM_32)
-             EM_ARM
- #elif defined(Q_PROCESSOR_ARM_64)
-@@ -380,6 +382,7 @@ Q_DECL_UNUSED Q_DECL_COLD_FUNCTION stati
-     switch (r.machine) {
-     // list definitely not exhaustive!
-     case EM_NONE:       d << ", no machine"; break;
-+    case EM_ALPHA:      d << ", Alpha"; break;
-     case EM_68K:        d << ", MC68000"; break;
-     case EM_ARM:        d << ", ARM"; break;
-     case EM_AARCH64:    d << ", AArch64"; break;
diff --git a/debian/qt6-base.lintian-overrides b/debian/qt6-base.lintian-overrides
index 71d82e1..c840440 100644
--- a/debian/qt6-base.lintian-overrides
+++ b/debian/qt6-base.lintian-overrides
@@ -2,4 +2,4 @@ qt6-base: package-name-doesnt-match-sonames libQt6Concurrent6 libQt6Core6 libQt6
 qt6-base: ships-undeclared-shared-library libQt6EglFSDeviceIntegration 6 for usr/lib/*libQt6EglFSDeviceIntegration.so.6.6.0
 qt6-base: ships-undeclared-shared-library libQt6EglFsKmsGbmSupport 6 for usr/lib/*libQt6EglFsKmsGbmSupport.so.6.6.0
 qt6-base: ships-undeclared-shared-library libQt6EglFsKmsSupport 6 for usr/lib/*libQt6EglFsKmsSupport.so.6.6.0
-qt6-base: ships-undeclared-shared-library libQt6XcbQpa 6 for usr/lib/*libQt6XcbQpa.so.6.6.0
\ No newline at end of file
+qt6-base: ships-undeclared-shared-library libQt6XcbQpa 6 for usr/lib/*libQt6XcbQpa.so.6.6.0
diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides
index bdcb457..85cd787 100644
--- a/debian/source/lintian-overrides
+++ b/debian/source/lintian-overrides
@@ -10,4 +10,6 @@ qt6-base source: unpack-message-for-source ar failed for tests/auto/corelib/io/q
 qt6-base source: unpack-message-for-source ar failed for tests/auto/corelib/io/qdir/types/c.a
 
 # Override some source-is-missing
-qt6-base source: source-is-missing tests/auto/corelib/plugin/qpluginloader/elftest/debugobj.so
\ No newline at end of file
+qt6-base source: source-is-missing tests/auto/corelib/plugin/qpluginloader/elftest/debugobj.so
+
+qt6-base source: license-problem-non-free-RFC tests/auto/corelib/text/qbytearray_large/rfc3252.txt
\ No newline at end of file


More information about the Neon-commits mailing list