diff options
| author | 2021-07-17 00:47:14 +0000 | |
|---|---|---|
| committer | 2021-07-17 00:47:14 +0000 | |
| commit | 0295c273bd77aeefc6499e6ee18a7b58aea12a58 (patch) | |
| tree | d4b149a011c2621bc9378cd4264dd36d01f15623 | |
| parent | bf09a9fac03376602e2cc7deb661b4903359141d (diff) | |
| parent | 592bacb778489d075341c43ed20029562e6d75fa (diff) | |
Merge "Require non-null HAT for fingerprint enrollment" into sc-dev
4 files changed, 15 insertions, 9 deletions
diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java index 012e47e425f6..183fabdc2a7b 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/FingerprintService.java @@ -215,9 +215,9 @@ public class FingerprintService extends SystemService { } @Override // Binder call - public void enroll(final IBinder token, final byte[] hardwareAuthToken, final int userId, - final IFingerprintServiceReceiver receiver, final String opPackageName, - @FingerprintManager.EnrollReason int enrollReason) { + public void enroll(final IBinder token, @NonNull final byte[] hardwareAuthToken, + final int userId, final IFingerprintServiceReceiver receiver, + final String opPackageName, @FingerprintManager.EnrollReason int enrollReason) { Utils.checkPermission(getContext(), MANAGE_FINGERPRINT); final Pair<Integer, ServiceProvider> provider = getSingleProvider(); diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/ServiceProvider.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/ServiceProvider.java index 3a214f44c0a8..706ac1013746 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/ServiceProvider.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/ServiceProvider.java @@ -85,9 +85,12 @@ public interface ServiceProvider { void scheduleRevokeChallenge(int sensorId, int userId, @NonNull IBinder token, @NonNull String opPackageName, long challenge); - void scheduleEnroll(int sensorId, @NonNull IBinder token, byte[] hardwareAuthToken, int userId, - @NonNull IFingerprintServiceReceiver receiver, @NonNull String opPackageName, - @FingerprintManager.EnrollReason int enrollReason, + /** + * Schedules fingerprint enrollment. + */ + void scheduleEnroll(int sensorId, @NonNull IBinder token, @NonNull byte[] hardwareAuthToken, + int userId, @NonNull IFingerprintServiceReceiver receiver, + @NonNull String opPackageName, @FingerprintManager.EnrollReason int enrollReason, @NonNull FingerprintStateCallback fingerprintStateCallback); void cancelEnrollment(int sensorId, @NonNull IBinder token); diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java index cfc467430349..102b07493134 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/FingerprintProvider.java @@ -329,9 +329,10 @@ public class FingerprintProvider implements IBinder.DeathRecipient, ServiceProvi } @Override - public void scheduleEnroll(int sensorId, @NonNull IBinder token, byte[] hardwareAuthToken, - int userId, @NonNull IFingerprintServiceReceiver receiver, - @NonNull String opPackageName, @FingerprintManager.EnrollReason int enrollReason, + public void scheduleEnroll(int sensorId, @NonNull IBinder token, + @NonNull byte[] hardwareAuthToken, int userId, + @NonNull IFingerprintServiceReceiver receiver, @NonNull String opPackageName, + @FingerprintManager.EnrollReason int enrollReason, @NonNull FingerprintStateCallback fingerprintStateCallback) { mHandler.post(() -> { final int maxTemplatesPerUser = mSensors.get(sensorId).getSensorProperties() diff --git a/services/core/java/com/android/server/locksettings/LockSettingsService.java b/services/core/java/com/android/server/locksettings/LockSettingsService.java index 0bec09cd003f..c0b8648b5328 100644 --- a/services/core/java/com/android/server/locksettings/LockSettingsService.java +++ b/services/core/java/com/android/server/locksettings/LockSettingsService.java @@ -2174,6 +2174,7 @@ public class LockSettingsService extends ILockSettings.Stub { @Override public VerifyCredentialResponse verifyGatekeeperPasswordHandle(long gatekeeperPasswordHandle, long challenge, int userId) { + checkPasswordReadPermission(); final VerifyCredentialResponse response; @@ -2185,6 +2186,7 @@ public class LockSettingsService extends ILockSettings.Stub { synchronized (mSpManager) { if (gatekeeperPassword == null) { + Slog.d(TAG, "No gatekeeper password for handle"); response = VerifyCredentialResponse.ERROR; } else { response = mSpManager.verifyChallengeInternal(getGateKeeperService(), |