Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kscreenlocker6 for openSUSE:Factory checked in at 2026-01-18 22:19:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kscreenlocker6 (Old) and /work/SRC/openSUSE:Factory/.kscreenlocker6.new.1928 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kscreenlocker6" Sun Jan 18 22:19:11 2026 rev:35 rq:1327845 version:6.5.5 Changes: -------- --- /work/SRC/openSUSE:Factory/kscreenlocker6/kscreenlocker6.changes 2025-12-11 18:33:16.093133565 +0100 +++ /work/SRC/openSUSE:Factory/.kscreenlocker6.new.1928/kscreenlocker6.changes 2026-01-18 22:20:06.918693338 +0100 @@ -1,0 +2,10 @@ +Tue Jan 13 14:39:56 UTC 2026 - Fabian Vogt <[email protected]> + +- Update to 6.5.5: + * New bugfix release + * For more details see https://kde.org/announcements/plasma/6/6.5.5 +- Changes since 6.5.4: + * Update version for new release 6.5.5 + * šgreeter: fix hanging when unlocking via loginctl over KDE Connect (kde#506343,kde#505987) + +------------------------------------------------------------------- Old: ---- kscreenlocker-6.5.4.tar.xz kscreenlocker-6.5.4.tar.xz.sig New: ---- kscreenlocker-6.5.5.tar.xz kscreenlocker-6.5.5.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kscreenlocker6.spec ++++++ --- /var/tmp/diff_new_pack.yVHkt8/_old 2026-01-18 22:20:07.598721279 +0100 +++ /var/tmp/diff_new_pack.yVHkt8/_new 2026-01-18 22:20:07.602721443 +0100 @@ -1,7 +1,7 @@ # # spec file for package kscreenlocker6 # -# Copyright (c) 2025 SUSE LLC and contributors +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -26,7 +26,7 @@ # Latest ABI-stable Plasma (e.g. 6.0 in KF6, but 6.0.80 in KUF) %{!?_plasma6_version: %define _plasma6_version %(echo %{_plasma6_bugfix} | awk -F. '{print $1"."$2}')} Name: kscreenlocker6 -Version: 6.5.4 +Version: 6.5.5 Release: 0 Summary: Library and components for secure lock screen architecture License: GPL-2.0-or-later ++++++ kscreenlocker-6.5.4.tar.xz -> kscreenlocker-6.5.5.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kscreenlocker-6.5.4/CMakeLists.txt new/kscreenlocker-6.5.5/CMakeLists.txt --- old/kscreenlocker-6.5.4/CMakeLists.txt 2025-12-09 10:49:46.000000000 +0100 +++ new/kscreenlocker-6.5.5/CMakeLists.txt 2026-01-13 13:58:28.000000000 +0100 @@ -2,10 +2,10 @@ project(kscreenlocker) set(CMAKE_C_STANDARD 99) -set(PROJECT_VERSION "6.5.4") +set(PROJECT_VERSION "6.5.5") set(PROJECT_VERSION_MAJOR 6) -set(PROJECT_DEP_VERSION "6.5.4") +set(PROJECT_DEP_VERSION "6.5.5") set(QT_MIN_VERSION "6.9.0") set(KF6_MIN_VERSION "6.18.0") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kscreenlocker-6.5.4/greeter/pamauthenticator.cpp new/kscreenlocker-6.5.5/greeter/pamauthenticator.cpp --- old/kscreenlocker-6.5.4/greeter/pamauthenticator.cpp 2025-12-09 10:49:46.000000000 +0100 +++ new/kscreenlocker-6.5.5/greeter/pamauthenticator.cpp 2026-01-13 13:58:28.000000000 +0100 @@ -23,6 +23,7 @@ Q_DISABLE_COPY_MOVE(PamWorker) void start(const QString &service, const QString &user); void authenticate(); + void startFailedDelay(uint useconds); Q_SIGNALS: void busyChanged(bool busy); @@ -48,6 +49,7 @@ bool m_unavailable = false; bool m_inAuthenticate = false; + std::chrono::steady_clock::time_point m_nextAttemptAllowedTime; int m_result = -1; QString m_service; }; @@ -147,6 +149,7 @@ PamWorker::PamWorker() : QObject(nullptr) , m_conv({&PamWorker::converse, this}) + , m_nextAttemptAllowedTime(std::chrono::steady_clock::now()) { } @@ -161,6 +164,9 @@ { if (m_inAuthenticate || m_unavailable) { return; + } else if (std::chrono::steady_clock::now() < m_nextAttemptAllowedTime) { + qCCritical(KSCREENLOCKER_GREET, "[PAM worker %s] Authentication attempt too soon. This shouldn't happen!", qUtf8Printable(m_service)); + return; } m_inAuthenticate = true; Q_EMIT inAuthenticateChanged(m_inAuthenticate); @@ -188,6 +194,12 @@ Q_EMIT inAuthenticateChanged(m_inAuthenticate); } +void PamWorker::startFailedDelay(uint useconds) +{ + m_nextAttemptAllowedTime = std::chrono::steady_clock::now() + std::chrono::microseconds(useconds); + Q_EMIT loginFailedDelayStarted(useconds); +} + static void fail_delay(int retval, unsigned usec_delay, void *appdata_ptr) { auto* worker = reinterpret_cast< PamWorker* >(appdata_ptr); // Refer the pam_conv (@sa m_conv) structure for info on appdata_ptr @@ -199,10 +211,7 @@ qCDebug(KSCREENLOCKER_GREET) << "[PAM worker] Fail delay function was called, but authentication result was a success!"; return; } - Q_EMIT worker->loginFailedDelayStarted(usec_delay); - if (usec_delay > 0u) { - QThread::usleep(usec_delay); // This calls nanosleep as of Qt 6.8. It also handles EINTR (restarts the sleep with the remainder duration when interrupted), but not EFAULT or EINVAL. - } + worker->startFailedDelay(usec_delay); } void PamWorker::start(const QString &service, const QString &user) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kscreenlocker-6.5.4/po/ga/kcm_screenlocker.po new/kscreenlocker-6.5.5/po/ga/kcm_screenlocker.po --- old/kscreenlocker-6.5.4/po/ga/kcm_screenlocker.po 1970-01-01 01:00:00.000000000 +0100 +++ new/kscreenlocker-6.5.5/po/ga/kcm_screenlocker.po 2026-01-13 13:58:28.000000000 +0100 @@ -0,0 +1,255 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR This file is copyright: +# This file is distributed under the same license as the kscreenlocker package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: kscreenlocker\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2025-11-17 14:41+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Irish Gaelic <[email protected]>\n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n < 11 ? " +"3 : 4\n" + +#: ui/Appearance.qml:22 +#, kde-format +msgctxt "@title" +msgid "Appearance" +msgstr "" + +#: ui/Appearance.qml:40 +#, kde-format +msgid "Wallpaper type:" +msgstr "" + +#: ui/DurationPromptDialog.qml:130 +#, kde-format +msgctxt "The unit of the time input field" +msgid "millisecond" +msgid_plural "milliseconds" +msgstr[0] "" +msgstr[1] "" + +#: ui/DurationPromptDialog.qml:132 +#, kde-format +msgctxt "The unit of the time input field" +msgid "second" +msgid_plural "seconds" +msgstr[0] "" +msgstr[1] "" + +#: ui/DurationPromptDialog.qml:134 +#, kde-format +msgctxt "The unit of the time input field" +msgid "minute" +msgid_plural "minutes" +msgstr[0] "" +msgstr[1] "" + +#: ui/DurationPromptDialog.qml:136 +#, kde-format +msgctxt "The unit of the time input field" +msgid "hour" +msgid_plural "hours" +msgstr[0] "" +msgstr[1] "" + +#: ui/DurationPromptDialog.qml:138 +#, kde-format +msgctxt "The unit of the time input field" +msgid "day" +msgid_plural "days" +msgstr[0] "" +msgstr[1] "" + +#: ui/DurationPromptDialog.qml:140 +#, kde-format +msgctxt "The unit of the time input field" +msgid "week" +msgid_plural "weeks" +msgstr[0] "" +msgstr[1] "" + +#: ui/DurationPromptDialog.qml:142 +#, kde-format +msgctxt "The unit of the time input field" +msgid "month" +msgid_plural "months" +msgstr[0] "" +msgstr[1] "" + +#: ui/DurationPromptDialog.qml:144 +#, kde-format +msgctxt "The unit of the time input field" +msgid "year" +msgid_plural "years" +msgstr[0] "" +msgstr[1] "" + +#: ui/DurationPromptDialog.qml:171 +#, kde-format +msgctxt "@text:radiobutton Unit of the time input field" +msgid "milliseconds" +msgstr "" + +#: ui/DurationPromptDialog.qml:173 +#, kde-format +msgctxt "@text:radiobutton Unit of the time input field" +msgid "seconds" +msgstr "" + +#: ui/DurationPromptDialog.qml:175 +#, kde-format +msgctxt "@text:radiobutton Unit of the time input field" +msgid "minutes" +msgstr "" + +#: ui/DurationPromptDialog.qml:177 +#, kde-format +msgctxt "@text:radiobutton Unit of the time input field" +msgid "hours" +msgstr "" + +#: ui/DurationPromptDialog.qml:179 +#, kde-format +msgctxt "@text:radiobutton Unit of the time input field" +msgid "days" +msgstr "" + +#: ui/DurationPromptDialog.qml:181 +#, kde-format +msgctxt "@text:radiobutton Unit of the time input field" +msgid "weeks" +msgstr "" + +#: ui/DurationPromptDialog.qml:183 +#, kde-format +msgctxt "@text:radiobutton Unit of the time input field" +msgid "months" +msgstr "" + +#: ui/DurationPromptDialog.qml:185 +#, kde-format +msgctxt "@text:radiobutton Unit of the time input field" +msgid "years" +msgstr "" + +#: ui/main.qml:25 +#, kde-format +msgctxt "@action:button" +msgid "Configure Appearanceā¦" +msgstr "" + +#: ui/main.qml:37 +#, kde-format +msgid "Lock screen automatically:" +msgstr "" + +#: ui/main.qml:42 +#, kde-format +msgctxt "Screen will not lock automatically" +msgid "Never" +msgstr "" + +#: ui/main.qml:43 ui/main.qml:128 +#, kde-format +msgid "1 minute" +msgstr "" + +#: ui/main.qml:44 +#, kde-format +msgid "2 minutes" +msgstr "" + +#: ui/main.qml:45 ui/main.qml:129 +#, kde-format +msgid "5 minutes" +msgstr "" + +#: ui/main.qml:46 +#, kde-format +msgid "10 minutes" +msgstr "" + +#: ui/main.qml:47 ui/main.qml:130 +#, kde-format +msgid "15 minutes" +msgstr "" + +#: ui/main.qml:48 +#, kde-format +msgid "30 minutes" +msgstr "" + +#: ui/main.qml:49 ui/main.qml:131 +#, kde-format +msgctxt "" +"@option:combobox Choose a custom value outside the list of preset values" +msgid "Customā¦" +msgstr "" + +#: ui/main.qml:67 ui/main.qml:167 +#, kde-format +msgid "%1 minute" +msgid_plural "%1 minutes" +msgstr[0] "" +msgstr[1] "" + +#: ui/main.qml:77 ui/main.qml:180 +#, kde-format +msgctxt "@title:window" +msgid "Custom Duration" +msgstr "" + +#: ui/main.qml:102 +#, kde-format +msgctxt "@option:check" +msgid "Lock after waking from sleep" +msgstr "" + +#: ui/main.qml:119 +#, kde-format +msgctxt "First part of sentence \"Delay before password required: X minutes\"" +msgid "Delay before password required:" +msgstr "" + +#: ui/main.qml:124 +#, kde-format +msgctxt "The grace period is disabled" +msgid "Require password immediately" +msgstr "" + +#: ui/main.qml:125 +#, kde-format +msgctxt "Password not required" +msgid "Never require password" +msgstr "" + +#: ui/main.qml:126 +#, kde-format +msgid "5 seconds" +msgstr "" + +#: ui/main.qml:127 +#, kde-format +msgid "30 seconds" +msgstr "" + +#: ui/main.qml:168 +#, kde-format +msgid "%1 second" +msgid_plural "%1 seconds" +msgstr[0] "" +msgstr[1] "" + +#: ui/main.qml:215 +#, kde-format +msgid "Keyboard shortcut:" +msgstr ""
