From: Alex Sanchez-Stern Subject: [PATCH] Don't cancel in-progress authentication on suspend Aborting an in-progress PAM conversation when the system suspends makes pam_authenticate() report a failure. The greeter then displays a failed login on resume, and authentication backends such as fingerprint can be left unusable for the remainder of that lock-screen session. Leave the conversation parked across suspend and resume instead. This is the change proposed upstream in KScreenLocker merge request 340, adapted to the Plasma 6.7.4 source shipped by Fedora 44. --- greeter/greeterapp.cpp | 6 ------ greeter/greeterapp.h | 2 -- 2 files changed, 8 deletions(-) diff --git a/greeter/greeterapp.cpp b/greeter/greeterapp.cpp index b1de459..08d8134 100644 --- a/greeter/greeterapp.cpp +++ b/greeter/greeterapp.cpp @@ -10,8 +10,6 @@ SPDX-License-Identifier: GPL-2.0-or-later #include "shell_integration.h" #include "wallpaper_integration.h" -#include "../logind.h" - #include #include #include @@ -133,7 +131,6 @@ UnlockApp::UnlockApp(int &argc, char **argv) , m_graceTime(0) , m_noLock(false) , m_shellIntegration(new ShellIntegration(this)) - , m_logindIntegration(new LogindIntegration(this)) { auto interactive = std::make_unique(QStringLiteral(KSCREENLOCKER_PAM_SERVICE), KUser().loginName()); std::vector> noninteractive; @@ -142,9 +139,6 @@ UnlockApp::UnlockApp(int &argc, char **argv) noninteractive.push_back( std::make_unique(QStringLiteral(KSCREENLOCKER_PAM_SMARTCARD_SERVICE), KUser().loginName(), PamAuthenticator::Smartcard)); m_authenticators = new PamAuthenticators(std::move(interactive), std::move(noninteractive), this); - connect(m_logindIntegration, &LogindIntegration::prepareForSleep, m_authenticators, [this] { - m_authenticators->cancel(); - }); initialize(); if (KWindowSystem::isPlatformX11()) { diff --git a/greeter/greeterapp.h b/greeter/greeterapp.h index 2362dd2..ff355de 100644 --- a/greeter/greeterapp.h +++ b/greeter/greeterapp.h @@ -25,7 +25,6 @@ class QuickViewSharedEngine; } class Authenticator; -class LogindIntegration; struct org_kde_ksld; @@ -94,6 +93,5 @@ private: KPackage::Package m_wallpaperPackage; ShellIntegration *m_shellIntegration; - LogindIntegration *m_logindIntegration; }; } // namespace -- 2.51.0