summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2025-02-20Release 1.94.9HEADv1.94.9masterMarco Trevisan (Treviño)2-1/+16
2025-02-20build: Use fs to get files basenameMarco Trevisan (Treviño)2-3/+3
We can safely bump meson
2025-02-20build: Do not use deprecated features in mesonMarco Trevisan (Treviño)3-7/+18
2025-02-20build: Adapt meson version to requirementsMarco Trevisan (Treviño)1-1/+1
2025-02-20fp-device: Clarify docs about FP_DEVICE_RETRY_TOO_FASTMarco Trevisan (Treviño)1-1/+1
This is an error that is valid also for touch devices, so let's make it more generic in description
2025-02-20tests: Ignore testing external tools with valgrindMarco Trevisan (Treviño)1-0/+3
2025-02-20ci: Install appstream for testing metainfoMarco Trevisan (Treviño)2-1/+2
2025-02-20tests: Validate the generated metainfo if appstreamcli is availableMarco Trevisan (Treviño)1-0/+9
2025-02-20libfprint/fprint-list-metainfo: Generate AppStream metainfoMarco Trevisan (Treviño)2-0/+122
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-20scripts/uncrustify: Use 2-spaces indentation for defines tooMarco Trevisan (Treviño)10-81/+90
2025-02-20examples/clear-storage: Remove local storage for devices without storageMarco Trevisan (Treviño)1-6/+19
2025-02-20examples/storage: Clear storage per deviceMarco Trevisan (Treviño)3-17/+55
We used to clear the whole storage file, but this has to be done per-device, not globally
2025-02-20examples/clear-storage: Cleanup code and use better error handlingMarco Trevisan (Treviño)3-9/+28
2025-02-20Add clear-storage exampleAbhinav Baid4-0/+202
2025-02-20fp-device: Fix introspection warnings in handling closure tagMarco Trevisan (Treviño)1-10/+10
It has to be defined in the callback, not on the data.
2025-02-13goodixmoc/proto: Use a byte-reader to parse the finger IDMarco Trevisan (Treviño)1-37/+41
2025-02-13goodix: Read the header using byte readerMarco Trevisan (Treviño)3-19/+32
2025-02-13ci: Add job testing libfprint using address and undefined sanitizersMarco Trevisan (Treviño)3-1/+20
2025-02-13uru4000: Fix shifting using unsigned typesMarco Trevisan (Treviño)1-3/+3
../libfprint/drivers/uru4000.c:743:35: runtime error: left shift of 138 by 24 places cannot be represented in type 'int' #0 0x7fa3e696e06d in imaging_run_state ../libfprint/drivers/uru4000.c:743 #1 0x7fa3e6a366f6 in __ssm_call_handler ../libfprint/fpi-ssm.c:254 #2 0x7fa3e6a38cc8 in fpi_ssm_next_state ../libfprint/fpi-ssm.c:465 #3 0x7fa3e696bd07 in sm_read_reg_cb ../libfprint/drivers/uru4000.c:515 #4 0x7fa3e6a3db74 in transfer_finish_cb ../libfprint/fpi-usb-transfer.c:352 #5 0x7fa3ed9b9862 in g_task_return_now ../../glib/gio/gtask.c:1363 #6 0x7fa3ed9b989c in complete_in_idle_cb ../../glib/gio/gtask.c:1377 #7 0x7fa3ede4a70b in g_main_dispatch ../../glib/glib/gmain.c:3373 #8 0x7fa3ede4c8de in g_main_context_dispatch_unlocked ../../glib/glib/gmain.c:4224 #9 0x7fa3ede4c8de in g_main_context_iterate_unlocked ../../glib/glib/gmain.c:4289 #10 0x7fa3ede4cfef in g_main_context_iteration ../../glib/glib/gmain.c:4354 #11 0x7fa3e68d4a1b in fp_device_capture_sync ../libfprint/fp-device.c:2048
2025-02-13goodixmoc/proto: Use FpiByteReader to parse the bodyMarco Trevisan (Treviño)3-89/+113
We had some read issues, so let's just use the safer reader that makes things cleaner too ../libfprint/drivers/goodixmoc/goodix_proto.c:418:42: runtime error: load of misaligned address 0x0000115ced29 for type 'uint16_t', which requires 2 byte alignment 0x0000115ced29: note: pointer points here 00 c0 3f 00 21 64 1c 00 00 00 00 64 00 43 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ^ #0 0x7f974ff9e868 in gx_proto_parse_body ../libfprint/drivers/goodixmoc/goodix_proto.c:418 #1 0x7f974ff8ec79 in fp_cmd_receive_cb ../libfprint/drivers/goodixmoc/goodix.c:185 #2 0x7f975003ca0c in transfer_finish_cb ../libfprint/fpi-usb-transfer.c:352 #3 0x7f9756e57862 in g_task_return_now ../../glib/gio/gtask.c:1363 #4 0x7f9756e5789c in complete_in_idle_cb ../../glib/gio/gtask.c:1377 #5 0x7f97577f070b in g_main_dispatch ../../glib/glib/gmain.c:3373 #6 0x7f97577f28de in g_main_context_dispatch_unlocked ../../glib/glib/gmain.c:4224 #7 0x7f97577f28de in g_main_context_iterate_unlocked ../../glib/glib/gmain.c:4289 #8 0x7f97577f2fef in g_main_context_iteration ../../glib/glib/gmain.c:4354 #9 0x7f974fed4656 in fp_device_verify_sync ../libfprint/fp-device.c:1976
2025-02-13goodixmoc: Use FpiByteReader to safely read the device CRCMarco Trevisan (Treviño)1-1/+15
This is was leading to a potential error due to misaligned memory: ../libfprint/drivers/goodixmoc/goodix.c:167:20: runtime error: load of misaligned address 0x00001165c989 for type 'uint32_t', which requires 4 byte alignment 0x00001165c989: note: pointer points here 00 00 00 00 0a ac b3 09 00 00 00 00 00 00 55 53 42 00 00 00 00 00 56 42 53 00 00 00 00 00 30 30 ^ #0 0x7ff3ba98d190 in fp_cmd_receive_cb ../libfprint/drivers/goodixmoc/goodix.c:167 #1 0x7ff3baa3b235 in transfer_finish_cb ../libfprint/fpi-usb-transfer.c:352 #2 0x7ff3c18ca862 in g_task_return_now ../../glib/gio/gtask.c:1363 #3 0x7ff3c18ca89c in complete_in_idle_cb ../../glib/gio/gtask.c:1377 #4 0x7ff3c228470b in g_main_dispatch ../../glib/glib/gmain.c:3373 #5 0x7ff3c22868de in g_main_context_dispatch_unlocked ../../glib/glib/gmain.c:4224 #6 0x7ff3c22868de in g_main_context_iterate_unlocked ../../glib/glib/gmain.c:4289 #7 0x7ff3c2286fef in g_main_context_iteration ../../glib/glib/gmain.c:4354 #8 0x7ff3ba8d2fe5 in fp_device_open_sync ../libfprint/fp-device.c:1874
2025-02-13tests/goodixmoc: Add explicit test on print descriptionMarco Trevisan (Treviño)1-0/+3
So that we can ensure that what we get from device matches
2025-02-13goodix-proto: Do not memcpy NULL valuesMarco Trevisan (Treviño)1-1/+5
../libfprint/drivers/goodixmoc/goodix_proto.c:214:5: runtime error: null pointer passed as argument 2, which is declared to never be null #0 0x7f378839c3e5 in gx_proto_build_package ../libfprint/drivers/goodixmoc/goodix_proto.c:214 #1 0x7f378838fd9e in alloc_cmd_transfer ../libfprint/drivers/goodixmoc/goodix.c:309 #2 0x7f378838ffe4 in goodix_sensor_cmd ../libfprint/drivers/goodixmoc/goodix.c:336 #3 0x7f378839a778 in gx_fp_template_delete_all ../libfprint/drivers/goodixmoc/goodix.c:1602 #4 0x7f37882d3d59 in fp_device_clear_storage ../libfprint/fp-device.c:1820 #5 0x7f37882d50af in fp_device_clear_storage_sync ../libfprint/fp-device.c:2132
2025-02-13goodixmoc: Fix potential invalid shift on integer typeMarco Trevisan (Treviño)1-1/+1
../libfprint/drivers/goodixmoc/goodix_proto.c:111:26: runtime error: left shift of 1 by 31 places cannot be represented in type 'int' #0 0x7f6776799c2e in reflect ../libfprint/drivers/goodixmoc/goodix_proto.c:111 #1 0x7f677679a0f3 in crc32_final ../libfprint/drivers/goodixmoc/goodix_proto.c:147 #2 0x7f677679a3ee in gx_proto_crc32_calc ../libfprint/drivers/goodixmoc/goodix_proto.c:164 #3 0x7f677679d7aa in gx_proto_init_sensor_config ../libfprint/drivers/goodixmoc/goodix_proto.c:464 #4 0x7f6776797b40 in gx_fp_init ../libfprint/drivers/goodixmoc/goodix.c:1415 #5 0x7f67766cc56e in fp_device_open ../libfprint/fp-device.c:866 #6 0x7f67766d2fd4 in fp_device_open_sync ../libfprint/fp-device.c:1872
2025-02-13synaptics: Do not call memcpy with NULL dataMarco Trevisan (Treviño)1-1/+2
../libfprint/drivers/synaptics/bmkt_message.c:260:5: runtime error: null pointer passed as argument 2, which is declared to never be null #0 0x7fd21f154592 in bmkt_compose_message ../libfprint/drivers/synaptics/bmkt_message.c:260 #1 0x7fd21f14596c in synaptics_sensor_cmd ../libfprint/drivers/synaptics/synaptics.c:417 #2 0x7fd21f14d93f in dev_probe ../libfprint/drivers/synaptics/synaptics.c:1329 #3 0x7fd21f0ca61d in device_idle_probe_cb ../libfprint/fp-device.c:375 #4 0x7fd21f21a431 in timeout_dispatch ../libfprint/fpi-device.c:336 #5 0x7fd2269cf70b in g_main_dispatch ../../glib/glib/gmain.c:3373 #6 0x7fd2269d18de in g_main_context_dispatch_unlocked ../../glib/glib/gmain.c:4224 #7 0x7fd2269d18de in g_main_context_iterate_unlocked ../../glib/glib/gmain.c:4289 #8 0x7fd2269d1fef in g_main_context_iteration ../../glib/glib/gmain.c:4354 #9 0x7fd21f0c5a85 in fp_context_enumerate ../libfprint/fp-context.c:575
2025-02-13build/tests: Increase timeout multiplier in valgrindMarco Trevisan (Treviño)1-1/+1
CI is quite slow these days, so let's give valgrind more time
2025-02-13build: Support running tests with memory sanitizersMarco Trevisan (Treviño)2-2/+19
When memory sanitizers are set, tests may fail because we are indirectly LD_PRELOAD'ing (through umockdev). While we could ensure that sanitizer libraries are loaded first, it's just something we don't care because we don't want to test the launcher wrappers themselves. So, let's just ignore the link order and live with it
2025-02-14data: Update unsupported devices listMarco Trevisan (Treviño)2-0/+50
2025-02-14elanspi: Add elanspi PID 0x2766Marco Trevisan (Treviño)1-0/+1
Patch by Z. A. Closes: #571
2025-02-13elanspi: Add elanspi PID 0x3128Marco Trevisan (Treviño)1-0/+1
Patch by Alexey Vishnyakov Closes: #650
2025-02-13goodix: Add support for PID 0x60C2Marco Trevisan (Treviño)2-0/+3
Patch by Sergey Kokorin Closes: #646
2025-02-13realtek: modify the way to store userid in enroll flowhuan_huang1-8/+7
Signed-off-by: huan_huang <huan_huang@realsil.com.cn>
2025-02-13upekts: fix typoMrNerdHair1-1/+1
2025-02-13upekts: handle more retryable verify errorsMrNerdHair1-1/+8
2025-02-13fp-device: add FP_DEVICE_RETRY_TOO_FAST error codeMrNerdHair2-0/+7
2025-02-13upekts: fix verifyMrNerdHair1-2/+2
2025-02-13libfprint.supp: Ignore libusb context init potential leakMarco Trevisan (Treviño)1-0/+9
2025-02-13ci: Use distro-provided umockdevMarco Trevisan (Treviño)1-5/+0
It's new enough nowadays
2025-02-13uru4000: Use OpenSSL to perform AES-ECB encryptionMarco Trevisan (Treviño)6-73/+67
Drop usage of NSS library now that openssl >= 3.0 has not anymore any license incompatibility. OpenSSL will provide us a better ground for further developments and it's also the preferred crypto library by most distros these days
2025-02-13Empty commit to hopefully fix the pipeline.Dadoum0-0/+0
2025-02-13tests/meson: Ignore debug messages when generating hwdbMarco Trevisan (Treviño)1-0/+1
2025-02-13tests/virtual-image: Use sleep multiplier when running under valgrindMarco Trevisan (Treviño)1-0/+3
2025-02-13tests: Do not enable virtual device hot seconds under valgrindMarco Trevisan (Treviño)1-0/+2
Valgrind tests may be slow, leading the devices to be considered hot. We don't disable this for other tests, since we may still want to be sure that the logic is fine for normal usage
2025-02-13virtual-{image, device}: Make hot seconds value to be configurableMarco Trevisan (Treviño)2-0/+28
2025-02-13tests/virtual-image: Do not send images or retries if driver is not waiting ↵Marco Trevisan (Treviño)1-0/+27
finger
2025-02-13virtual-image: Only receive image when waiting for fingerMarco Trevisan (Treviño)1-2/+2
We may send an image when not waiting it, leading to a failure: libfprint-image_device-DEBUG: 00:55:29.669: Image device internal state change from FPI_IMAGE_DEVICE_STATE_DEACTIVATING to FPI_IMAGE_DEVICE_STATE_INACTIVE libfprint-image-DEBUG: 00:55:31.861: Minutiae scan completed in 2.204906 secs libfprint-print-DEBUG: 00:55:56.902: score 1093/40 libfprint-device-DEBUG: 00:55:56.902: Device reported verify result libfprint-device-DEBUG: 00:55:56.902: Device reported verify completion libfprint-device-DEBUG: 00:55:56.903: Updated temperature model after 27.26 seconds, ratio 0.69 -> 0.73, active 1 -> 1, FP_TEMPERATURE_WARM -> FP_TEMPERATURE_HOT libfprint-device-DEBUG: 00:55:56.906: Completing action FPI_DEVICE_ACTION_VERIFY in idle! libfprint-device-DEBUG: 00:55:56.906: Updated temperature model after 0.00 seconds, ratio 0.73 -> 0.73, active 0 -> 0, FP_TEMPERATURE_HOT -> FP_TEMPERATURE_HOT libfprint-device-DEBUG: 00:55:56.910: Updated temperature model after 0.00 seconds, ratio 0.73 -> 0.73, active 1 -> 1, FP_TEMPERATURE_HOT -> FP_TEMPERATURE_HOT libfprint-device-DEBUG: 00:55:56.910: Updated temperature model after 0.00 seconds, ratio 0.73 -> 0.73, active 0 -> 0, FP_TEMPERATURE_HOT -> FP_TEMPERATURE_HOT libfprint-virtual_image-DEBUG: 00:55:56.912: image data: 0xc8f6c10 libfprint-device-DEBUG: 00:55:56.916: Device reported finger status change: FP_FINGER_STATUS_PRESENT libfprint-image_device-DEBUG: 00:55:56.917: Ignoring finger presence report as the device is not active! libfprint-image_device-CRITICAL **: 00:55:56.918: fpi_image_device_image_captured: assertion 'priv->state == FPI_IMAGE_DEVICE_STATE_CAPTURE' failed
2025-02-12Empty commit to hopefully fix the pipeline.Dadoum0-0/+0
2025-02-12Synaptics: add new PID 0x016CDadoum .2-0/+2
2025-02-12Add support for the 10a5:c844 FPC fingerprint reader as found onJohnathon Clark2-0/+3
recent Lenovo Yoga i9 laptops.
2025-02-12add new pid: 0xa99a, 0xa57a, 0xa78awangyong2-0/+6