Bastien Nocera
46ebb39f65
lib: Throw an error if fp_init() wasn't called
...
You can't call fp_discover_devs() without calling fp_init() and having
it not fail, otherwise there's nothing to discover...
2018-10-23 10:59:15 +02:00
Bastien Nocera
c88a51cce8
build: Refuse to build without any drivers
2018-10-23 10:59:15 +02:00
Bastien Nocera
3a7b03f022
lib: Fix crash when too many minutiae were detected
...
struct xyt_struct uses a fixed-sized array to fit MAX_BOZORTH_MINUTIAE (200)
minutiae. MAX_FILE_MINUTIAE is 1000. So if we detected more than
MAX_BOZORTH_MINUTIAE, we would crash copying the data from the capture
to the structure.
We might want to use dynamically allocated arrays in the future (or
bigger ones) so that we don't lose minutiae.
Closes : #116
2018-10-12 12:27:37 +02:00
Bastien Nocera
94450a1d74
lib: Fix fpi_img_is_sane()
...
The checks weren't:
- checking whether the width or height were negative
- whether img->width * img->height would overflow, or
was bigger than G_MAXINT
- whether img->width * img->height was bigger than the total
length of the buffer
The last one looks like a thinko, it checked for:
(img->length * img->height) < img->length
which is equivalent to:
img->height < 1
which we already check for earlier.
Closes : #85
2018-10-12 00:54:39 +00:00
Bastien Nocera
c35ad20249
mindtct: Fix a memory leak in morph_TF_map()
...
cimage is leaked when mimage fails to allocate.
Spotted by Seth Arnold
Closes : #82
2018-10-12 00:54:39 +00:00
Bastien Nocera
5e8b4a81e9
mindtct: Fix leak in pixelize_map()
...
pmap was not freed in error cases.
Spotted by Seth Arnold
Closes : #83
2018-10-12 00:54:39 +00:00
Bastien Nocera
21a779235d
mindtct: Fix powmax_dirs leak on error
...
A copy/paste error meant we were trying to free a variable we only just
failed to allocate.
Spotted by Seth Arnold
Closes : #81
2018-10-12 00:54:39 +00:00
Bastien Nocera
1006467f33
lib: Add accessor for minutia coordinates
...
Add fp_minutia_get_coords() so that debugging applications can show the
detected minutiae along with the captured image.
This will also help fix the positively ancient fprint_demo.
See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907470
2018-10-08 16:50:59 +02:00
Bastien Nocera
cffe49de5c
build: Fix "already configured" meson warning
2018-10-08 16:50:59 +02:00
Bastien Nocera
7962d8cdab
build: Fix build with no drivers using imaging_dep
...
Closes : #109
2018-09-28 15:59:45 +02:00
Bastien Nocera
36dba33808
build: Test builds with a single driver with no deps
...
So that we can be sure that the build doesn't break when those drivers
are not built.
2018-09-28 15:55:56 +02:00
Bastien Nocera
c273908471
lib: Tidy fp_internal.h
...
Group global variables, structure definitions, and functions, and
group functions by which C source they're defined in.
This also removes the FP_IMGDRV_SUPPORTS_UNCONDITIONAL_CAPTURE
definition that's already available in the drivers API-accessible
fpi-core.h
2018-09-28 15:12:39 +02:00
Bastien Nocera
bf8661bf45
lib: Include "fpi-dev.h" in drivers header
2018-09-28 15:12:39 +02:00
Bastien Nocera
499b522183
lib: Remove titles from headers
...
The purpose of the headers is (or will be) explained in more details
inside each one of the matching C files.
2018-09-28 15:12:39 +02:00
Bastien Nocera
13bfe7a65c
lib: Move driver definitions to fpi-core.h
2018-09-28 15:12:39 +02:00
Bastien Nocera
e90ec04441
lib: Move fp_minutiae to fpi-img.h
2018-09-28 15:12:39 +02:00
Bastien Nocera
a59a5caaf3
lib: Add missing includes
...
Headers for size_t and ssize_t, as used in the header itself.
2018-09-28 15:12:39 +02:00
Bastien Nocera
5b9f81fb46
lib: Move fp_dev helpers to fpi-dev.h from fpi-core.h
2018-09-28 15:12:39 +02:00
Bastien Nocera
d3aaebb352
lib: Add include guards to fpi-dev.h
2018-09-28 15:12:39 +02:00
Bastien Nocera
a99f920fe0
lib: Add include guards to fpi-poll.h
2018-09-28 15:12:39 +02:00
Bastien Nocera
fb5527c58c
lib: Split off imgdev functions
...
They now live in fpi-dev-img.[ch]
2018-09-28 15:12:39 +02:00
Bastien Nocera
fcd3c1dd89
lib: Split off core.c drivers API
2018-09-28 15:12:39 +02:00
Bastien Nocera
3a9500be67
lib: Move fpi-img utils to fpi-img's header
2018-09-28 15:12:39 +02:00
Bastien Nocera
1d93b86569
lib: Rename assembling.[ch]
...
This is already self-contained.
2018-09-28 15:12:39 +02:00
Bastien Nocera
aca2cd41d8
lib: Rename sync.c to fpi-sync.c
...
All the functions there are public, so no matching header.
2018-09-28 15:12:39 +02:00
Bastien Nocera
1035f733aa
lib: Split off async functions
...
And don't add the new fpi-async.h to the driver imports, it will only
be used by the upekts driver.
2018-09-28 15:12:39 +02:00
Bastien Nocera
2818d94010
lib: Split off fp_img helpers
...
And rename img.c to fpi-img.c, as well as pixman.c to fpi-img-pixman.c
2018-09-28 15:12:39 +02:00
Bastien Nocera
1d1c34eb60
lib: Make fpi_print_data_item_free() static
2018-09-28 15:12:39 +02:00
Bastien Nocera
ca06fae22e
lib: Split off fpi_print_data helpers
...
And rename data.c to fpi-data.c
2018-09-28 15:12:39 +02:00
Bastien Nocera
36f527269b
Revert "lib: Mark fpi_ssm_get_user_data as deprecated"
...
This reverts commit 1fd82b5162
.
This was causing too many warnings at this stage of porting. We'll add
it again when most of the drivers are ported.
2018-09-28 15:12:39 +02:00
Bastien Nocera
7cfe20e07f
lib: Fix gtk-doc warning
...
warning: no link for: "timeval" -> (<code class="literal">timeval</code>)
2018-09-27 16:08:21 +02:00
Bastien Nocera
1fd82b5162
lib: Mark fpi_ssm_get_user_data as deprecated
2018-09-27 16:07:58 +02:00
Bastien Nocera
0ace5f64f8
elan: Fix use-after-free if USB transfer is cancelled
2018-09-27 15:19:00 +02:00
Bastien Nocera
e532524c7e
elan: Name our timeouts
2018-09-27 15:17:15 +02:00
Bastien Nocera
ebd96f892e
lib: Make fpi_timeout_add() never fail
...
It will now assert if the monotonic clock isn't available. If that's the
case, we'll have bigger problems anyway.
2018-09-27 15:14:05 +02:00
Bastien Nocera
4b9b34fa4d
elan: Use USB helpers
2018-09-27 15:09:59 +02:00
Bastien Nocera
bcc1e7ae73
aes2501: Use USB helpers
...
Nice little cleanups.
2018-09-27 14:49:50 +02:00
Bastien Nocera
27accf42f2
uru4000: Port URU4000 driver to USB helpers
...
Doesn't look very useful.
2018-09-27 14:49:50 +02:00
Bastien Nocera
96f2e07cdd
lib: Add USB transfer helpers
...
Those helpers will provide more arguments in their callbacks, and handle
the libusb_transfer lifecycle, making it easier to use for drivers.
2018-09-27 14:49:50 +02:00
Bastien Nocera
192c4f3cfc
aesx660: Use constants for buffer sizes
2018-09-27 14:49:50 +02:00
Bastien Nocera
cb274032da
aes2501: Use constants for buffer sizes
2018-09-27 14:49:50 +02:00
Bastien Nocera
b890fa56d8
aes1610: Use constants for buffer sizes
2018-09-27 14:49:50 +02:00
Bastien Nocera
b817b46494
lib: Remove home-grown min() implementation
...
And use GLib's.
2018-09-27 14:49:50 +02:00
Bastien Nocera
49ba59369a
aesx660: Remove home-grown min() implementation
...
And use GLib's.
2018-09-27 14:49:50 +02:00
Bastien Nocera
d09cb88e9a
uru4000: Fix typos in comments
2018-09-27 14:49:50 +02:00
Bastien Nocera
44c3f4f772
lib: Cancel pending timeouts on close
...
So that the drivers don't call back into themselves once freed.
2018-09-27 14:49:50 +02:00
Bastien Nocera
948a67a51f
lib: Add internal fpi_timeout_cancel_all_for_dev()
...
This will be used to disable all timeouts for a device that's about
to be closed, and freed.
2018-09-27 14:49:50 +02:00
Bastien Nocera
de79609550
lib: Use timeout name in debug messages when available
2018-09-27 14:49:41 +02:00
Bastien Nocera
d18e10535e
lib: Add a way to name timeouts
...
To make it easier to print debug information about where timeouts are
coming from.
2018-09-27 14:49:41 +02:00
Bastien Nocera
2954583373
lib: Fix memory leak in fpi_poll_exit()
...
The active_timers list was freed, but not the elements themselves.
2018-09-27 14:36:06 +02:00