Commit graph

1936 commits

Author SHA1 Message Date
Marco Trevisan (Treviño)
3d91527eb9 secugen: Ignore wrong and unneeded device emulation mode check 2026-06-19 16:09:11 +02:00
Marco Trevisan (Treviño)
5c6fcb8f00 build: Define variable early enough 2026-06-19 16:08:52 +02:00
Marco Trevisan (Treviño)
f800bbd485 fpi-device: Get the emulation mode only through compile-time defined libs
In test mode, dynamically load libraries in well known locations that can
allow to override the libfprint behavior.

It would still be possible to potentially inject code by replicating the
distro build directory and adding a library there, but if one is able to
access there, they would already be able to access any path.

Plus the env variable check is still there, so again they would need to
be able to change the fprintd environment
2026-06-19 15:55:13 +02:00
Marco Trevisan (Treviño)
3933e5d468 fpi-device: Only use emulation mode by pre-loading a library
Rather than just do it in production if set, make it more difficult to
potentially inject the test mode.

So rely on a weak definition of fpi_device_emulation_mode_enabled() that
can be only set externally
2026-06-19 15:50:18 +02:00
Marco Trevisan (Treviño)
98fb001883 fpi-device: Introduce a properly defined fpi_device_emulation_mode_enabled()
Drivers may do some adjustments in test mode, initially we wanted to
reduce this to the minimum but the usage of `FP_DEVICE_EMULATION`
exploded, so move this instead into a properly defined variable that:
 - Uses GLib compiler optimizations
 - Is read just once per process
 - Cannot be misused
2026-06-19 15:43:45 +02:00
Marco Trevisan (Treviño)
debc6c601e fp-print: Use a switch to match the print type 2026-06-19 15:43:45 +02:00
Marco Trevisan (Treviño)
59ecce0a99 virtual-device: Use consistent sleep/wait multiplier under valgrind 2026-06-19 15:43:09 +02:00
Marco Trevisan (Treviño)
b587e78b09 test-utils: Do not include the header multiple times 2026-06-19 15:43:09 +02:00
Marco Trevisan (Treviño)
2373769e5b tests/build: Increase the focaltech_moc test timeout
As per commit bad930503c the test data is way bigger than it used to
be, so the test duration is longer.

Thus increase the timeout not to have failures
2026-06-19 15:43:09 +02:00
Marco Trevisan (Treviño)
bf91b0ede8 tests/build: Allow to define per-test parameters via a dict 2026-06-19 15:43:09 +02:00
Marco Trevisan (Treviño)
7925c5af13 drivers-api: Add fpi-enums header 2026-06-19 15:37:34 +02:00
Marco Trevisan (Treviño)
71d4c9e7e4 build: Use files to track drivers files
While it's not much needed to ensure rebuild on changes, it may be
useful to get the drivers paths in future
2026-06-19 15:37:34 +02:00
Marco Trevisan (Treviño)
f0d4a8830b libfprint/build: Ignore LD_LIBRARY_PATH (and use rpath) on local binaries
DT_RUNPATH is intentionally searched after $LD_LIBRARY_PATH.
-Wl,--disable-new-dtags switches to the old DT_RPATH tag, which is searched
before $LD_LIBRARY_PATH. So the embedded paths in the build binary will now
win over whatever is in the environment.

Not breaking builds.
2026-06-19 15:37:34 +02:00
Marco Trevisan (Treviño)
9e59d69271 fprint-list-metainfo: Write errors messages to stderr by default
So logging won't affect the result
2026-06-19 12:10:33 +02:00
Marco Trevisan (Treviño)
6498a64f3a tests/hwdb: Use all hwdb-related variables for that test only 2026-06-19 12:10:33 +02:00
Marco Trevisan (Treviño)
bfa74c2816 ci: Do not fail on coverage report page publication 2026-06-19 12:05:29 +02:00
Marco Trevisan (Treviño)
ba5a6a9447 focaltech_moc: Check transfer lengths 2026-06-18 18:10:39 +02:00
Marco Trevisan (Treviño)
169d9addc9 focaltech_moc: Do not set delete feature for 6553 2026-06-18 18:10:39 +02:00
Sid1803
8d2462dad1 focaltech-moc: Add storage clear for 2808:6553 2026-06-18 18:10:39 +02:00
Petapton
2bdc2b7ca6 Add support for 04f3:0c9c Elan Microelectronics Corp. ELAN:ARM-M4 2026-06-18 13:59:57 +00:00
Marco Trevisan (Treviño)
4e92d67048 mafpmoc: bound tpl_info uid usage in logs
Use bounded uid strings for template-info handling.

 - stop printing fixed-size device buffers with raw %s
 - use g_strndup(..., TEMPLATE_UID_SIZE) before logging tpl_info.uid
 - compare delete target uid against the bounded copy
 - log handshake response as bytes instead of %s

