diff options
-rw-r--r-- | src/device.c | 22 | ||||
-rw-r--r-- | tests/fprintd.py | 16 |
2 files changed, 11 insertions, 27 deletions
diff --git a/src/device.c b/src/device.c index 49cbdd5..010bfc5 100644 --- a/src/device.c +++ b/src/device.c @@ -54,11 +54,6 @@ static gboolean action_authorization_handler (GDBusInterfaceSkeleton *, GDBusMethodInvocation *, gpointer user_data); -static gboolean delete_enrolled_fingers (FprintDevice *rdev, - const char *user, - FpFinger finger, - GError **error); - static GQuark quark_auth_user = 0; typedef enum { @@ -1984,19 +1979,20 @@ fprint_device_enroll_start (FprintDBusDevice *dbus_dev, store.print_data_load (priv->dev, finger, session->username, &existing_print); - if (!can_start_action (rdev, &error)) + if (existing_print) { - g_dbus_method_invocation_return_gerror (invocation, error); + g_set_error (&error, FPRINT_ERROR, FPRINT_ERROR_FINGER_ALREADY_ENROLLED, + "Finger %d has already been enrolled for user %s", finger, session->username); + g_dbus_method_invocation_return_gerror (invocation, + error); return TRUE; } - if (existing_print) + + if (!can_start_action (rdev, &error)) { - if (!delete_enrolled_fingers (rdev, session->username, finger, &error)) - { - g_dbus_method_invocation_return_gerror (invocation, error); - return TRUE; - } + g_dbus_method_invocation_return_gerror (invocation, error); + return TRUE; } g_debug ("start enrollment device %d finger %d", priv->id, finger); diff --git a/tests/fprintd.py b/tests/fprintd.py index 1f8faee..e35ac88 100644 --- a/tests/fprintd.py +++ b/tests/fprintd.py @@ -2315,21 +2315,9 @@ class FPrintdVirtualDeviceEnrollTests(FPrintdVirtualDeviceBaseTest): def test_enroll_already_enrolled_finger(self): self.enroll_image('whorl', start=False) - # We can enroll a new image deleting the first - self.device.EnrollStart('(s)', 'left-middle-finger') - self.enroll_image('arch', start=False) self.stop_on_teardown = False - - # If we verify, 'arch' will match, 'whorl' will not match - self.device.VerifyStart('(s)', 'any') - self.send_image('whorl') - self.assertVerifyNoMatch() - self.device.VerifyStop() - - self.device.VerifyStart('(s)', 'any') - self.send_image('arch') - self.assertVerifyMatch() - self.device.VerifyStop() + with self.assertFprintError('FingerAlreadyEnrolled'): + self.device.EnrollStart('(s)', 'left-middle-finger') def test_enroll_duplicate_image(self): self.enroll_image('whorl', finger='left-thumb', start=False) |