Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libqxmpp for openSUSE:Factory 
checked in at 2025-10-24 17:24:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libqxmpp (Old)
 and      /work/SRC/openSUSE:Factory/.libqxmpp.new.1980 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libqxmpp"

Fri Oct 24 17:24:23 2025 rev:41 rq:1313386 version:1.11.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/libqxmpp/libqxmpp.changes        2025-09-18 
21:09:36.692758626 +0200
+++ /work/SRC/openSUSE:Factory/.libqxmpp.new.1980/libqxmpp.changes      
2025-10-24 17:26:02.225978906 +0200
@@ -1,0 +2,11 @@
+Fri Oct 24 10:59:58 UTC 2025 - Christophe Marin <[email protected]>
+
+- Update to 1.11.3
+  * JmiManager: Fix ID is not set when calling proceed()
+  * HttpUploadManager: Add header containing content type to HTTP
+    request
+  * Fix crash on upload cancellation
+  * Client: e2ee: Fix parsing unencrypted messages as
+    SceSensitive only
+
+-------------------------------------------------------------------

Old:
----
  qxmpp-1.11.2.tar.xz
  qxmpp-1.11.2.tar.xz.sig

New:
----
  qxmpp-1.11.3.tar.xz
  qxmpp-1.11.3.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libqxmpp.spec ++++++
--- /var/tmp/diff_new_pack.HVXMV7/_old  2025-10-24 17:26:03.654038895 +0200
+++ /var/tmp/diff_new_pack.HVXMV7/_new  2025-10-24 17:26:03.686040239 +0200
@@ -18,7 +18,7 @@
 
 %define sover 6
 Name:           libqxmpp
-Version:        1.11.2
+Version:        1.11.3
 Release:        0
 Summary:        Qt XMPP Library
 License:        LGPL-2.1-or-later
@@ -59,6 +59,7 @@
 Development package for qxmpp.
 
 # No need to build it twice
+
 %package -n libqxmpp-doc
 Summary:        Qxmpp library documentation
 BuildArch:      noarch

++++++ qxmpp-1.11.2.tar.xz -> qxmpp-1.11.3.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qxmpp-1.11.2/.gitlab-ci.yml 
new/qxmpp-1.11.3/.gitlab-ci.yml
--- old/qxmpp-1.11.2/.gitlab-ci.yml     2025-09-02 17:13:51.000000000 +0200
+++ new/qxmpp-1.11.3/.gitlab-ci.yml     2025-10-13 15:11:58.000000000 +0200
@@ -13,3 +13,7 @@
       - /gitlab-templates/alpine-qt6.yml
       - /gitlab-templates/freebsd-qt6.yml
       - /gitlab-templates/windows-qt6.yml
+      - /gitlab-templates/craft-macos-arm64-qt6.yml
+      - /gitlab-templates/craft-macos-x86-64-qt6.yml
+      - /gitlab-templates/craft-windows-mingw64-qt6.yml
+      - /gitlab-templates/craft-windows-x86-64-qt6.yml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qxmpp-1.11.2/CHANGELOG.md 
new/qxmpp-1.11.3/CHANGELOG.md
--- old/qxmpp-1.11.2/CHANGELOG.md       2025-09-02 17:13:51.000000000 +0200
+++ new/qxmpp-1.11.3/CHANGELOG.md       2025-10-13 15:11:58.000000000 +0200
@@ -4,6 +4,13 @@
 SPDX-License-Identifier: CC0-1.0
 -->
 
+QXmpp 1.11.3 (October 13, 2025)
+-------------------------------
+
+ - Fixes for Apple Clang (@lnj, !719)
+ - HttpUploadManager: Add Content-Type header when uploading via HTTP (@melvo, 
!721)
+ - EncryptedFileSharingProvider: Fix crash on cancellation (@fazevedo, !720)
+
 QXmpp 1.11.2 (September 2, 2025)
 --------------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qxmpp-1.11.2/CMakeLists.txt 
new/qxmpp-1.11.3/CMakeLists.txt
--- old/qxmpp-1.11.2/CMakeLists.txt     2025-09-02 17:13:51.000000000 +0200
+++ new/qxmpp-1.11.3/CMakeLists.txt     2025-10-13 15:11:58.000000000 +0200
@@ -3,7 +3,7 @@
 # SPDX-License-Identifier: CC0-1.0
 
 cmake_minimum_required(VERSION 3.16)
-project(qxmpp VERSION 1.11.2)
+project(qxmpp VERSION 1.11.3)
 
 set(SO_VERSION 6)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qxmpp-1.11.2/doc/doap.xml 
