gnome-shell/js/gdm
Marco Trevisan (Treviño) 1ee9278786 gdm: Don't try to retry authenticating when the service is unavailable
In the case a service is not available (as it can be in the fingereprint
case when a supported reader is available but has not enrolled prints)
we were trying indefinitely to restart it, however this can lead to
troubles since commit 7a2e629b as when the service conversation was
stopped we had no way to figure out this case and we'd end up to
eventually fail the whole authentication.

However, in such cases the PAM services are expected to return a
PAM_AUTHINFO_UNAVAIL and gdm to handle it, emitting service-unavailable
signal.

So connect to ::service-unavailable and keep track of the unavailable
services so that we can avoid retrying with them.
In case such service is not the foreground one, we can just silently
ignore the error as we did before commit 7a2e629b, without bothering
failing the whole verification.

In case we got a valid error message on service-unavailable, we also
show it, this is normally not happening unless GDM isn't redirecting
here other kind of problems (such as MAXTRIES) which are supposed to
stop the authentication stopping any further retry.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3734
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1683>
2021-02-16 18:00:10 +00:00
..
authPrompt.js authPrompt: Bump the user verifier timeout when wiggling the message 2021-02-15 16:58:50 +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: Don't try to retry authenticating when the service is unavailable 2021-02-16 18:00:10 +00:00
vmware.js gdm: Introduce vmware credential manager for pre-authenticated logins 2020-07-04 08:11:49 +08:00