Bastien Nocera
77defa1d8b
lib: Remove fpi_dev_get_nr_enroll_stages()
...
It's the same as fp_dev_get_nr_enroll_stages()
2018-09-15 01:23:02 +02:00
Bastien Nocera
5d01497b8b
lib: Remove dev_to_img_dev() helper
...
We can access the img_dev struct member directly, and we don't have
to double check that the img_dev member is actually an img_dev type,
as it always is.
2018-09-15 01:20:59 +02:00
Bastien Nocera
cb8732b255
lib: Remove priv struct member in fp_driver
...
It's unused.
2018-09-15 01:18:14 +02:00
Bastien Nocera
3f64b2ea5a
lib: Remove fpi_imgdev_get_usb_dev()
...
We now use fpi_get_usb_dev(FP_DEV()) instead.
2018-09-15 01:12:18 +02:00
Bastien Nocera
57b38a2876
lib: Remove fpi_imgdev_get_dev()
...
This is now handled by FP_DEV()
2018-09-15 01:12:18 +02:00
Bastien Nocera
058f91909d
lib: Remove fp_img_dev->priv
...
And use the new instance data helper.
2018-09-15 01:12:18 +02:00
Bastien Nocera
4f75e63e25
lib: Remove fp_dev->priv
...
Not precise enough, and it was only used in upekts to get/set the
instance private struct and keep it around, so add a new, more precisely
defined field to fp_dev for that.
2018-09-15 01:12:18 +02:00
Bastien Nocera
2e50ff5e7c
lib: Add some TODO items to fp_dev struct
2018-09-15 01:09:50 +02:00
Bastien Nocera
0b7477e72c
lib: Use fp_dev to access USB device
...
Instead of having own own pointer in fp_img_dev
2018-09-15 01:09:50 +02:00
Bastien Nocera
4dc8aa6dfa
docs: Add fpi-dev helpers to API docs
2018-09-15 01:09:50 +02:00
Bastien Nocera
161c3ccf1c
lib: Link fp_dev to fp_img_dev and back
...
So it's easy to switch between the 2 structs, and remove fp_img_dev->dev
direct access, as well as fp_dev->priv "user data" usage.
2018-09-15 01:09:39 +02:00
Bastien Nocera
170da7fec1
lib: Move fp_dev definition and helpers to separate header
2018-09-15 01:09:39 +02:00
Bastien Nocera
d7af9a4498
Merge branch 'wip/hadess/fpi-log-docs' into 'master'
...
Logging API docs
See merge request libfprint/libfprint!16
2018-09-07 10:59:56 +00:00
Bastien Nocera
3cb3b1d63a
lib: Add Logging API documentation
2018-09-06 14:44:45 +02:00
Bastien Nocera
fc66919e1f
lib: Make BUG_ON() use fp_err()
...
So that when we change fp_err() to an assertion, BUG_ON() is changed as
well.
2018-09-06 14:42:33 +02:00
Bastien Nocera
de5b4e7dcb
lib: Split off logging helpers
2018-09-06 13:24:41 +02:00
Bastien Nocera
561576961c
Merge branch 'wip/hadess/fpi-timeout-docs' into 'master'
...
fpi_timeout API docs
See merge request libfprint/libfprint!15
2018-09-05 15:53:15 +00:00
Bastien Nocera
2946dabd24
lib: Typedef fpi_timeout
2018-09-05 17:49:02 +02:00
Bastien Nocera
969eefc81f
lib: Add fpi_timeout API documentation
2018-09-05 17:48:43 +02:00
Bastien Nocera
efee7262b6
lib: Split off timeout helpers
...
And rename poll.c to fpi-poll.c
2018-09-05 17:15:20 +02:00
Bastien Nocera
1102d6e478
Merge branch 'wip/hadess/fpi-ssm-docs' into 'master'
...
Add fpi_ssm API docs
See merge request libfprint/libfprint!14
2018-09-05 14:37:09 +00:00
Bastien Nocera
603aab0a81
lib: Rename fpi_ssm_mark_aborted to fpi_ssm_mark_failed
2018-09-05 16:29:26 +02:00
Bastien Nocera
10e934e234
lib: Add fpi_ssm API documentation
2018-09-05 16:25:34 +02:00
Bastien Nocera
48b9e6c517
lib: Typedef fpi_ssm
2018-09-05 15:40:34 +02:00
Bastien Nocera
5ae2ef5407
lib: Split off fpi_ssm functions
...
Rename drv.c to something more fitting to its contents, and move state
machine code to its own header.
2018-09-05 15:40:01 +02:00
Bastien Nocera
cafa05dab5
doc: Add include to each section rather than globally
...
So that we can document internal driver APIs and mention the correct
include.
2018-09-05 15:39:05 +02:00
Bastien Nocera
6345835b02
doc: %NULL changes
2018-09-04 15:58:23 +02:00
Bastien Nocera
1d453b5732
doc: Fix warning about fp_capture_result
...
The enum values need to be documented before the enum itself, otherwise
this warning is thrown:
warning: Value descriptions for fp_capture_result are missing in source code comment block.
2018-09-04 15:57:46 +02:00
Bastien Nocera
d3a1b86ea4
doc: Fix warnings about user_data
...
Such as:
warning: Parameter description for *::user_data is missing in source code comment block.
2018-09-04 15:56:32 +02:00
Bastien Nocera
bb27ca5720
lib: Work-around gtk-doc's handling of the short type
...
gtk-doc thinks "short" is only a modifier, not a type of its own (short
== short int). This work-around does not change the ABI.
See https://gitlab.gnome.org/GNOME/gtk-doc/issues/44
2018-09-04 15:45:18 +02:00
Bastien Nocera
065c0b6202
fdu2000: This comment is not API docs
...
So format it in a way that gtk-doc doesn't think it's API docs.
2018-09-04 15:44:26 +02:00
Bastien Nocera
b4819701b4
doc: Fix warning about fp_print_data
...
It was listed twice in the sections declaration.
2018-09-04 15:42:57 +02:00
Bastien Nocera
daed05755a
lib: Remove unused fp_imgdev_verify_state from drivers API
2018-09-04 14:46:25 +02:00
Bastien Nocera
fb192f706c
lib: Remove unused fp_dev_state from drivers API
2018-09-04 14:45:49 +02:00
Bastien Nocera
350b0a38e2
drivers: De-duplicate udf_crc() helper
...
Was in both the upektc_img and upekts drivers
2018-09-04 14:05:37 +02:00
Bastien Nocera
9ccbda4a40
Merge branch 'wip/hadess/update-nbis-5-0-0' into 'master'
...
Update to NBIS 5.0.0
See merge request libfprint/libfprint!12
2018-08-28 09:35:46 +00:00
Bastien Nocera
821cbae187
loop: Remove unused variable
...
mindtct/loop.c: In function ‘process_loop_V2’:
mindtct/loop.c:713:8: warning: variable ‘halfway’ set but not used [-Wunused-but-set-variable]
int halfway;
^~~~~~~
2018-08-27 20:01:00 +02:00
Bastien Nocera
528f3556ea
vfs301: Use vfs301_proto_deinit()
...
Even though it does nothing, make sure to use it so it's useful once it
does something.
2018-08-27 20:01:00 +02:00
Bastien Nocera
489afea605
lib: Remove unused fpi_dev_get_dev_state()
...
This internal-only function was never used.
2018-08-27 20:01:00 +02:00
Bastien Nocera
688a133f3f
morph: Fix misleading indentation
...
mindtct/morph.c: In function ‘get_south8_2’:
mindtct/morph.c:173:4: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
if (row >= ih-1) /* catch case where image is undefined southwards */
^~
mindtct/morph.c:176:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
return *(ptr+iw);
^~~~~~
mindtct/morph.c: In function ‘get_north8_2’:
mindtct/morph.c:197:4: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
if (row < 1) /* catch case where image is undefined northwards */
^~
mindtct/morph.c:200:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
return *(ptr-iw);
^~~~~~
mindtct/morph.c: In function ‘get_east8_2’:
mindtct/morph.c:221:4: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
if (col >= iw-1) /* catch case where image is undefined eastwards */
^~
mindtct/morph.c:224:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
return *(ptr+ 1);
^~~~~~
mindtct/morph.c: In function ‘get_west8_2’:
mindtct/morph.c:243:4: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
if (col < 1) /* catch case where image is undefined westwards */
^~
mindtct/morph.c:246:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
return *(ptr- 1);
^~~~~~
2018-08-27 20:01:00 +02:00
Bastien Nocera
0cd37b0142
block: Remove unused variable
...
mindtct/block.c: In function ‘block_offsets’:
mindtct/block.c:108:18: warning: variable ‘ph’ set but not used [-Wunused-but-set-variable]
int pad2, pw, ph;
^~
2018-08-27 20:01:00 +02:00
Bastien Nocera
9fb789dc78
nbis: Update to NBIS 5.0.0
...
This updates NBIS to its latest 5.0.0 version, dated 04/03/2015, from a
1.x version, dated 2007.
Original sources are available at:
https://www.nist.gov/itl/iad/image-group/products-and-services/image-group-open-source-server-nigos#Releases
And full change log at:
https://www.nist.gov/sites/default/files/documents/2016/12/14/changelog.txt
2018-08-27 20:01:00 +02:00
Bastien Nocera
770444af55
nbis: Add script to update NBIS and apply changes
...
NBIS is pretty complicated to update, seeing as we've made quite a few
changes to get it to compile as a library. With those scripts, we can
easily trim headers to remove functions we don't use, rename global
variables, and do any sort of fixups that are necessary right now.
In the future, removing unused NBIS functions might be as easy as
updating that script, re-running it, and pushing the changes.
Note that remove-function.lua is a very crude parser that only supports
NBIS' style of declaration, with the return type on the same line as the
function name. I wouldn't recommend trying to use it in another project.
Callcatcher (https://github.com/caolanm/callcatcher ) was also used to
remove additional unused functions.
2018-08-27 20:01:00 +02:00
Bastien Nocera
703d9b2a07
img: Remove remove_perimeter_pts setting
...
It's gone in NBIS 5.0.0, and will need to be replaced after the update.
2018-08-24 16:11:07 +02:00
Bastien Nocera
a96509f286
Merge branch 'iafilatov/libfprint-elan-prepare-merge' into 'master'
...
elan: Send stop cmd and recalibrate after each capture
See merge request libfprint/libfprint!11
2018-08-10 12:36:01 +00:00
Bastien Nocera
56c96dde8b
Merge branch 'wip/hadess/elan-update' into 'master'
...
Update Elan driver
See merge request libfprint/libfprint!10
2018-08-10 12:06:35 +00:00
Bastien Nocera
9793d60c5a
elan: Remove unused string.h include
2018-08-10 13:45:29 +02:00
Bastien Nocera
9843c2d764
Merge branch 'wip/hadess/gtk-doc-meson-regression' into 'master'
...
build: Fix build with newer meson
See merge request libfprint/libfprint!9
2018-07-20 10:36:28 +00:00
Bastien Nocera
c9abbec48a
build: Fix build with newer meson
...
The gtk-doc meson helper regressed in that it didn't expect the
libfprint.types file to not exist, as earlier versions did. Remove
the --rebuild-types call so that it is not generated, and meson carries
on compiling the rest of the library.
See https://gitlab.gnome.org/GNOME/gtk-doc/issues/48
See https://github.com/mesonbuild/meson/issues/3892
See https://bugzilla.redhat.com/show_bug.cgi?id=1604585
2018-07-20 12:22:50 +02:00
Bastien Nocera
bc79f9504b
Merge branch 'wip/hadess/more-string-h' into 'master'
...
lib: Include more standard headers for drivers to use
See merge request libfprint/libfprint!8
2018-07-18 09:08:41 +00:00
Bastien Nocera
626b0f1a8f
lib: Include more standard headers for drivers to use
...
Such as string.h and stdlib.h, to be able to compile on older
toolchains like that of Fedora 27.
2018-07-17 16:14:09 +02:00
Bastien Nocera
da95af0f48
0.8.2
2018-07-17 13:48:13 +02:00
Bastien Nocera
28b6f643d8
Merge branch 'wip/hadess/downgrade-assert-2' into 'master'
...
Another assert downgrade
See merge request libfprint/libfprint!7
2018-07-17 11:47:10 +00:00
Bastien Nocera
22277c7277
build: Downgrade meson in CI script
...
It failed to finish the build otherwise:
https://github.com/mesonbuild/meson/issues/3892
2018-07-17 13:43:00 +02:00
Bastien Nocera
19e7b217c1
lib: Downgrade fp_err() to be non-fatal
...
Similarly to b1ac865abd , downgrade
fp_err() to be non-fatal. A number of drivers would spit out an error
when encountering this call, but not crash, carry on and most of the
time recover.
Make sure we don't assert in those cases.
2018-07-16 16:08:54 +02:00
Bastien Nocera
29d3541b74
lib: Downgrade BUG* assertions to work-around crashes #2
...
Same as b1ac865abd but for the drivers
API.
2018-07-16 16:07:25 +02:00
Bastien Nocera
b9e5b3a55c
Merge branch 'wip/hadess/downgrade-assert' into 'master'
...
lib: Downgrade BUG* assertions to work-around crashes
Closes #77
See merge request libfprint/libfprint!6
2018-07-03 09:44:56 +00:00
Bastien Nocera
b1ac865abd
lib: Downgrade BUG* assertions to work-around crashes
...
BUG() and BUG_ON() didn't use to assert, but only print an error if
debugging was enabled. This was hiding a lot of state bugs in drivers,
and transforming those into assertions causes crashes.
Downgrade the assertion to only print a warning, and hope that those
eventually get fixed in the drivers so we can re-enable them.
Closes : #77
2018-07-03 11:40:25 +02:00
Bastien Nocera
21504c0621
Merge branch 'wip/hadess/poll-retval' into 'master'
...
poll: Fix fp_get_pollfds retval type
See merge request libfprint/libfprint!5
2018-06-26 13:18:40 +00:00
Bastien Nocera
056ea541dd
poll: Fix fp_get_pollfds retval type
...
fp_get_pollfds() is supposed to return a negative value on failure, but
size_t is an unsigned integer. Use ssize_t instead.
2018-06-26 14:53:53 +02:00
Bastien Nocera
871fddf5fb
Merge branch 'wip/hadess/more-upekts-statuses' into 'master'
...
upekts: Fix enrollment never finishing on some upekts devices
See merge request libfprint/libfprint!3
2018-06-20 17:16:08 +00:00
Bastien Nocera
c284858d06
upekts: Fix enrollment never finishing on some upekts devices
...
Add support for more device status codes, brought back from the
now-removed UPEKE2 driver.
See https://gitlab.freedesktop.org/libfprint/libfprint/blob/3bf55a3e0766ca90f5befc1ed161b1c83005a962/libfprint/drivers/upeke2.c#L1013
2018-06-19 11:11:04 +02:00
Bastien Nocera
bb4d888661
elan: Fix typo in comment
2018-06-18 18:07:24 +02:00
Bastien Nocera
ff77cfc9b5
doc: Update more website links
2018-06-18 14:56:40 +02:00
Bastien Nocera
80f91ecb7b
Merge branch 'master' into 'master'
...
elan: Add USB ID for TNP Nano USB Fingerprint Reader (04f3:0c26)
See merge request libfprint/libfprint!1
2018-06-13 20:09:47 +00:00
Bastien Nocera
6f6127cbb6
0.8.1
2018-06-12 16:05:45 +02:00
Bastien Nocera
e1d85fb636
build: Install udev rules in correct directory
...
The udevdir variable in udev.pc might not have a trailing slash.
2018-06-12 16:03:34 +02:00
Bastien Nocera
74b5c92787
0.8.0
2018-06-12 15:42:22 +02:00
Bastien Nocera
ac1f97e2eb
lib: Supported devices list is for master, not stable
2018-06-12 12:46:19 +02:00
Bastien Nocera
40f486b108
HACKING: Update hacking file
2018-06-12 11:06:26 +02:00
Bastien Nocera
b62e67401c
lib: Fix supported devices page title again
...
We need to call setlocale() so we run in UTF-8 mode, and can print that
sweet sweet em dash.
2018-06-08 16:23:35 +02:00
Bastien Nocera
dd0a0134a6
lib: Fix supported devices page title
2018-06-07 17:46:08 +02:00
Bastien Nocera
5e24000799
build: Remove unused meson rule
...
We're generating the supported-devices.md file in the website CI now.
2018-06-07 17:39:36 +02:00
Bastien Nocera
c5cdfcb120
lib: Sort supported devices list
2018-06-07 17:39:04 +02:00
Bastien Nocera
549a6694d2
build: Disable supported-devices.md generation for now
...
As added in e5393bf46a
It fails currently.
2018-06-04 16:13:08 +02:00
Bastien Nocera
14e34e1d15
build: Remove ported Makefile.am snippet
2018-06-03 14:41:02 +02:00
Bastien Nocera
e5393bf46a
lib: Add script to print MarkDown page of supported devices
2018-06-03 14:40:34 +02:00
Bastien Nocera
878a201bb1
README: Update links to new website
2018-06-03 00:31:05 +02:00
Bastien Nocera
b0e4619e0a
docs: Update links to new website
2018-06-03 00:31:05 +02:00
Bastien Nocera
aec65777a7
nbis: Update links to new website
2018-06-03 00:30:10 +02:00
Bastien Nocera
31bad8ddd2
build: Fix fprint.h install destination
...
Since the port to meson, fprint.h was installing to $includedir instead
of $includedir/libfprint/
2018-05-31 14:35:16 +02:00
Bastien Nocera
79d65c907f
build: Add missing X11 deps for the examples
2018-05-31 12:30:48 +02:00
Bastien Nocera
92231d984f
build: Add some missing build essentials
2018-05-31 12:23:30 +02:00
Bastien Nocera
2fbc77955e
build: Add CI
...
Barebones, just compiles libfprint.
2018-05-31 12:18:17 +02:00
Bastien Nocera
c91819f551
lib: Remove drv->close absence support in fp_async_dev_close()
...
The driver will at least need to close its hardware resources, and
free memory, so it must have had one.
This case was never actually used as can be seen from the fact that
we would assert in fpi_drvcb_close_complete() if the state was wrong
but never set it to the expected value.
2018-05-31 11:06:31 +02:00
Bastien Nocera
b3f6ff5a36
lib: Add guard to async functions
...
To avoid having NULL devices being passed dereferenced.
2018-05-31 11:06:31 +02:00
Bastien Nocera
52f84bee3c
vfs5011: Error out when no lines were captured
...
Which avoids passing zero lines to fpi_assemble_lines()
"gmem.c:130: failed to allocate 18446744073709551612 bytes"
#3 0x00007fe4f6ef428f in g_log (log_domain=log_domain@entry=0x7fe4f6f3506e "GLib", log_level=log_level@entry=G_LOG_LEVEL_ERROR, format=format@entry=0x7fe4f6f3e610 "%s: failed to allocate %lu bytes") at gmessages.c:1398
#4 0x00007fe4f6ef2ac4 in g_malloc0 (n_bytes=n_bytes@entry=18446744073709551612) at gmem.c:129
#5 0x00007fe4f8052020 in median_filter (filtersize=25, size=-1, data=0x0) at assembling.c:309
#6 fpi_assemble_lines (ctx=ctx@entry=0x7fe4f82ac3c0 <assembling_ctx>, lines=0x0, lines_len=0) at assembling.c:389
#7 0x00007fe4f805f3db in submit_image (ssm=ssm@entry=0x16c3cba360, data=data@entry=0x16c3cb9cc0) at drivers/vfs5011.c:412
See https://bugzilla.redhat.com/show_bug.cgi?id=1484812
Closes : #42
2018-05-31 11:08:41 +02:00
Bastien Nocera
dda6857fee
assembling: Add guards to fpi_assemble_lines()
...
With the goal of not crashing when we try to malloc MAXINT bytes of RAM.
See https://bugzilla.redhat.com/show_bug.cgi?id=1484812
Closes : #42
2018-05-31 11:06:31 +02:00
Bastien Nocera
db34837d2d
lib: Simplify device discovery
...
Use GPtrArray instead of open-coding a NULL terminated array.
https://bugs.freedesktop.org/show_bug.cgi?id=106279
2018-05-29 13:45:27 +02:00
Bastien Nocera
ba49677794
vfs0050: Rename "udev" to "usb_dev"
...
To reduce confusion with possible future udev usage.
2018-05-29 13:37:19 +02:00
Bastien Nocera
1a376c1bfa
lib: Remove 2 more functions from the drivers API
2018-05-29 13:34:18 +02:00
Bastien Nocera
ef807d9d0e
lib: s/array_n_elements/G_N_ELEMENTS/
2018-05-29 13:34:18 +02:00
Bastien Nocera
2a4893d946
lib: fp_imgdev_*() functions are only used in drivers
2018-05-29 13:34:18 +02:00
Bastien Nocera
cee061b363
lib: fpi_ssm_start_subsm() is only used in drivers
2018-05-29 13:34:18 +02:00
Bastien Nocera
1bbdf304ab
lib: Remove never defined fpi_ssm_has_completed()
2018-05-29 13:34:18 +02:00
Bastien Nocera
6155068f9e
lib: Split off some fp_img related functions
...
Some are internal, some are for drivers.
2018-05-29 13:34:18 +02:00
Bastien Nocera
0c4e3bb1c4
lib: Remove drivers definitions from drivers API
2018-05-29 13:34:18 +02:00
Bastien Nocera
4547ff0c19
lib: Remove a number of data types from drivers API
...
They're unused in drivers.
2018-05-29 13:34:18 +02:00
Bastien Nocera
b7cce4d91d
lib: Make fp_minutiae opaque
...
And fp_minutia private.
2018-05-29 13:34:18 +02:00
Bastien Nocera
475250ce71
lib: Split off some polling related functions
2018-05-29 13:34:18 +02:00