2073 Commits
Author SHA1 Message Date
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
Sid1803andMarco Trevisan (Treviño) 8d2462dad1 focaltech-moc: Add storage clear for 2808:6553 2026-06-18 18:10:39 +02:00
PetaptonandMarco Trevisan 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
‘王毅’andMarco Trevisan (Treviño) e1caa3de3b formatting 2026-06-18 15:47:34 +02:00
王毅andMarco Trevisan (Treviño) beab941894 Modify debugging print interface, modify comments 2026-06-18 15:47:34 +02:00
王毅andMarco Trevisan (Treviño) 7cf358d42a mafpmoc: Support Microarray Inc. series fingerprint sensor PID 8012 2026-06-18 15:47:34 +02:00
lichenggangandMarco Trevisan (Treviño) 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
Marco Trevisan (Treviño) 726cf8a515 secugen: Protect against invalid fw_data
This fixes an issue detected by scan build
2026-06-17 19:47:23 +02:00
Jared VacantiandMarco Trevisan (Treviño) 5b34908a21 Add driver for SecuGen Hamster Pro 20
Add support for the SecuGen Hamster Pro 20 (1162:2200), a 500 DPI
press-type optical scanner built around the SIDO020A sensor.

The protocol was reverse-engineered from USB packet captures. The
sensor is configured over I2C-tunneled vendor control transfers and
streams 956x688 raw frames over the bulk endpoint, read in 64KB
chunks so the standard pcap-based test tooling can record full
frames (the kernel usbmon interface truncates single URBs at
ring_size/5). Frames are processed with band compensation, an
edge-aware unsharp mask, a fixed-point bilinear downsample to
300x400, flat-field blending and directional sharpening, driven by
per-device factory calibration data read from the device firmware.
The fixed-point pipeline keeps the output bit-identical across
compilers and architectures for the image comparison test.

The sensor has no proximity hardware and its GET_STATUS request
always returns zeros, so finger presence is detected by polling
preview frames and comparing the mean brightness of the central
region against a calibration background frame.

Includes a umockdev capture/replay test with a reference image.

Closes: https://gitlab.freedesktop.org/libfprint/libfprint/-/work_items/353
2026-06-17 19:47:23 +02:00
Marco Trevisan (Treviño) 732dbe855e fprint-list-metainfo: Update the bug tracker URI 2026-06-17 19:36:59 +02:00
Mikko NymanandMarco Trevisan (Treviño) 0dc384b90e focaltech_moc: add new pid:0xA97A 2026-06-11 19:08:52 +02:00
Harshith GokaandMarco Trevisan (Treviño) e43137c760 feat: Add support for Goodix device 0x27C6:0x6984
It includes autosuspend configuration.
2026-06-11 18:08:30 +02:00
Daniel SchaeferandMarco Trevisan 20f5ce682e tests: /usr/bin/env shebang
Not all distros have /usr/bin/python3. Using env is more portable.

Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2026-06-11 15:47:32 +00:00
Daniel SchaeferandMarco Trevisan 8a2123ce6a fpcmoc: Avoid dead-store
Fixes the CI test_scan_build

libfprint/drivers/fpcmoc/fpc.c:275 — [deadcode.DeadStores]
warning: Value stored to 'data' during its initialization is never read
  CommandData *data = fpi_ssm_get_data (ssm);

Signed-off-by: Daniel Schaefer <dhs@frame.work>
2026-06-11 15:40:46 +00:00
Marco Trevisan (Treviño) 7111218427 docs: Address various issues leading to wrong docs 2026-06-11 15:15:48 +02:00
Marco Trevisan (Treviño) 58a40bb4a3 ci/scan-build: Exclude the full path of the build dir
The tool runs in the build dir as cwd, but let' make this clearer
2026-06-11 15:10:36 +02:00
Marco Trevisan (Treviño) 7c5d1b454d ci: Do pages job also on new tag 2026-06-11 15:10:30 +02:00
Marco Trevisan (Treviño) e40f9825fd ci: Also export docs in pages 2026-06-11 15:10:24 +02:00
Marco Trevisan (Treviño) ed1b18e687 ci: Use upstream image all the times 2026-06-11 15:10:16 +02:00
Daniel SchaeferandDaniel Schaefer 710735efdd examples/clear-storage: Clarify default as N
Pressing enter, selects N(o), make that obvious by capitalizing N
instead of Y.

Signed-off-by: Daniel Schaefer <git@danielschaefer.me>
2026-06-11 14:24:56 +08:00