locker: restart PAM conversation on user activity after authenticator windows expire - #493
Open
sjawhar wants to merge 1 commit into
Open
locker: restart PAM conversation on user activity after authenticator windows expire#493sjawhar wants to merge 1 commit into
sjawhar wants to merge 1 commit into
Conversation
… windows expire The lock screen starts its PAM conversation the moment the session locks. Authenticator methods with short hardware windows (pam_u2f FIDO2 touch ~15s, fprintd fingerprint ~30s) time out long before the user returns, leaving only the parked password prompt. The user's only recourse was submitting a bad password to force a conversation restart. Restart the conversation when the user interacts (key press or surface focus) after the conversation has been running >45s, guarded so an in-flight submission or partially typed password is never interrupted. The task abort/respawn machinery already existed for the lock/unlock lifecycle; this wires user activity to it. Fixes pop-os#99
sjawhar
added a commit
to sjawhar/dotfiles
that referenced
this pull request
Jul 21, 2026
…ivity) Pins cosmic-greeter (apt-mark hold) while running the patched build from sjawhar/cosmic-greeter#fix-restart-auth-on-activity; see upstream PR pop-os/cosmic-greeter#493 / issue #99. Includes rollback and rebuild notes.
sjawhar
added a commit
to sjawhar/dotfiles
that referenced
this pull request
Jul 21, 2026
…ivity) Pins cosmic-greeter (apt-mark hold) while running the patched build from sjawhar/cosmic-greeter#fix-restart-auth-on-activity; see upstream PR pop-os/cosmic-greeter#493 / issue #99. Includes rollback and rebuild notes.
sjawhar
added a commit
to sjawhar/dotfiles
that referenced
this pull request
Jul 21, 2026
…ivity) Pins cosmic-greeter (apt-mark hold) while running the patched build from sjawhar/cosmic-greeter#fix-restart-auth-on-activity; see upstream PR pop-os/cosmic-greeter#493 / issue #99. Includes rollback and rebuild notes.
Member
|
The PR template is not optional. LLM-generated code without proper disclosure and without signing the developer certificate of origin is not allowed. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The lock screen starts its PAM conversation the moment the session locks. Authenticator methods with short hardware windows —
pam_u2fFIDO2 touch (~15s),fprintdfingerprint (~30s) — time out long before the user returns to the machine, leaving only the parked password prompt. The user's only recourse is submitting an empty/bad password to force the conversation restart that the existing error-path loop already performs.Fixes #99 (reported there for fingerprint; identical mechanism for FIDO2/U2F keys).
Change
Restart the PAM conversation when the user interacts (key press or surface focus) while locked, if:
authenticating), andThe abort/respawn machinery already existed for the lock/unlock lifecycle (
State::Lockeddrop aborts the task; the pam loop respawns on error) — this wires user activity to it. The extractedstart_auth_taskmethod is shared by initial lock and restart.Testing
On Pop!_OS 24.04 (COSMIC) with
pam_u2f(sufficient, beforecommon-auth) + fingerprint + password:auth.logconfirms the passwordless path (gkr-pam: no password is available for user).sudo/greeter login paths unaffected (change is locker-only).