Marco Trevisan (Treviño)
2dec3f57ea
mafpmoc: Use fpi-bytes-writer to build command packet
2026-07-01 17:49:34 +02:00
Marco Trevisan (Treviño)
5395d1d2c5
elanspi: Include fcntl properly
2026-07-01 17:49:34 +02:00
Marco Trevisan (Treviño)
10c0b68549
mafpmoc: Copy the most significant bit of the cmd instead of LSB
...
This was causing the command not to be properly used in big endian archs
2026-07-01 17:49:34 +02:00
Marco Trevisan (Treviño)
47583db988
build: Do not mark secugen endian-dependent
...
The driver works fine in big endian machine
2026-07-01 17:49:34 +02:00
Marco Trevisan (Treviño)
050476e1ba
fpcmoc: Use fpi-byte-{reader,writer} to parse/build the device data
...
In this way we have not endianness limitations
2026-07-01 17:49:34 +02:00
Marco Trevisan (Treviño)
c039ab4754
fpcmoc: Add support to big endian architecture
2026-07-01 14:36:08 +02:00
Marco Trevisan (Treviño)
3e04f15179
build: Use a dict to define drivers build info
...
We used multiple arrays, making things more complicated than we should
with current meson
2026-07-01 14:00:56 +02:00
Marco Trevisan (Treviño)
accbf7828e
virtual-device: Set the finger on the new scanned prints
2026-06-26 13:44:02 +02:00
Marco Trevisan (Treviño)
1fd4024bd0
fp-print: Rely on GBytes to align memory
...
The old workaround is not needed anymore for the GLib version we're
depending on
2026-06-26 13:44:02 +02:00
Marco Trevisan (Treviño)
2d4b1c39e0
virtual-device: Use newer GLib functions
2026-06-26 13:44:02 +02:00
Aelin
a25f71cf97
realtek: Support 3274:9003 Generic Realtek USB2.0 Finger Print Bridge
...
Found in my Medion SPRCHRGD 14 S1 Elite laptop, no further changes are
necessary to get enrollment and verification working.
2026-06-23 16:48:51 +02:00
Marco Trevisan (Treviño)
5dbcb0dfa4
fpi-{usb,spi}: Adjust docs to mention required env variables for logging
2026-06-22 15:22:04 +02:00
Marco Trevisan (Treviño)
3a54e4f837
fpi-log: Add atomic and unique check for FP_DEBUG_TRANSFER
...
Rather than check it all the times the variable, just rely on an atomic
check that is just done once for all
2026-06-22 15:22:04 +02:00
Marco Trevisan (Treviño)
8009a86247
fpi-log: Use single-line hex bytes dump
...
It's easier to parse and copy and also it makes easier to use it with
tools such as python's bytes.fromhex() without reformatting it.
2026-06-22 15:19:30 +02:00
Marco Trevisan (Treviño)
3db8184a30
fpi-log: Add functions to dump bytes
...
Drivers may need to to hex-dumps for debugging purposes, so expose what
we already had in the fpi transfers in the internal API
2026-06-22 15:19:30 +02:00
Marco Trevisan (Treviño)
5cadc90e7a
fpi-ssm: Add checks on parameters validity
2026-06-22 12:50:16 +02:00
Marco Trevisan (Treviño)
d1194070b1
fpi-ssm: Fix typo on docs
2026-06-22 12:49:50 +02:00
Marco Trevisan (Treviño)
92b7ced91c
fpi-ssm: Clarify errors ownership
2026-06-22 12:49:28 +02:00
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 and Marco Trevisan (Treviño)
8d2462dad1
focaltech-moc: Add storage clear for 2808:6553
2026-06-18 18:10:39 +02:00
Petapton and Marco 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