gnome-shell/js/gdm
Marco Trevisan (Treviño) 36fba1a184 gdm: Do not fail the whole authentication if a background service failed
In case a background service such as the fingerprint authentication
fails to start we'd just mark the whole authentication process as
failed.

Currently this may happen by just putting a wrong password when an user
has some fingerprints enrolled, the fingerprint gdm authentication
worker may take some time to restart leading to a failure and this is
currently also making the password authentication to fail:

    JS ERROR: Failed to start gdm-fingerprint for u: Gio.DBusError:
        GDBus.Error:org.freedesktop.DBus.Error.Spawn.Failed:
            Could not create authentication helper process
        _promisify/proto[asyncFunc]/</<@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:435:45
        ### Promise created here: ###
        _startService@resource:///org/gnome/shell/gdm/util.js:470:42
        _beginVerification@resource:///org/gnome/shell/gdm/util.js:495:18
        _getUserVerifier@resource:///org/gnome/shell/gdm/util.js:405:14
        async*_openReauthenticationChannel@resource:///org/gnome/shell/gdm/util.js:378:22
        async*begin@resource:///org/gnome/shell/gdm/util.js:194:18
        _retry@resource:///org/gnome/shell/gdm/util.js:561:14
        _verificationFailed/signalId<@resource:///org/gnome/shell/gdm/util.js:584:30
        _emit@resource:///org/gnome/gjs/modules/core/_signals.js:133:47
        finishMessageQueue@resource:///org/gnome/shell/gdm/util.js:268:14
        _queueMessageTimeout@resource:///org/gnome/shell/gdm/util.js:273:18
        _queueMessageTimeout/this._messageQueueTimeoutId<@resource:///org/gnome/shell/gdm/util.js:288:65

Given that background services are ignored even for queries or any kind
of message, we should not fail the authentication request unless the
default service fails.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1622>
2021-02-12 20:26:00 +00:00
..
authPrompt.js gdm: Limit verification cancellations to be conform to allowed-failures 2021-02-12 20:26:00 +00:00
batch.js cleanup: Avoid unnecessary braces 2019-11-11 19:25:14 +00:00
credentialManager.js credentialManager: Shut up a JS warning 2020-11-26 14:17:26 +01:00
loginDialog.js gdm: Limit verification cancellations to be conform to allowed-failures 2021-02-12 20:26:00 +00:00
oVirt.js gdm: Refactor oVirt to a generic CredentialManager interface 2020-07-04 08:11:49 +08:00
realmd.js realmd: Set login format to null on start and update if invalid 2019-09-09 19:28:18 +00:00
util.js gdm: Do not fail the whole authentication if a background service failed 2021-02-12 20:26:00 +00:00
vmware.js gdm: Introduce vmware credential manager for pre-authenticated logins 2020-07-04 08:11:49 +08:00