Package: release.debian.org Severity: normal X-Debbugs-Cc: polkit-kde-agen...@packages.debian.org, Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org> Control: affects -1 + src:polkit-kde-agent-1 User: release.debian....@packages.debian.org Usertags: unblock
Dear Release Team, please unblock package polkit-kde-agent-1. [ Impact ] It contains the following changes: * New upstream release (6.3.6). - Mobile: Update to support recent changes, and show maximized. * Backport upstream commits: - Add notification sound missing from authentication dialogs even when configured to do so. [40daa686] (kde#448554) - Mitigate pam race condition when pam setup takes longer. [b1109f51] (kde#505239) [ Tests ] - Various sudo privilege escalation successfully tested locally for package install / update operations and SDDM theme changes. [ Risks ] Only contains the latest upstream point release for the 6.3 Plasma branch and backported commits. Further fixes can easily be backported or the changes reverted. [ Checklist ] [x] all changes are documented in the d/changelog [x] I reviewed all changes and I approve them [x] attach debdiff against the package in testing Thanks ! unblock polkit-kde-agent-1/4:6.3.6-1
diff -Nru polkit-kde-agent-1-6.3.4/CMakeLists.txt polkit-kde-agent-1-6.3.6/CMakeLists.txt --- polkit-kde-agent-1-6.3.4/CMakeLists.txt 2025-04-02 05:40:14.000000000 +0200 +++ polkit-kde-agent-1-6.3.6/CMakeLists.txt 2025-07-08 13:50:03.000000000 +0200 @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.16) project(polkit-kde-agent-1) -set(PROJECT_VERSION "6.3.4") +set(PROJECT_VERSION "6.3.6") set(QT_MIN_VERSION "6.7.0") set(KF6_MIN_VERSION "6.10.0") diff -Nru polkit-kde-agent-1-6.3.4/debian/changelog polkit-kde-agent-1-6.3.6/debian/changelog --- polkit-kde-agent-1-6.3.4/debian/changelog 2025-04-03 01:00:10.000000000 +0200 +++ polkit-kde-agent-1-6.3.6/debian/changelog 2025-07-19 15:25:45.000000000 +0200 @@ -1,3 +1,15 @@ +polkit-kde-agent-1 (4:6.3.6-1) unstable; urgency=medium + + [ Aurélien COUDERC ] + * New upstream release (6.3.6). + * Backport upstream commits: + - Add notification sound missing from authentication dialogs even when + configured to do so. [40daa686] (kde#448554) + - Mitigate pam race condition when pam setup takes longer. [b1109f51] + (kde#505239) + + -- Aurélien COUDERC <couc...@debian.org> Sat, 19 Jul 2025 15:25:45 +0200 + polkit-kde-agent-1 (4:6.3.4-1) unstable; urgency=medium [ Patrick Franz ] diff -Nru polkit-kde-agent-1-6.3.4/debian/control polkit-kde-agent-1-6.3.6/debian/control --- polkit-kde-agent-1-6.3.4/debian/control 2025-04-02 21:23:00.000000000 +0200 +++ polkit-kde-agent-1-6.3.6/debian/control 2025-07-19 15:25:45.000000000 +0200 @@ -14,6 +14,7 @@ libkf6crash-dev (>= 6.10.0~), libkf6dbusaddons-dev (>= 6.10.0~), libkf6i18n-dev (>= 6.10.0~), + libkf6notifications-dev (>= 6.10.0~), libkf6windowsystem-dev (>= 6.10.0~), libpolkit-qt6-1-dev (>= 0.200.0~), libxkbcommon-dev, diff -Nru polkit-kde-agent-1-6.3.4/debian/patches/series polkit-kde-agent-1-6.3.6/debian/patches/series --- polkit-kde-agent-1-6.3.4/debian/patches/series 1970-01-01 01:00:00.000000000 +0100 +++ polkit-kde-agent-1-6.3.6/debian/patches/series 2025-07-19 15:25:45.000000000 +0200 @@ -0,0 +1,2 @@ +upstream_40daa686_Add-notification-sound-to-authentication-dialog.patch +upstream_b1109f51_fix-mitigate-pam-race-condition-BUG-505239-.patch diff -Nru polkit-kde-agent-1-6.3.4/debian/patches/upstream_40daa686_Add-notification-sound-to-authentication-dialog.patch polkit-kde-agent-1-6.3.6/debian/patches/upstream_40daa686_Add-notification-sound-to-authentication-dialog.patch --- polkit-kde-agent-1-6.3.4/debian/patches/upstream_40daa686_Add-notification-sound-to-authentication-dialog.patch 1970-01-01 01:00:00.000000000 +0100 +++ polkit-kde-agent-1-6.3.6/debian/patches/upstream_40daa686_Add-notification-sound-to-authentication-dialog.patch 2025-07-19 15:25:45.000000000 +0200 @@ -0,0 +1,111 @@ +From 40daa6866264a51dfc15ae4487e6a3883a455147 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bogdan=20Cvetanovski=20Pa=C5=A1ali=C4=87?= + <wackyid...@disroot.org> +Date: Sun, 27 Apr 2025 13:25:14 +0000 +Subject: [PATCH] Add notification sound to authentication dialog + +This commit fixes the notification event not activating when the +authentication dialog window appears, causing it to not play a sound. + +Now, it plays `dialog-warning-auth`, which currently falls back to +`dialog-warning` if the desires sound is not found in the active sound +theme. + +BUG: 448554 +FIXED-IN: 6.4.0 +--- + .kde-ci.yml | 1 + + CMakeLists.txt | 4 +++- + QuickAuthDialog.cpp | 5 ++++- + ...de.notifyrc => polkit-kde-authentication-agent-1.notifyrc | 3 ++- + 4 files changed, 10 insertions(+), 3 deletions(-) + rename policykit1-kde.notifyrc => polkit-kde-authentication-agent-1.notifyrc (99%) + +diff --git a/.kde-ci.yml b/.kde-ci.yml +index 710cf40..a00ce49 100644 +--- a/.kde-ci.yml ++++ b/.kde-ci.yml +@@ -9,6 +9,7 @@ Dependencies: + 'frameworks/kcrash': '@latest-kf6' + 'frameworks/kdbusaddons': '@latest-kf6' + 'frameworks/ki18n': '@latest-kf6' ++ 'frameworks/knotifications': '@latest-kf6' + 'frameworks/kwindowsystem': '@latest-kf6' + 'libraries/polkit-qt-1': '@latest-kf6' + Options: +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d9532c6..86cc2bc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -30,6 +30,7 @@ find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED Core DBus Widgets Quick Qml) + find_package(KF6 ${KF6_MIN_VERSION} REQUIRED COMPONENTS + I18n + WindowSystem ++ Notifications + DBusAddons + CoreAddons + Crash +@@ -78,6 +79,7 @@ target_link_libraries(polkit-kde-authentication-agent-1 + KF6::I18n + KF6::Crash + KF6::I18nQml ++ KF6::Notifications + Qt::Qml + Qt::Quick + Qt::Widgets +@@ -93,7 +95,7 @@ install(FILES ${CMAKE_BINARY_DIR}/polkit-kde-authentication-agent-1.desktop DEST + + ecm_install_configured_files(INPUT plasma-polkit-agent.service.in DESTINATION ${KDE_INSTALL_SYSTEMDUSERUNITDIR}) + +-install(FILES policykit1-kde.notifyrc DESTINATION ${KDE_INSTALL_KNOTIFYRCDIR}) ++install(FILES polkit-kde-authentication-agent-1.notifyrc DESTINATION ${KDE_INSTALL_KNOTIFYRCDIR}) + + # add clang-format target for all our real source files + file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h) +diff --git a/QuickAuthDialog.cpp b/QuickAuthDialog.cpp +index 4205652..7e9eae5 100644 +--- a/QuickAuthDialog.cpp ++++ b/QuickAuthDialog.cpp +@@ -4,7 +4,6 @@ + + SPDX-License-Identifier: GPL-2.0-or-later + */ +- + #include "QuickAuthDialog.h" + #include "IdentitiesModel.h" + +@@ -12,6 +11,7 @@ + + #include <KLocalizedQmlContext> + #include <KLocalizedString> ++#include <KNotification> + #include <KRuntimePlatform> + #include <KUser> + +@@ -106,6 +106,9 @@ void QuickAuthDialog::authenticationFailure() + + void QuickAuthDialog::show() + { ++ KNotification *notification = new KNotification("authenticate"); ++ notification->setText(i18n("Authentication Required")); ++ notification->sendEvent(); + QTimer::singleShot(0, m_theDialog, SLOT(show())); + } + +diff --git a/policykit1-kde.notifyrc b/polkit-kde-authentication-agent-1.notifyrc +similarity index 99% +rename from policykit1-kde.notifyrc +rename to polkit-kde-authentication-agent-1.notifyrc +index 4f68209..0eb1e8d 100644 +--- a/policykit1-kde.notifyrc ++++ b/polkit-kde-authentication-agent-1.notifyrc +@@ -218,4 +218,5 @@ Comment[vi]=Bạn được yêu cầu xác thực + Comment[x-test]=xxYou are required to authenticatexx + Comment[zh_CN]=您需要进行身份验证 + Comment[zh_TW]=您需要認證 +-Action=Popup ++Action=Sound ++Sound=dialog-warning-auth +-- +GitLab + diff -Nru polkit-kde-agent-1-6.3.4/debian/patches/upstream_b1109f51_fix-mitigate-pam-race-condition-BUG-505239-.patch polkit-kde-agent-1-6.3.6/debian/patches/upstream_b1109f51_fix-mitigate-pam-race-condition-BUG-505239-.patch --- polkit-kde-agent-1-6.3.4/debian/patches/upstream_b1109f51_fix-mitigate-pam-race-condition-BUG-505239-.patch 1970-01-01 01:00:00.000000000 +0100 +++ polkit-kde-agent-1-6.3.6/debian/patches/upstream_b1109f51_fix-mitigate-pam-race-condition-BUG-505239-.patch 2025-07-19 15:25:45.000000000 +0200 @@ -0,0 +1,56 @@ +From b1109f51c4a88d1dceb1d967d36af91accc8878b Mon Sep 17 00:00:00 2001 +From: Harald Sitter <sit...@kde.org> +Date: Thu, 10 Jul 2025 10:14:18 +0200 +Subject: [PATCH] fix: mitigate pam race condition (BUG: 505239) + +This sets the authdialog to only reject passwords if we're awaiting authentication. This avoids triggering the password rejection animation in instances where pam setup takes longer than expected, such as with high cost factors. + + +(cherry picked from commit c87f82883ff8d59c883e26b769c0135d4bfd9a8d) + +Co-authored-by: Secureblue Admin <securebluead...@proton.me> +--- + qml/QuickAuthDialog.qml | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/qml/QuickAuthDialog.qml b/qml/QuickAuthDialog.qml +index 0f2789d..283b9c2 100644 +--- a/qml/QuickAuthDialog.qml ++++ b/qml/QuickAuthDialog.qml +@@ -30,6 +30,8 @@ Kirigami.AbstractApplicationWindow { + property alias identitiesCurrentIndex: identitiesCombo.currentIndex + property alias selectedIdentity: identitiesCombo.currentValue + ++ property bool waitingForAuthentication: false ++ + // passed in by QuickAuthDialog.cpp + property string mainText + property string subtitle +@@ -45,6 +47,7 @@ Kirigami.AbstractApplicationWindow { + onSelectedIdentityChanged: userSelected() + + onAccept: { ++ waitingForAuthentication = true; + // disable password field while password is being checked + if (passwordField.text !== "") { + passwordField.enabled = false; +@@ -60,6 +63,7 @@ Kirigami.AbstractApplicationWindow { + passwordField.clear() + passwordField.enabled = true + passwordField.focus = true ++ waitingForAuthentication = false + rejectPasswordAnim.start(); + } + +@@ -70,7 +74,7 @@ Kirigami.AbstractApplicationWindow { + } + + function request() { +- if (passwordField.text !== "") { ++ if (passwordField.text !== "" && waitingForAuthentication) { + rejectPassword() + } + } +-- +GitLab + diff -Nru polkit-kde-agent-1-6.3.4/po/gl/polkit-kde-authentication-agent-1.po polkit-kde-agent-1-6.3.6/po/gl/polkit-kde-authentication-agent-1.po --- polkit-kde-agent-1-6.3.4/po/gl/polkit-kde-authentication-agent-1.po 2025-04-02 05:40:14.000000000 +0200 +++ polkit-kde-agent-1-6.3.6/po/gl/polkit-kde-authentication-agent-1.po 2025-07-08 13:50:03.000000000 +0200 @@ -22,7 +22,7 @@ #, kde-format msgctxt "NAME OF TRANSLATORS" msgid "Your names" -msgstr "Marce Villarino, Adrián Chaves Fernández (Gallaecio)" +msgstr "Marce Villarino, Adrián Chaves (Gallaecio)" #, kde-format msgctxt "EMAIL OF TRANSLATORS" diff -Nru polkit-kde-agent-1-6.3.4/qml/MobileDialogWindow.qml polkit-kde-agent-1-6.3.6/qml/MobileDialogWindow.qml --- polkit-kde-agent-1-6.3.4/qml/MobileDialogWindow.qml 2025-04-02 05:40:14.000000000 +0200 +++ polkit-kde-agent-1-6.3.6/qml/MobileDialogWindow.qml 2025-07-08 13:50:03.000000000 +0200 @@ -14,7 +14,7 @@ id: root flags: Qt.FramelessWindowHint | Qt.Dialog color: Qt.rgba(0, 0, 0, 0.5) - visibility: "FullScreen" + visibility: Window.Maximized property real contentWidth property alias contents: control.contentItem diff -Nru polkit-kde-agent-1-6.3.4/qml/MobileQuickAuthDialog.qml polkit-kde-agent-1-6.3.6/qml/MobileQuickAuthDialog.qml --- polkit-kde-agent-1-6.3.4/qml/MobileQuickAuthDialog.qml 2025-04-02 05:40:14.000000000 +0200 +++ polkit-kde-agent-1-6.3.6/qml/MobileQuickAuthDialog.qml 2025-07-08 13:50:03.000000000 +0200 @@ -34,6 +34,9 @@ signal accept() signal reject() + signal userSelected() + + onSelectedIdentityChanged: userSelected() onAccept: { // disable password field while password is being checked @@ -42,15 +45,25 @@ } } - function authenticationFailure() { - inlineMessage.type = Kirigami.MessageType.Error; - inlineMessage.text = i18n("Authentication failure, please try again."); + function rejectPassword() { passwordField.clear() passwordField.enabled = true passwordField.focus = true rejectPasswordAnim.start(); } + function authenticationFailure() { + inlineMessage.type = Kirigami.MessageType.Error; + inlineMessage.text = i18n("Authentication failure, please try again."); + rejectPassword(); + } + + function request() { + if (passwordField.text !== "") { + rejectPassword() + } + } + onActiveChanged: { if (active) { // immediately focus on password field when window is focused