Commit Graph

70 Commits

Author SHA1 Message Date
2d11e76cb7 daemon: Use GDBus to monitor clients
Instead of the custom egg code.
2011-04-18 17:55:13 +01:00
c3de292486 daemon: Fix warning about unused variable
By unref'ing the manager object before we exit.
2011-03-30 16:43:10 +01:00
1e5c78e8d0 Remove unused variable 2011-02-22 18:27:35 +00:00
731b22d368 0.2.0
Fix a missing brace in main.c, fix distchecking.
2010-08-19 16:01:23 +01:00
7872479415 Change g_errors to g_warnings
So as to avoid aborts when D-Bus isn't available.

https://bugzilla.redhat.com/show_bug.cgi?id=549484
2010-08-17 15:34:20 +01:00
24fefbe332 Port to PolicyKit 1.0
See https://bugzilla.redhat.com/show_bug.cgi?id=498368
and
https://fedoraproject.org/wiki/Features/PolicyKitOne
2010-08-16 19:33:01 +01:00
4ea1c48f9f Detect when a device is disconnected
Pretty hacky way to detect whether the device we're handling has
been disconnected during a verify or enrollment. This should allow
us to avoid users having to wait when somebody pulls the plug.
2009-01-27 16:45:47 -03:00
d93b272f06 Install interfaces files
Apparently helps developers who want to read the interfaces
by hand, rather than using the API docs. Mentioned by Matthias in
his fprintd package review:
https://bugzilla.redhat.com/show_bug.cgi?id=469955#c9
2008-12-10 00:54:27 +00:00
6a480f409d Stop extra signals from being emitted
Some devices keep sending us signals when an enrollment or
verification finished. Ignore all those signals, we hate them.
2008-12-04 13:23:51 +00:00
c1dc3f1394 Fix fprintd exiting after a device goes unused
Simple logic error that caused fprintd to exit when a device
was used then unused.
2008-12-04 13:23:50 +00:00
69e987b335 Fix return value for GetDefaultDevice
Tell the front-end there's no devices available when there isn't
any, instead of erroring out.
2008-12-04 13:23:50 +00:00
64e415aaac Fix memleak on VerifyStart
Clean up the data pass to the async verification and identification
functions ourselves.
2008-11-24 17:20:46 +00:00
7b06c4b7f3 Review possible errors and document them
Review all the possible errors and document them for each function.
2008-11-24 17:20:46 +00:00
1abf51afa4 Don't crash the server if there's no devices
Big ninny just crashed because there's no fingerprint readers. Hoo,
hoo. My eyes are bleeding.
2008-11-24 17:20:46 +00:00
9743d9d2a0 Register errors with D-Bus
So we get errors like:
net.reactivated.Fprint.Error.DiscoverPrints
instead of:
org.freedesktop.DBus.GLib.UnmappedError.FprintdErrorQuark.Code2
2008-11-24 17:20:46 +00:00
af42ec70f3 Fix possible warning when timeout is enabled
We'd get a warning when the first device starts being used, but
we don't use --no-timeout.
2008-11-22 13:01:16 +00:00
c9fdeb47aa Use D-Bus properties instead of GetProperties
- Use D-Bus native properties instead of a GetProperties call.
- Fix a number of front-ends by registering the right signals and
marshallers following the "done" signal argument addition
- Fix VerifyStart call in the pam module
2008-11-22 13:00:48 +00:00
f1f2ae35f8 Fix "--no-timeout" argument
Fix logic error in the manager code causing it to exit when no
devices are in use even when --no-timeout is passed.
2008-11-22 13:00:47 +00:00
dfa539a1f8 Add documentation
Documentation FTW!
2008-11-21 18:15:51 +00:00
3cd0a7aeaf First pass at adding API docs through gtk-doc
Required a bit of mangling.
2008-11-21 18:15:51 +00:00
26aab5dc28 Add a done argument to result signals
For verify and enroll, add a done argument so that front-end
know easily when they should be closing the device.
2008-11-21 18:15:51 +00:00
874d8164b4 Add ScanType and NumberEnrollStages properties
Export the type of scan the device performs, and, when the device
is claimed, the number of enrollment stages.
2008-11-21 18:15:50 +00:00
f7186c7ff0 Remove all uses of enums in the API
The clients aren't supposed to know the magic numbers for enums,
so use strings instead.
2008-11-21 18:15:50 +00:00
e207203b44 Add GetDefaultDevice
Gives you the first device listed in GetDevices.
2008-11-21 18:15:21 +00:00
1e43720c15 Remove use of finger number in the API
Use well-defined strings instead of numbers to pass around
specific fingers in the public API.
2008-11-21 18:15:21 +00:00
ea4114b976 Make GetProperties async
as the rest of our functions.
2008-11-21 18:15:21 +00:00
924e08d2e8 Add device name property
Add GetProperties method, with a single "Name" properties into
the hashtable.
Use the device name property in the PAM module, and in the list test.
2008-11-21 18:15:21 +00:00
69c131f723 Add gross hack to allow root to verify users
This is a gross hack for PAM sessions to work as expected. root
is allowed to verify any users. If you want to allow any other
actions for root, you'll need to go through normal PolicyKit
procedures.

