Commit graph

327 commits

Author SHA1 Message Date
Bastien Nocera
120c9a1099 Some changes to our docbook XSLT script
Add <doc:title> for use in the top-level description, and
a description link type, to link to those sub-paragraphs.
2008-11-21 18:15:51 +00:00
Bastien Nocera
3cd0a7aeaf First pass at adding API docs through gtk-doc
Required a bit of mangling.
2008-11-21 18:15:51 +00:00
Bastien Nocera
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
Bastien Nocera
0636c77962 Enumerate all the fingers for swipe and press
We need to enumerate all the fingers for swipe and press actions,
otherwise we might break break translations.
2008-11-21 18:15:51 +00:00
Bastien Nocera
837627b1a7 Use scan type property for better messages
Better messages for the PAM plugin, by using whether the device
requires swiping or pressing the finger on the reader.
2008-11-21 18:15:51 +00:00
Bastien Nocera
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
Bastien Nocera
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
Bastien Nocera
f39e1475b4 Update TODO
More done, and more to do.
2008-11-21 18:15:44 +00:00
Bastien Nocera
5426b1a472 Use GetDefaultDevice
As we're not using the non-default device anyway.
2008-11-21 18:15:21 +00:00
Bastien Nocera
e207203b44 Add GetDefaultDevice
Gives you the first device listed in GetDevices.
2008-11-21 18:15:21 +00:00
Bastien Nocera
ac85e5927e List all the fingerprints for all the users
When listing, list all the fingerprints for all the users mentioned on
the command-line for each connected device, rather than just the
default one.
2008-11-21 18:15:21 +00:00
Bastien Nocera
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
Bastien Nocera
ea4114b976 Make GetProperties async
as the rest of our functions.
2008-11-21 18:15:21 +00:00
Bastien Nocera
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
Bastien Nocera
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
Bastien Nocera
d874d5869c Add another TODO item
We need to double-check the messages so that they're translated
for users in the UIs.
2008-11-21 18:14:09 +00:00
Bastien Nocera
31a8e2c61d Fix distcheck
And add a TODO item
2008-11-21 18:14:09 +00:00
Bastien Nocera
fb4cbb910b Prefix the test binaries
So that we avoid clashing with distribution binaries.
2008-11-21 18:14:09 +00:00
Bastien Nocera
8bae65d50e Fix pam module running under gnome-screensaver
1) Set up our own D-Bus (private) connection
2) Set up our own main loop and main loop context

This means we finally work right within gnome-screensaver!
2008-11-18 17:07:10 +00:00
Bastien Nocera
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
Bastien Nocera
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
Bastien Nocera
e29806cd88 Add an action property
Add an action property and notify listeners when the action changes.
2008-11-03 22:56:12 +00:00
Bastien Nocera
f43ea8f095 Add an enrollment action
Return an error if an enrollment is already in progress.
2008-11-03 22:56:12 +00:00
Bastien Nocera
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
Daniel Drake
4bc8330d56 Note that pam_fprint is only temporarily here 2008-11-03 22:55:01 +00:00
Bastien Nocera
6a2753eae2 And call g_type_init()
Otherwise it just won't work...
2008-11-03 22:53:46 +00:00
Bastien Nocera
4fa5552650 Add PAM module
Add a PAM module, and enable all the warnings
2008-11-03 22:53:44 +00:00
Bastien Nocera
c77f46a475 Add more TODO items
..
2008-11-02 11:16:59 +00:00
Bastien Nocera
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
Bastien Nocera
35ae4dd071 Fix a bunch of warnings
More warnings fixed in the file storage.
2008-11-02 11:16:59 +00:00
Bastien Nocera
0a075532c7 Fix another error path
More to do though...
2008-11-02 11:16:59 +00:00
Bastien Nocera
f83ee93d6a Add warnings m4 macros from GNOME
This is better than what we've got currently, and
even works with older versions of GCC.
2008-11-02 11:16:59 +00:00
Bastien Nocera
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
Bastien Nocera
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
Bastien Nocera
b4bfdcd55d Remove a TODO item
ClaimDevice is now only needed for hardware related actions
2008-11-02 11:16:13 +00:00
Bastien Nocera
974e022c4d Debug output cleanup
Remove a few debug messages, and merge another one.
2008-11-02 11:16:13 +00:00
Bastien Nocera
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
Bastien Nocera
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
Bastien Nocera
96b444ed3e Install a configuration file
This should be used to set the storage type.
2008-11-02 11:16:13 +00:00
Bastien Nocera
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
Bastien Nocera
81933406d0 Support setting the username in the tests
Allow enroll and verify to optionally set a username. Makes
testing easier.
2008-11-02 11:16:13 +00:00
Bastien Nocera
2f5987eded Update TODO list
Add a few more TODO items
2008-11-02 11:16:13 +00:00
Bastien Nocera
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
Bastien Nocera
45dc821b3a Update use cases
Less implementation details, more use casing.
2008-11-02 11:16:13 +00:00
Bastien Nocera
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
Bastien Nocera
f7ae545dc9 Add a few use cases to the README
Will be useful when people try to do crazy things with fprintd
2008-11-02 11:16:13 +00:00
Bastien Nocera
98bcdc9397 Add myself to the authors
..
2008-11-02 11:16:13 +00:00
Bastien Nocera
24d7041fe4 Update polkit dependency
0.8 is the minimum version required.
2008-11-02 11:16:13 +00:00
Bastien Nocera
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
Bastien Nocera
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