new/qxmpp-1.11.3/doc/doap.xml
--- old/qxmpp-1.11.2/doc/doap.xml       2025-09-02 17:13:51.000000000 +0200
+++ new/qxmpp-1.11.3/doc/doap.xml       2025-10-13 15:11:58.000000000 +0200
@@ -751,6 +751,13 @@
     </implements>
     <release>
       <Version>
+        <revision>1.11.3</revision>
+        <created>2025-10-13</created>
+        <file-release 
rdf:resource='https://download.kde.org/unstable/qxmpp/qxmpp-1.11.3.tar.xz'/>
+      </Version>
+    </release>
+    <release>
+      <Version>
         <revision>1.11.2</revision>
         <created>2025-09-02</created>
         <file-release 
rdf:resource='https://download.kde.org/unstable/qxmpp/qxmpp-1.11.2.tar.xz'/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qxmpp-1.11.2/src/base/QXmppArchiveIq.h 
new/qxmpp-1.11.3/src/base/QXmppArchiveIq.h
--- old/qxmpp-1.11.2/src/base/QXmppArchiveIq.h  2025-09-02 17:13:51.000000000 
+0200
+++ new/qxmpp-1.11.3/src/base/QXmppArchiveIq.h  2025-10-13 15:11:58.000000000 
+0200
@@ -64,7 +64,8 @@
     /// \cond
     static constexpr std::tuple XmlTag = { u"chat", QXmpp::Private::ns_archive 
};
     void parse(const QDomElement &element);
-    void toXml(QXmlStreamWriter *writer, const QXmppResultSetReply &rsm = 
QXmppResultSetReply()) const;
+    void toXml(QXmlStreamWriter *writer) const { toXml(writer, {}); }
+    void toXml(QXmlStreamWriter *writer, const QXmppResultSetReply &rsm) const;
     /// \endcond
 
 private:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qxmpp-1.11.2/src/base/QXmppUtils.cpp 
new/qxmpp-1.11.3/src/base/QXmppUtils.cpp
--- old/qxmpp-1.11.2/src/base/QXmppUtils.cpp    2025-09-02 17:13:51.000000000 
+0200
+++ new/qxmpp-1.11.3/src/base/QXmppUtils.cpp    2025-10-13 15:11:58.000000000 
+0200
@@ -469,7 +469,7 @@
     return {};
 }
 
-QByteArray QXmpp::Private::serializeXml(std::function<void(XmlWriter &)> toXml)
+QByteArray QXmpp::Private::serializeXmlWriter(std::function<void(XmlWriter &)> 
toXml)
 {
     QByteArray data;
     QXmlStreamWriter xmlStream(&data);
@@ -478,7 +478,7 @@
     return data;
 }
 
-QByteArray QXmpp::Private::serializeXml(std::function<void(QXmlStreamWriter 
*)> toXml)
+QByteArray 
QXmpp::Private::serializeQXmlStream(std::function<void(QXmlStreamWriter *)> 
toXml)
 {
     QByteArray data;
     QXmlStreamWriter xmlStream(&data);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qxmpp-1.11.2/src/base/QXmppUtils_p.h 
new/qxmpp-1.11.3/src/base/QXmppUtils_p.h
--- old/qxmpp-1.11.2/src/base/QXmppUtils_p.h    2025-09-02 17:13:51.000000000 
+0200
+++ new/qxmpp-1.11.3/src/base/QXmppUtils_p.h    2025-10-13 15:11:58.000000000 
+0200
@@ -14,6 +14,7 @@
 #include <functional>
 #include <optional>
 #include <stdint.h>
+#include <type_traits>
 
 #include <QByteArray>
 #include <QDomElement>
@@ -244,28 +245,34 @@
     });
 }
 
-QByteArray serializeXml(std::function<void(XmlWriter &)>);
-QByteArray serializeXml(std::function<void(QXmlStreamWriter *)>);
+QByteArray serializeXmlWriter(std::function<void(XmlWriter &)>);
+QByteArray serializeQXmlStream(std::function<void(QXmlStreamWriter *)>);
 
 template<typename T>
