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
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
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
Marco Trevisan (Treviño)
732dbe855e
fprint-list-metainfo: Update the bug tracker URI
2026-06-17 19:36:59 +02: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
Marco Trevisan (Treviño)
6a71e039a1
egis_etu905: Double-check that the identified ID is part of the enrolled list
2026-06-10 10:14:51 +02:00
Marco Trevisan (Treviño)
06ad44bc1d
egis_etu905: Improve the identify callback data reading
2026-06-10 10:14:51 +02:00
Marco Trevisan (Treviño)
c0a9811053
egis_etu905: Do not try to continue a failed SSM
2026-06-10 10:14:51 +02:00
Marco Trevisan (Treviño)
5b51f9c8cc
egis_etu905: Sanitize print data parsing
2026-06-10 10:14:51 +02:00
Marco Trevisan (Treviño)
65c3dcb1eb
egis_etu905: Avoid potential wrong memory accesses
2026-06-10 10:14:51 +02:00
Marco Trevisan (Treviño)
c6f9f094af
egis_etu905: drop unused sid field
...
We read it but we never use it
2026-06-10 10:14:51 +02:00
Marco Trevisan (Treviño)
4b8f46f1f9
egis_etu905: Use fpi-bytes-reader to get the firmware string
2026-06-10 10:14:51 +02:00
Marco Trevisan (Treviño)
42f0b96c10
egis_etu905: Rely on default device cancellable for all the actions
...
I don't see a reason why we should rely on a different cancellable for
interrupts, but happy to learn more about this
2026-06-10 10:14:51 +02:00
Marco Trevisan (Treviño)
12af25d43b
egis_etu905: Set short error using function
2026-06-10 10:14:51 +02:00
Marco Trevisan (Treviño)
f5806825de
egis_etu905: Remove unused variable
2026-06-10 10:14:51 +02:00
Marco Trevisan (Treviño)
fdbc9ee655
egis_etu905: Remove unused transfer
2026-06-10 10:14:51 +02:00
Marco Trevisan (Treviño)
c216f04dd1
egis_etu905: Do not leak the transfer buffer
...
The buffer is now owned by the data, so we should not steal it when
passing it around or we'll leak.
2026-06-10 10:14:51 +02:00
Marco Trevisan (Treviño)
9d4e7fc87b
fpi-usb-transfer: Wrap g_error_new arguments
2026-06-08 14:45:40 +02:00
Marco Trevisan (Treviño)
e7c80e748e
fpi-usb-transfer: Add missing definition of set_short_error()
...
It was in the header but not implemented
2026-06-08 14:45:40 +02:00
Marco Trevisan (Treviño)
f6a8cae5b4
fpi-byte-reader: Add support to read to a static buffer
...
This works through macros when the size of a buffer is statically
defined
2026-06-08 12:44:44 +00:00
Marco Trevisan (Treviño)
dc48ab8b40
fpi-byte-reader: Add support to read and get/peek GBytes
2026-06-08 12:44:44 +00:00
Marco Trevisan (Treviño)
14763d29cf
fpi-byte-writer: Add APIs to write and get GBytes
...
It makes it handier to handle data elements without having to keep size
and data separated
2026-06-08 12:44:44 +00:00
Marco Trevisan (Treviño)
9c140036e9
doc: Include Binary buffer I/O section for the byte reader/writer
2026-06-08 12:44:44 +00:00
Marco Trevisan (Treviño)
e8c55c5939
data/autosuspend.hwdb: Sync with unsupported devices wiki
2026-02-10 05:41:06 +00:00
Marco Trevisan (Treviño)
fedb62f091
ci: Make jobs interrumpible
2026-02-10 06:35:26 +01:00
Marco Trevisan (Treviño)
cc41f805f2
tests/valgrind-python.supp: Ignore PyGObject leaks
...
They are unrelated to fprint itself, so let's ignore them
2026-02-10 06:33:00 +01:00
Marco Trevisan (Treviño)
1ee7df6cf2
ci: Add PyGObject symbols
2026-02-10 06:33:00 +01:00
Marco Trevisan (Treviño)
3f43c9356c
build: Ignore -Werror=unused-but-set-variable for nbis
2026-02-10 06:33:00 +01:00
Marco Trevisan (Treviño)
0c97a47d8e
Release 1.94.10
2026-02-10 03:18:14 +01:00
Marco Trevisan (Treviño)
b069c78348
fpcmoc: Do not leak the interrupt cancellable
...
g_set_object adds a reference already so we need to cleanup the original
reference first if we do not want to leak it
2025-12-09 20:37:34 +01:00
Marco Trevisan (Treviño)
bd7c745b02
ci: Use rawhide for testing again
...
Reverts commit: 9141014456
2025-12-06 03:17:52 +01:00
Marco Trevisan (Treviño)
aa010b5c3b
fp-device: Clarify getter for open property
2025-12-06 03:17:52 +01:00
Marco Trevisan (Treviño)
a9c6621119
focaltech_moc: add new pid:0xA27A
2025-12-06 01:39:32 +00:00
Marco Trevisan (Treviño)
c2988ae33d
drivers: Do not use Fp-prefix for driver-specific types
...
It's a libfprint specific prefix, so let's avoid confusion.
2025-12-06 01:09:38 +00:00
Marco Trevisan (Treviño)
9a4faf378e
libfprint: Use fatal-warnings on g-i-scanner
...
Be strict on introspection checks, so that we are sure to do the things
properly.
2025-12-06 01:03:51 +00:00
Marco Trevisan (Treviño)
a7448fbb4a
ci: Only run pages step on push events
2025-08-01 01:47:17 +02:00
Marco Trevisan (Treviño)
f84ab3d104
gcovr: Add gcovr project configuration
...
And mark suspicious hits as warnings instead of failures
2025-08-01 01:42:01 +02:00
Marco Trevisan (Treviño)
dc8b05f0a3
Release 1.94.9
2025-02-20 18:41:27 +01:00
Marco Trevisan (Treviño)
c37da8568f
build: Use fs to get files basename
...
We can safely bump meson
2025-02-20 18:41:27 +01:00
Marco Trevisan (Treviño)
e401fc10e8
build: Do not use deprecated features in meson
2025-02-20 18:28:15 +01:00
Marco Trevisan (Treviño)
db48d1a4e4
build: Adapt meson version to requirements
2025-02-20 18:28:15 +01:00
Marco Trevisan (Treviño)
d1504a30b7
fp-device: Clarify docs about FP_DEVICE_RETRY_TOO_FAST
...
This is an error that is valid also for touch devices, so let's make it
more generic in description
2025-02-20 17:20:03 +01:00
Marco Trevisan (Treviño)
7208b29756
tests: Ignore testing external tools with valgrind
2025-02-20 15:50:46 +00:00
Marco Trevisan (Treviño)
e9dbfbec39
ci: Install appstream for testing metainfo
2025-02-20 15:50:46 +00:00
Marco Trevisan (Treviño)
c6ca915067
tests: Validate the generated metainfo if appstreamcli is available
2025-02-20 15:50:46 +00:00
Marco Trevisan (Treviño)
385bc5e384
libfprint/fprint-list-metainfo: Generate AppStream metainfo
...
UI tools can use this information to see what package provides support
for specific devices, so let's provide the data since we have it.
2025-02-20 15:50:46 +00:00
Marco Trevisan (Treviño)
ee73d67765
scripts/uncrustify: Use 2-spaces indentation for defines too
2025-02-20 15:50:46 +00:00
Marco Trevisan (Treviño)
4dd51f38c7
examples/clear-storage: Remove local storage for devices without storage
2025-02-20 16:37:11 +01:00
Marco Trevisan (Treviño)
5b300edbe5
examples/storage: Clear storage per device
...
We used to clear the whole storage file, but this has to be done
per-device, not globally
2025-02-20 16:35:58 +01:00
Marco Trevisan (Treviño)
817281f6fd
examples/clear-storage: Cleanup code and use better error handling
2025-02-20 16:35:58 +01:00
Marco Trevisan (Treviño)
fa5828f8c0
fp-device: Fix introspection warnings in handling closure tag
...
It has to be defined in the callback, not on the data.
2025-02-20 14:34:13 +01:00
Marco Trevisan (Treviño)
fc3effd73b
goodixmoc/proto: Use a byte-reader to parse the finger ID
2025-02-13 23:51:52 +00:00
Marco Trevisan (Treviño)
63b5908f38
goodix: Read the header using byte reader
2025-02-13 23:51:52 +00:00