gdm: Pass source serviceName to verification failures

Depending on the service name we got the failure from we could react
differently, so let's pass the value to the verification failure
handler.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1622>
This commit is contained in:
Marco Trevisan (Treviño) 2021-02-01 19:36:49 +01:00 committed by Marge Bot
parent 80a7a8ddb9
commit 85ad1157df

View File

@ -379,12 +379,12 @@ var ShellUserVerifier = class {
} }
} }
_reportInitError(where, error) { _reportInitError(where, error, serviceName) {
logError(error, where); logError(error, where);
this._hold.release(); this._hold.release();
this._queueMessage(_("Authentication error"), MessageType.ERROR); this._queueMessage(_("Authentication error"), MessageType.ERROR);
this._verificationFailed(false); this._verificationFailed(serviceName, false);
} }
async _openReauthenticationChannel(userName) { async _openReauthenticationChannel(userName) {
@ -508,7 +508,8 @@ var ShellUserVerifier = class {
} }
this._reportInitError(this._userName this._reportInitError(this._userName
? 'Failed to start %s verification for user'.format(serviceName) ? 'Failed to start %s verification for user'.format(serviceName)
: 'Failed to start %s verification'.format(serviceName), e); : 'Failed to start %s verification'.format(serviceName), e,
serviceName);
return; return;
} }
this._hold.release(); this._hold.release();
@ -595,7 +596,7 @@ var ShellUserVerifier = class {
this.begin(this._userName, new Batch.Hold()); this.begin(this._userName, new Batch.Hold());
} }
_verificationFailed(retry) { _verificationFailed(serviceName, retry) {
// For Not Listed / enterprise logins, immediately reset // For Not Listed / enterprise logins, immediately reset
// the dialog // the dialog
// Otherwise, when in login mode we allow ALLOWED_FAILURES attempts. // Otherwise, when in login mode we allow ALLOWED_FAILURES attempts.
@ -645,7 +646,7 @@ var ShellUserVerifier = class {
if (foregroundService) { if (foregroundService) {
this._credentialManagers[foregroundService].token = null; this._credentialManagers[foregroundService].token = null;
this._preemptingService = null; this._preemptingService = null;
this._verificationFailed(false); this._verificationFailed(serviceName, false);
return; return;
} }
@ -653,7 +654,7 @@ var ShellUserVerifier = class {
// But if, e.g., fingerprint fails, still give // But if, e.g., fingerprint fails, still give
// password authentication a chance to succeed // password authentication a chance to succeed
if (this.serviceIsForeground(serviceName)) if (this.serviceIsForeground(serviceName))
this._verificationFailed(true); this._verificationFailed(serviceName, true);
} }
}; };
Signals.addSignalMethods(ShellUserVerifier.prototype); Signals.addSignalMethods(ShellUserVerifier.prototype);