This avoids over-read/invalid-UTF8 issues when unknown/corrupted entries
contain non-NUL or 0xff-filled uid data.
2026-06-18 15:49:29 +02:00
Marco Trevisan (Treviño)
4eea5c5e17 mafpmoc: Add various memory cleanups and hardenings 2026-06-18 15:49:27 +02:00
Marco Trevisan (Treviño)
4f743766a5 mafpmoc/custom: Improve test script checking for identified match 2026-06-18 15:49:25 +02:00
Marco Trevisan (Treviño)
c1bb621b59 mafpmoc: Fix error handling 2026-06-18 15:49:23 +02:00
Marco Trevisan (Treviño)
3e300ae7ae mapfmoc: Do not use reserved FP prefix for driver types 2026-06-18 15:49:22 +02:00
Marco Trevisan (Treviño)
7df9fc18cf mafpmoc: Use consistent error handling and fix some leaks 2026-06-18 15:49:20 +02:00
Marco Trevisan (Treviño)
14d40fb515 mafpmoc: Code cleanups 2026-06-18 15:49:16 +02:00
Marco Trevisan (Treviño)
a4eb3013da mafpmoc: Init the device enroll stage at class init 2026-06-18 15:47:34 +02:00
Marco Trevisan (Treviño)
77b73b04b4 mafpmoc: Allow listing non-fprint prints
It's then up to the upper levels to handle them differently, and fprintd
is already strong enough to ignore them.
2026-06-18 15:47:34 +02:00
Marco Trevisan (Treviño)
5a2762fe17 mafpmoc: Cleanup handling of identify and matching prints
Make clearer the ownership of the prints we're tracking
2026-06-18 15:47:34 +02:00
Marco Trevisan (Treviño)
147f3db814 mafpmoc: Ensure the current task SSM reference is always cleaned up 2026-06-18 15:47:34 +02:00
Marco Trevisan (Treviño)
3cbeb34d36 libfprint/fprint-list-udev-hwdb: Drop mafpmoc from unsupported list 2026-06-18 15:47:34 +02:00
Marco Trevisan (Treviño)
4be0fc60a4 mafpmoc: Init print id value 2026-06-18 15:47:34 +02:00
Marco Trevisan (Treviño)
893003799d mafpmoc: Ignore prints not enrolled by FPrint when listing them 2026-06-18 15:47:34 +02:00
Marco Trevisan (Treviño)
b25cbff9be mafpmoc: Do not compare differently signed values 2026-06-18 15:47:34 +02:00
Marco Trevisan (Treviño)
b141eca270 mafpmoc: Handle cancellation without overriding the error 2026-06-18 15:47:34 +02:00
Marco Trevisan (Treviño)
95ecaa156d mafpmoc: Improve creation and destruction of templates list 2026-06-18 15:47:34 +02:00
Marco Trevisan (Treviño)
3ce345b876 mafpmoc: Do not pack templates structure
Otherwise undefined sanitizer would fail for unaligned memory access
2026-06-18 15:47:34 +02:00
Marco Trevisan (Treviño)
b3ad630fb4 mafpmoc: Steal errors when forwarding their ownerships 2026-06-18 15:47:34 +02:00
Marco Trevisan (Treviño)
8d81299743 mafpmoc: Clear errors when they are not forwarded 2026-06-18 15:47:34 +02:00
Marco Trevisan (Treviño)
67649a0efd pafpmoc: Drop check on fprintd templates
It's not up to the drivers do do this check
2026-06-18 15:47:34 +02:00
Marco Trevisan (Treviño)
bbd4ca2fdf mafpmoc: Cleanup code 2026-06-18 15:47:34 +02:00
‘王毅’
e1caa3de3b formatting 2026-06-18 15:47:34 +02:00
王毅
beab941894 Modify debugging print interface, modify comments 2026-06-18 15:47:34 +02:00
王毅
7cf358d42a mafpmoc: Support Microarray Inc. series fingerprint sensor PID 8012 2026-06-18 15:47:34 +02:00
lichenggang
4610f2285e elan: Add support for 0x0c58 sensor response codes
The Elan 04f3:0c58 sensor returns 0xaf during capture which indicates
finger removed or sensor busy. Also 0x00 can occur meaning not ready.
These responses should trigger a retry instead of failing.

To avoid changing behavior for other Elan devices, limit the new retry
logic to the 0x0c58 device type and add a small 10ms delay between
retries.

Additionally, increase calibration attempts from 10 to 30 for 0x0c58
as this sensor needs more time to complete calibration.

Source: https://gitlab.freedesktop.org/libfprint/libfprint/-/work_items/763

Signed-off-by: lichenggang <lichenggang@uniontech.com>

Co-Authored-By: Marco Trevisan (Treviño) <mail@3v1n0.net>
2026-06-17 20:05:02 +02:00
Marco Trevisan (Treviño)
5b01f0b7c1 secugen: Do image processing inside GTask threads
Do not block the main loop to process image data
2026-06-17 19:47:24 +02:00
Marco Trevisan (Treviño)
4a7842347e secugen: Use autopointers 2026-06-17 19:47:24 +02:00
Marco Trevisan (Treviño)
0c34a2b888 secugen: Use device timeout rather than a custom one 2026-06-17 19:47:23 +02:00
Marco Trevisan (Treviño)
3af57e3483 secugen: Check transfers have a minimal lengths 2026-06-17 19:47:23 +02:00