This should fix fingerprint authentication not working in GDM, or
on the console.
2008-11-21 18:14:09 +00:00
31a8e2c61d Fix distcheck
And add a TODO item
2008-11-21 18:14:09 +00:00
f93d8cbce2 Clean up device when the client disconnects
Track clients connected to each device using EggDbusMonitor.
When there are no more clients connected to the device, release it.

When no devices are used anymore, set up a timeout to exit within
30 seconds.
2008-11-03 22:56:12 +00:00
b0f2060628 Exit when no devices are in use
When no actions are happening on any of the devices, make the
daemon exit after 30 seconds.
2008-11-03 22:56:12 +00:00
e29806cd88 Add an action property
Add an action property and notify listeners when the action changes.
2008-11-03 22:56:12 +00:00
f43ea8f095 Add an enrollment action
Return an error if an enrollment is already in progress.
2008-11-03 22:56:12 +00:00
5f3e1be27f Track current action
Track the current action happening in the device, so we can
see what each device is doing. Refuse to launch a verification if
there's already one in progress.
2008-11-03 22:56:12 +00:00
4fa5552650 Add PAM module
Add a PAM module, and enable all the warnings
2008-11-03 22:53:44 +00:00
09852db6ee Always emit VerifyFingerSelected
If the finger passed for verification is -1, always emit the
VerifyFingerSelected signal, as the front-end isn't to know
whether we're using identification or verification.
2008-11-02 11:16:59 +00:00
35ae4dd071 Fix a bunch of warnings
More warnings fixed in the file storage.
2008-11-02 11:16:59 +00:00
0a075532c7 Fix another error path
More to do though...
2008-11-02 11:16:59 +00:00
15fbacd738 More identification work
- Add a finger selected signal, so that when an "automatic" finger
  is selected for verification, we know which one to scan
- Fix the finger print numbers list to use GPOINTER_TO_INT /
  GINT_TO_POINTER
- Make sure the gallery is NULL when there's no prints available
- Don't use identification when a finger number is provided
- Add support for selecting the finger number in verify
- Add support for fatal warnings there as well
2008-11-02 11:16:13 +00:00
ee874bb1d4 Add identify support
Passing -1 to the VerifyStart function will either accept any
fingers scanned, if the driver supports identification, or select
the first enrolled fingerprint for scanning if it doesn't.
2008-11-02 11:16:13 +00:00
974e022c4d Debug output cleanup
Remove a few debug messages, and merge another one.
2008-11-02 11:16:13 +00:00
e8c36e9592 Rework the "SetUsername" functionality
- Remove SetUsername itself, and add a username parameter to DeviceClaim,
  ListEnrolledFingers and DeleteEnrolledFingers.
- For each of those calls, check that the incoming connection is allowed
  to operate on that particular username
- Don't require a claimed device to list or remove fingerprints
- Clean up username and sender when releasing the device
- Modify the storage backend to not require an opened device to list
  or delete fingerprints
- Add a simple test program to list registered fingerprints for the
  usernames passed as argument
2008-11-02 11:16:13 +00:00
bd2debc01e Update storage code to allow plugins
Add naive plugin support to the storage code, it will
load plugins from $(libdir)/fprintd/modules, given the configuration
from /etc/fprintd.conf.
2008-11-02 11:16:13 +00:00
c738aa334d Fix PolicyKit action for deleting fingerprints
We can only delete fingerprints if we could enroll them
in the first place.
2008-11-02 11:16:13 +00:00
af42db88bf Add DeleteEnrolledFingers
To delete all the enrolled finger prints for a particular user.
We can already overwrite existing enrolled fingerprints, and there's
not really any point in dismissing just one fingerprint.
2008-11-02 11:16:13 +00:00
bb1210981b Kill LoadPrintData and UnloadPrintData
They were just doing nothing interesting for us, and might
cause problems if data changes under us (say, remote storage).
2008-11-02 11:16:13 +00:00
46a9783be6 Add PolicyKit checking
Add PolicyKit checks to all the public functions, grouped
in 2 main groups: Verify and Enroll
By default, only the user is able to enroll new fingers,
or verify themselves.
You need to be allowed at least one of those 2 actions
to be allowed to claim or release the device.

We also add a new SetUsername function, for administration
functions. Users will need to be authenticate as admins to
be allowed to change the username on which the actions will
be taken. Any prints loaded before the change of username will
be unloaded.
2008-05-22 17:56:25 +01:00
61a2266e52 Start of PolicyKit support
Get a PolicyKit context per-device, set up its main loop,
and steal more code from gnome-panel to check whether
the actions are allowed for a particular caller.
2008-05-22 17:56:25 +01:00
5e194488e7 The user that claims the device is the one we work on
When the user claims the device, get its uid and username,
and use this data to read/save from storage.
2008-05-22 17:55:16 +01:00
8529a43b0d Save using storage
Save the fingerprint using the storage functions so we
can verify the data we enroll.
2008-05-22 17:55:16 +01:00