-concept XmlWriterSerializeable = requires(T packet, XmlWriter &writer) {
-    { packet.toXml(writer) } -> std::same_as<void>;
-};
-template<typename T>
-concept QXmlStreamSerializeable = requires(T packet, QXmlStreamWriter *writer) 
{
-    { packet.toXml(writer) } -> std::same_as<void>;
-};
+concept XmlWriterSerializeable =
+    std::same_as<
+        decltype(static_cast<void (std::remove_cvref_t<T>::*)(XmlWriter 
&)>(&std::remove_cvref_t<T>::toXml)),
+        void (std::remove_cvref_t<T>::*)(XmlWriter &)> ||
+    std::same_as<
+        decltype(static_cast<void (std::remove_cvref_t<T>::*)(XmlWriter &) 
const>(&std::remove_cvref_t<T>::toXml)),
+        void (std::remove_cvref_t<T>::*)(XmlWriter &) const>;
+
+template<typename T>
+concept QXmlStreamSerializeable =
+    std::same_as<
+        decltype(static_cast<void (std::remove_cvref_t<T>::*)(QXmlStreamWriter 
*) const>(&std::remove_cvref_t<T>::toXml)),
+        void (std::remove_cvref_t<T>::*)(QXmlStreamWriter *) const>;
 
 template<typename T>
 inline QByteArray serializeXml(const T &packet)
     requires XmlWriterSerializeable<T> || QXmlStreamSerializeable<T>
 {
     if constexpr (XmlWriterSerializeable<T>) {
-        return serializeXml([&](XmlWriter &w) {
+        return serializeXmlWriter([&](XmlWriter &w) {
             packet.toXml(w);
         });
     } else if constexpr (QXmlStreamSerializeable<T>) {
-        return serializeXml([&](QXmlStreamWriter *w) {
+        return serializeQXmlStream([&](QXmlStreamWriter *w) {
             packet.toXml(w);
         });
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qxmpp-1.11.2/src/base/QXmppVisitHelper_p.h 
new/qxmpp-1.11.3/src/base/QXmppVisitHelper_p.h
--- old/qxmpp-1.11.2/src/base/QXmppVisitHelper_p.h      2025-09-02 
17:13:51.000000000 +0200
+++ new/qxmpp-1.11.3/src/base/QXmppVisitHelper_p.h      2025-10-13 
15:11:58.000000000 +0200
@@ -13,6 +13,10 @@
     using Ts::operator()...;
 };
 
+// explicit deduction guide (not needed as of C++20)
+template<class... Ts>
+overloaded(Ts...) -> overloaded<Ts...>;
+
 }  // namespace QXmpp::Private
 
 #endif  // QXMPPVISITHELPER_P_H
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qxmpp-1.11.2/src/base/XmlWriter.h 
new/qxmpp-1.11.3/src/base/XmlWriter.h
--- old/qxmpp-1.11.2/src/base/XmlWriter.h       2025-09-02 17:13:51.000000000 
+0200
+++ new/qxmpp-1.11.3/src/base/XmlWriter.h       2025-10-13 15:11:58.000000000 
+0200
@@ -345,6 +345,11 @@
     }
 };
 
+template<IsOptionalStringSerializable Enum>
+OptionalEnumElement(Enum) -> OptionalEnumElement<Enum>;
+template<IsOptionalStringSerializable Enum, std::convertible_to<QStringView> 
StringView>
+OptionalEnumElement(Enum, StringView) -> OptionalEnumElement<Enum>;
+
 template<typename Tag, typename Value>
 struct TextElement {
     Tag tag;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qxmpp-1.11.2/src/client/QXmppClient.cpp 
new/qxmpp-1.11.3/src/client/QXmppClient.cpp
--- old/qxmpp-1.11.2/src/client/QXmppClient.cpp 2025-09-02 17:13:51.000000000 
+0200
+++ new/qxmpp-1.11.3/src/client/QXmppClient.cpp 2025-10-13 15:11:58.000000000 
+0200
@@ -193,7 +193,7 @@
     }
     QXmppMessage message;
     if (e2eeExt) {
-        message.parse(element, e2eeExt->isEncrypted(element) ? ScePublic : 
SceSensitive);
+        message.parse(element, e2eeExt->isEncrypted(element) ? ScePublic : 
SceAll);
     } else {
         message.parse(element);
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qxmpp-1.11.2/src/client/QXmppEncryptedFileSharingProvider.cpp 
new/qxmpp-1.11.3/src/client/QXmppEncryptedFileSharingProvider.cpp
--- old/qxmpp-1.11.2/src/client/QXmppEncryptedFileSharingProvider.cpp   
2025-09-02 17:13:51.000000000 +0200
+++ new/qxmpp-1.11.3/src/client/QXmppEncryptedFileSharingProvider.cpp   
2025-10-13 15:11:58.000000000 +0200
@@ -1,5 +1,6 @@
 // SPDX-FileCopyrightText: 2022 Jonah BrĂ¼chert <[email protected]>
 // SPDX-FileCopyrightText: 2022 Linus Jahn <[email protected]>
+// SPDX-FileCopyrightText: 2025 Filipe AZevedo <[email protected]>
 //
 // SPDX-License-Identifier: LGPL-2.1-or-later
 
@@ -111,17 +112,23 @@
         metadata,
         std::move(reportProgress),
         [=, reportFinished = std::move(reportFinished)](UploadResult result) {
-            auto encryptedResult = map<UploadResult>(
-                [&](std::any httpSourceAny) {
-                    QXmppEncryptedFileSource encryptedSource;
-                    encryptedSource.setCipher(ENCRYPTION_DEFAULT_CIPHER);
-                    encryptedSource.setKey(key);
-                    encryptedSource.setIv(iv);
-                    encryptedSource.setHttpSources({ 
std::any_cast<QXmppHttpFileSource>(std::move(httpSourceAny)) });
-
-                    return encryptedSource;
-                },
-                std::move(result));
-            reportFinished(std::move(encryptedResult));
+            if (std::holds_alternative<std::any>(result)) {
+                auto encryptedResult = map<UploadResult>(
+                    [&](std::any httpSourceAny) {
+                        QXmppEncryptedFileSource encryptedSource;
+                        encryptedSource.setCipher(ENCRYPTION_DEFAULT_CIPHER);
+                        encryptedSource.setKey(key);
+                        encryptedSource.setIv(iv);
+                        encryptedSource.setHttpSources({ 
std::any_cast<QXmppHttpFileSource>(std::move(httpSourceAny)) });
+
+                        return encryptedSource;
+                    },
+                    std::move(result));
+                reportFinished(std::move(encryptedResult));
+            } else if (std::holds_alternative<Cancelled>(result)) {
+                reportFinished(Cancelled {});
+            } else if (std::holds_alternative<QXmppError>(result)) {
+                reportFinished(std::get<QXmppError>(std::move(result)));
+            }
         });
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qxmpp-1.11.2/src/client/QXmppHttpUploadManager.cpp 
new/qxmpp-1.11.3/src/client/QXmppHttpUploadManager.cpp
--- old/qxmpp-1.11.2/src/client/QXmppHttpUploadManager.cpp      2025-09-02 
17:13:51.000000000 +0200
+++ new/qxmpp-1.11.3/src/client/QXmppHttpUploadManager.cpp      2025-10-13 
15:11:58.000000000 +0200
@@ -301,7 +301,7 @@
 
     auto future = 
client()->findExtension<QXmppUploadRequestManager>()->requestSlot(filename, 
fileSize, mimeType, uploadServiceJid);
     // TODO: rawSourceDevice: could this lead to a memory leak if the "then 
lambda" is never executed?
-    future.then(this, [this, upload, rawSourceDevice = 
data.release()](SlotResult result) mutable {
+    future.then(this, [this, upload, rawSourceDevice = data.release(), 
mimeType](SlotResult result) mutable {
         // first check whether upload was cancelled in the meantime
         if (upload->d->cancelled) {
             upload->d->reportFinished();
@@ -324,6 +324,7 @@
             upload->d->getUrl = slot.getUrl();
 
             QNetworkRequest request(slot.putUrl());
+            request.setHeader(QNetworkRequest::ContentTypeHeader, 
mimeType.name());
             auto headers = slot.putHeaders();
             for (auto itr = headers.cbegin(); itr != headers.cend(); ++itr) {
                 request.setRawHeader(itr.key().toUtf8(), itr.value().toUtf8());
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qxmpp-1.11.2/src/client/QXmppJingleMessageInitiationManager.cpp 
new/qxmpp-1.11.3/src/client/QXmppJingleMessageInitiationManager.cpp
--- old/qxmpp-1.11.2/src/client/QXmppJingleMessageInitiationManager.cpp 
2025-09-02 17:13:51.000000000 +0200
+++ new/qxmpp-1.11.3/src/client/QXmppJingleMessageInitiationManager.cpp 
2025-10-13 15:11:58.000000000 +0200
@@ -86,7 +86,7 @@
 {
     QXmppJingleMessageInitiationElement jmiElement;
     jmiElement.setType(JmiType::Proceed);
-
+    jmiElement.setId(d->id);
     return d->request(std::move(jmiElement));
 }
 

Reply via email to