fix: handle sequential PAM prompts in greeter and locker

This commit is contained in:
demi 2026-09-01 10:04:46 -05:00 • committed by GitHub
parent 935891e36b
commit cde1a13140
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 12 additions and 0 deletions

View file

@ -1181,6 +1181,12 @@ impl cosmic::Application for App {
fn update(&mut self, message: Self::Message) -> Task<Message> {
match message {
Message::Common(common_message) => {
if matches!(&common_message, common::Message::Prompt(_, _, Some(_)))
&& self.authenticating
{
self.authenticating = false;
self.common.prompt_opt = None;
}
// In greetd's IPC protocol, the greeter must acknowledge auth messages by
// sending PostAuthMessageResponse. For non-interactive "info" messages
// (fingerprint prompts typically come through here), the correct response

View file

@ -709,6 +709,12 @@ impl cosmic::Application for App {
match message {
Message::None => {}
Message::Common(common_message) => {
if matches!(&common_message, common::Message::Prompt(_, _, Some(_)))
&& self.authenticating
{
self.authenticating = false;
self.common.prompt_opt = None;
}
return self.common.update(common_message);
}
Message::OutputEvent(output_event, output) => {