From be267ef868a4c96995b3bb5b3411171db6ac3de1 Mon Sep 17 00:00:00 2001 From: Kevin Chyn Date: Tue, 4 Jun 2019 11:42:58 -0700 Subject: [PATCH] Use real gatekeeper HAT for resetting lockout The code is slightly confusing in that synthetic password response also contains a gatekeeper response. This is not the actual response that contains the challenge. Instead, we should be using the second response from gateeper, which is the real gatekeeper auth token. Fixes: 133444358 Test: Before change, get locked out, enter password, user stays locked out After change, get locked out, enter password, lockout is reset Change-Id: Ia869fe5d1ebdb91263b3494da2fba5f3c6304047 --- .../com/android/server/locksettings/LockSettingsService.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/locksettings/LockSettingsService.java b/services/core/java/com/android/server/locksettings/LockSettingsService.java index 107e1fbbf760d..1e0a3d5cea4c4 100644 --- a/services/core/java/com/android/server/locksettings/LockSettingsService.java +++ b/services/core/java/com/android/server/locksettings/LockSettingsService.java @@ -2548,9 +2548,8 @@ public class LockSettingsService extends ILockSettings.Stub { // Reset lockout only if user has enrolled templates if (mInjector.hasEnrolledBiometrics()) { BiometricManager bm = mContext.getSystemService(BiometricManager.class); - Slog.i(TAG, "Resetting lockout, length: " - + authResult.gkResponse.getPayload().length); - bm.resetLockout(authResult.gkResponse.getPayload()); + Slog.i(TAG, "Resetting lockout, length: " + response.getPayload().length); + bm.resetLockout(response.getPayload()); if (!hasChallenge && pm.hasSystemFeature(PackageManager.FEATURE_FACE)) { mContext.getSystemService(FaceManager.class).revokeChallenge();