mirror of
https://gitlab.freedesktop.org/libfprint/fprintd.git
synced 2026-05-24 02:58:14 +02:00
Revert "device: Delete existing print in EnrollStart"
This reverts commit 5c06660215a1d1482a143bcf68029c2838608fa8. Instead we will throw an error. The reason to not push this into an earlier release was that this is an API incompatible change and clients will need to be updated.
This commit is contained in:
parent
b760a82ac6
commit
59d2fbdabd
2 changed files with 12 additions and 28 deletions
24
src/device.c
24
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,21 +1979,22 @@ fprint_device_enroll_start (FprintDBusDevice *dbus_dev,
|
|||
store.print_data_load (priv->dev, finger,
|
||||
session->username, &existing_print);
|
||||
|
||||
if (existing_print)
|
||||
{
|
||||
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 (!can_start_action (rdev, &error))
|
||||
{
|
||||
g_dbus_method_invocation_return_gerror (invocation, error);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (existing_print)
|
||||
{
|
||||
if (!delete_enrolled_fingers (rdev, session->username, finger, &error))
|
||||
{
|
||||
g_dbus_method_invocation_return_gerror (invocation, error);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
g_debug ("start enrollment device %d finger %d", priv->id, finger);
|
||||
|
||||
priv->current_cancellable = g_cancellable_new ();
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue