Comprehensive bugfix for issues found during code audit: 1. parse_match_result (CRITICAL): Replace dead while loop + hardcoded offsets with proper TLV dict parsing (tag LE16 + len LE16 + data) matching python-validity's parse_dict(). Extracts user_dbid (tag 1), subtype (tag 3), and hash (tag 4) from match result. 2. ENROLL_CREATE_USER (CRITICAL): Fix NULL user_id crash — g_uuid_string_random() now generates UUID for user identity instead of passing NULL to g_variant_new_string(). 3. Identify gallery matching: Match sensor result against gallery by comparing finger subtype instead of always returning first entry. 4. Field abuse: Add dedicated enroll_user_dbid field to FpiDeviceValidity instead of reusing delete_storage_dbid for enrollment state. 5. Delete SSM: Full implementation — enumerate users via get_user_storage, iterate users to find matching finger subtype, delete via cmd 0x48 (del_record). Proper error handling for missing records. 6. match_finger double allocation: Remove redundant 12-byte alloc/free, single clean 13-byte allocation per python-validity format. 7. clear_storage: Full SSM implementation — enumerate user storage, del_record for each user. Replaces NOT_SUPPORTED stub. 8. Clean stale TODO/placeholder comments. All 37 tests pass (0 fail, 2 skip — unchanged baseline). |
||
|---|---|---|
| .ci | ||
| .gitlab-ci | ||
| data | ||
| demo | ||
| doc | ||
| examples | ||
| libfprint | ||
| scripts | ||
| tests | ||
| .git-blame-ignore-revs | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| AUTHORS | ||
| code-of-conduct.md | ||
| COPYING | ||
| gcovr.cfg | ||
| HACKING.md | ||
| INSTALL | ||
| MAINTAINERS | ||
| meson.build | ||
| meson_options.txt | ||
| NEWS | ||
| README.md | ||
| THANKS | ||
History
LibFPrint was originally developed as part of an academic project at the University Of Manchester.
It aimed to hide the differences between consumer fingerprint scanners and provide a single uniform API to application developers.
Goal
The ultimate goal of the FPrint project is to make fingerprint scanners widely and easily usable under common Linux environments.
License
Section 6 of the license states that for compiled works that use
this library, such works must include LibFPrint copyright notices
alongside the copyright notices for the other parts of the work.
LibFPrint includes code from NIST's NBIS software distribution.
We include Bozorth3 from the US Export Controlled distribution, which we have determined to be fine being shipped in an open source project.
Get in touch
- IRC -
#fprint@irc.oftc.net - Matrix -
#fprint:matrix.orgbridged to the IRC channel - MailingList - low traffic, not much used these days