Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kf6-kwallet for openSUSE:Factory checked in at 2024-05-29 19:35:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kf6-kwallet (Old) and /work/SRC/openSUSE:Factory/.kf6-kwallet.new.24587 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kf6-kwallet" Wed May 29 19:35:05 2024 rev:4 rq:1177095 version:6.2.1 Changes: -------- --- /work/SRC/openSUSE:Factory/kf6-kwallet/kf6-kwallet.changes 2024-05-11 18:23:47.559883240 +0200 +++ /work/SRC/openSUSE:Factory/.kf6-kwallet.new.24587/kf6-kwallet.changes 2024-05-29 19:35:07.330902930 +0200 @@ -1,0 +2,6 @@ +Mon May 27 10:17:01 UTC 2024 - Christophe Marin <[email protected]> + +- Update to 6.2.1. Hotfix release: + * Fix secrets portal wallet access (kde#487348) + +------------------------------------------------------------------- Old: ---- kwallet-6.2.0.tar.xz kwallet-6.2.0.tar.xz.sig New: ---- kwallet-6.2.1.tar.xz kwallet-6.2.1.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kf6-kwallet.spec ++++++ --- /var/tmp/diff_new_pack.Ey6wBG/_old 2024-05-29 19:35:08.938961169 +0200 +++ /var/tmp/diff_new_pack.Ey6wBG/_new 2024-05-29 19:35:08.950961603 +0200 @@ -25,7 +25,8 @@ %{!?_kf6_bugfix_version: %define _kf6_bugfix_version %(echo %{_kf6_version} | awk -F. '{print $1"."$2}')} %bcond_without released Name: kf6-kwallet -Version: 6.2.0 +Version: 6.2.1 +%global _kf6_version 6.2.0 Release: 0 Summary: Safe desktop-wide storage for passwords License: LGPL-2.1-or-later ++++++ kwallet-6.2.0.tar.xz -> kwallet-6.2.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwallet-6.2.0/CMakeLists.txt new/kwallet-6.2.1/CMakeLists.txt --- old/kwallet-6.2.0/CMakeLists.txt 2024-05-03 14:27:15.000000000 +0200 +++ new/kwallet-6.2.1/CMakeLists.txt 2024-05-24 22:02:55.000000000 +0200 @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.16) -set(KF_VERSION "6.2.0") # handled by release scripts +set(KF_VERSION "6.2.1") # handled by release scripts set(KF_DEP_VERSION "6.2.0") # handled by release scripts project(KWallet VERSION ${KF_VERSION}) set(CMAKE_EXPORT_COMPILE_COMMANDS 1) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwallet-6.2.0/src/runtime/kwalletd/kwalletportalsecrets.cpp new/kwallet-6.2.1/src/runtime/kwalletd/kwalletportalsecrets.cpp --- old/kwallet-6.2.0/src/runtime/kwalletd/kwalletportalsecrets.cpp 2024-05-03 14:27:15.000000000 +0200 +++ new/kwallet-6.2.1/src/runtime/kwalletd/kwalletportalsecrets.cpp 2024-05-24 22:02:55.000000000 +0200 @@ -36,47 +36,33 @@ setDelayedReply(true); const QString wallet = m_kwalletd->networkWallet(); - const bool walletIsOpen = m_kwalletd->isOpen(m_kwalletd->networkWallet()); + int transactionId = m_kwalletd->openAsync(wallet, 0, "xdg-desktop-portal", false, connection(), message()); Request request{message(), fd.fileDescriptor(), app_id}; - - if (!walletIsOpen) { - m_pendingRequests.insert(app_id, request); - m_kwalletd->openAsync(wallet, 0, app_id, false, connection(), message()); - } else { - Q_ASSERT(m_handle != -1); - handleRequest(request); - } + m_pendingRequests.insert(transactionId, request); return 0; } -void KWalletPortalSecrets::walletOpened(int id, int handle) +void KWalletPortalSecrets::walletOpened(int transactionId, int walletHandle) { - Q_UNUSED(id); - Q_ASSERT(handle != -1); - - m_handle = handle; - - for (const Request &request : std::as_const(m_pendingRequests)) { - handleRequest(request); + if (!m_pendingRequests.contains(transactionId)) { + // wallet open request was not from us + return; } - m_pendingRequests.clear(); -} + const Request request = m_pendingRequests.take(transactionId); -void KWalletPortalSecrets::handleRequest(const Request &request) -{ - bool exists = m_kwalletd->hasEntry(m_handle, "xdg-desktop-portal", request.appId, request.appId); + bool exists = m_kwalletd->hasEntry(walletHandle, "xdg-desktop-portal", request.appId, "xdg-desktop-portal"); QByteArray secret; if (exists) { - secret = m_kwalletd->readEntry(m_handle, "xdg-desktop-portal", request.appId, request.appId); + secret = m_kwalletd->readEntry(walletHandle, "xdg-desktop-portal", request.appId, "xdg-desktop-portal"); } else { secret = generateSecret(); - m_kwalletd->writeEntry(m_handle, "xdg-desktop-portal", request.appId, secret, request.appId); - m_kwalletd->sync(m_handle, request.appId); + m_kwalletd->writeEntry(walletHandle, "xdg-desktop-portal", request.appId, secret, "xdg-desktop-portal"); + m_kwalletd->sync(walletHandle, "xdg-desktop-portal"); } QFile outFile; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwallet-6.2.0/src/runtime/kwalletd/kwalletportalsecrets.h new/kwallet-6.2.1/src/runtime/kwalletd/kwalletportalsecrets.h --- old/kwallet-6.2.0/src/runtime/kwalletd/kwalletportalsecrets.h 2024-05-03 14:27:15.000000000 +0200 +++ new/kwallet-6.2.1/src/runtime/kwalletd/kwalletportalsecrets.h 2024-05-24 22:02:55.000000000 +0200 @@ -37,10 +37,8 @@ }; QByteArray generateSecret() const; - void handleRequest(const Request &request); - QHash<QString, Request> m_pendingRequests; - int m_handle = -1; + QHash<int, Request> m_pendingRequests; KWalletD *m_kwalletd; };
