Commit Graph

1816 Commits

Author SHA1 Message Date
Marco Trevisan (Treviño)
28c26c7d7e egismoc: Use FpiByteReader to read the enrolled IDs 2024-02-20 17:57:46 +01:00
Marco Trevisan (Treviño)
dd5a71695f egismoc: Use FpiByteWriter to prepare the command message 2024-02-20 17:57:46 +01:00
Marco Trevisan (Treviño)
977d324970 egismoc: Do not store twice the number of enrolled IDs
We already store it in the array, so let's just use that value
2024-02-20 17:57:46 +01:00
Marco Trevisan (Treviño)
4992110829 fpi-byte-writer: Zero-init the allocated data by default
This could have been done via fill method + pos reset, but it's just
something we normally want to do for safety, so let's do it all the
times.
2024-02-20 17:57:46 +01:00
Marco Trevisan (Treviño)
53f2539b6a fpi-byte-writer: Use nicer API to unset the parent data 2024-02-20 17:57:46 +01:00
Marco Trevisan (Treviño)
18e2906d62 fpi-byte-writer: Initialize the parent size when initializing with size 2024-02-20 17:57:46 +01:00
Marco Trevisan (Treviño)
19806546a2 fpi-byte-writer: Add change pos method
It allows to move the position of the cursor with a relative position.
2024-02-20 17:57:46 +01:00
Marco Trevisan (Treviño)
75559415fe fpi-byte-writer/reader: Add autopointers definitions 2024-02-20 17:57:46 +01:00
Marco Trevisan (Treviño)
7dbb21e77a build/tests: Skip a test if the test requires it during inspection
In case we don't have dependencies, we should skip the test, otherwise
we can just fail at test time
2024-02-20 08:25:53 +01:00
Marco Trevisan (Treviño)
4b72f27de6 build: Look for sh just once 2024-02-20 08:22:42 +01:00
Marco Trevisan (Treviño)
5ada931ede ci: Export coverage to pages
So that we can link it outside
2024-02-20 01:55:11 +01:00
Marco Trevisan (Treviño)
bebe8565cd Release 1.94.7 v1.94.7 2024-02-20 01:09:54 +01:00
Marco Trevisan (Treviño)
5501dc7b47 build: Stop using deprecated dep.get_pkgconfig_variable() method
Use generic get_variable() instead
2024-02-20 01:02:00 +01:00
Marco Trevisan (Treviño)
3e5ab6fdad egismoc: Convert value check values to big endian only when needed
Since the driver seem to require a big-endian value it's just better
to use architecture native endianness to compute the check value and
eventually just convert to big endian as the chip wants.
2024-02-19 23:38:40 +01:00
Marco Trevisan (Treviño)
5462db9901 egismoc: Convert the check value to little endian
In this way we can support the big-endian architectures too.
2024-02-19 23:38:40 +01:00
Marco Trevisan (Treviño)
59dc585ccd egismoc: Simplify check bytes computation
We use big endian values for generating the check bytes, but we can do
the same logic in a simpler way.
2024-02-19 23:38:40 +01:00
Marco Trevisan (Treviño)
6768bd0ff4 egismoc: Use strictly sized types to hold check bytes contents
So we are sure about the size we're sending at compile time too.
2024-02-19 23:38:40 +01:00
Marco Trevisan (Treviño)
ed1815c3d9 build: Allow testing more drivers in both big and little endian
I've tested them in a s390x host and many more tests work fine, so let's
enable them.
2024-02-19 23:38:40 +01:00
Marco Trevisan (Treviño)
057c209beb build: Build-depend on glib 2.68
GLib 2.68 is now more than 3 years old, so we can definitely start
using it without thinking too much.

This allows us to drop lots of compat code that we had around.

And like the previous commit tells us, it will also help us to have
more correct code around.
2024-02-19 22:23:02 +01:00
Marco Trevisan (Treviño)
90c4afded4 cleanup: Use non-const pointers for non constant cases
We had various cases in which we were using const pointers for
non constant data, and in fact we were allocating and free'ing
them.

So let's handle all these case properly, so that we won't have
newer GLib complaining at us!
2024-02-19 22:14:14 +01:00
Marco Trevisan (Treviño)
f8f28a066b egismoc: Simplify fingerprint id and firmware reading
We can do copy and duplicate in oneshot since we are handling strings
after all.
2024-02-19 17:25:21 +01:00
Marco Trevisan (Treviño)
adc66edd8d egismoc: Implement suspension properly
In case of suspension we can't just cancel the operations but
also return when completed, and this may not happen immediately
if there are ongoing operations.

This is automagically handled by libfprint internals, but in order
to make it happen, we need to cancel the ongoing operations and then
mark it completed. libfprint will then wait for the task completion
before actually marking the device as suspended.
2024-02-19 17:21:58 +01:00
Marco Trevisan (Treviño)
9af211cc89 egismoc: Use device cancellable on transfers 2024-02-19 17:12:12 +01:00
Marco Trevisan (Treviño)
904bddd988 egismoc: Use g_new0 instead of g_malloc to make the type clearer 2024-02-19 17:12:12 +01:00
Marco Trevisan (Treviño)
8badfa84e9 egismoc: Assert that current transfer is unset when setting it
We need to ensure that we are not overwriting the instance transfer, so
that we can be sure that we are only doing one transfer at time.

Also we need to ensure that the ssm unsetting it, is the owner of it.
2024-02-19 17:12:12 +01:00
Marco Trevisan (Treviño)
b97efa6fed egismoc: Assert that task ssm is unset when setting it
We need to ensure that we are not overwriting the instance SSM, so that
we can be sure that we are only doing one operation at time.

Also we need to ensure that the task unsetting it, is the owner of it.
2024-02-19 17:12:12 +01:00
Joshua Grisham
591f9ad3cf egismoc: clear task pointers also after dev_init_done 2024-02-19 17:12:12 +01:00
Marco Trevisan (Treviño)
6767cd1a4f egismoc: Ensure that the command callback is after SSM is completed
We need to make sure that we won't trigger a callback when a SSM is
already in progress or we may end up overwriting it
2024-02-19 17:12:12 +01:00
Marco Trevisan (Treviño)
226b6abfab egismoc: Use an autopointer to cleanup error on command done callback 2024-02-19 17:12:12 +01:00
Marco Trevisan (Treviño)
9e2c14d64e egismoc: Clarify delete print ownership in delete callback 2024-02-19 17:12:12 +01:00
Marco Trevisan (Treviño)
92aeb53ee8 egismoc: Simplify egismoc identification stage handling 2024-02-19 17:12:12 +01:00
Marco Trevisan (Treviño)
87f68e3ac1 egismoc: Avoid gotos in init code, just handle the errors immediately 2024-02-19 17:12:12 +01:00
Marco Trevisan (Treviño)
8073a5dc34 egismoc: Remove unused increments
This is also to please static analyzer
2024-02-19 17:12:12 +01:00
Marco Trevisan (Treviño)
eb09156244 egismoc: Clear enrolled IDs using nicer GLib api 2024-02-19 17:12:12 +01:00
Marco Trevisan (Treviño)
b8cfb95b49 egismoc: Ensure we've enough null bytes at the end of strings 2024-02-19 17:12:12 +01:00
Marco Trevisan (Treviño)
a7843add0f egismoc: Do not initialize to zero twice 2024-02-19 17:12:12 +01:00
Marco Trevisan (Treviño)
b0f0322726 egismoc: Indentation and syntax fixes 2024-02-19 17:12:12 +01:00
Marco Trevisan (Treviño)
7476faba68 data, libfprint: Update list of unsupported drivers 2024-02-19 16:16:02 +01:00
Joshua Grisham
89ab54794e egismoc: added test and capture for 05a1 variant 2024-02-19 16:16:02 +01:00
Joshua Grisham
85da0e104b egismoc: add support for 1c7a:05a1 2024-02-19 16:16:02 +01:00
Joshua Grisham
47fe3668e4 egismoc: Return truncated text instead of null for description when using list 2024-02-19 16:16:02 +01:00
Joshua Grisham
7aae2181e2 egismoc: Add support for usernames longer than 8 chars 2024-02-19 16:16:02 +01:00
Joshua Grisham
a9269980eb egismoc: Fix crash during close 2024-02-19 16:16:02 +01:00
Joshua Grisham
0b9a64331f Initial commit of egismoc driver 2024-02-19 16:16:02 +01:00
Adam Jones
54ff730f0c Fix typo of libfprint in supported devices list
This also updates the title of the website page at https://fprint.freedesktop.org/supported-devices.html
2024-02-13 16:13:10 +00:00
Marco Trevisan (Treviño)
e05fbaa8ab realtek: Do not initialize variables in switch cases
Handles scan-build warning
2024-02-13 14:54:42 +00:00
Marco Trevisan (Treviño)
61f9346aaf realtek: Do not leak an error
Found by scan-build.
2024-02-13 14:54:42 +00:00
Marco Trevisan (Treviño)
d878148b5e ci: Expose scan build artifacts on failures
That's the only case we care about
2024-02-13 14:54:42 +00:00
Marco Trevisan (Treviño)
ee509c7ee6 libfprint/fprint-list-udev-hwdb: Update unsupported list from wiki 2024-02-13 15:28:53 +01:00
Marco Trevisan (Treviño)
2fa0975dec cleanup: Address some newer uncrustify syntax cleanups 2024-02-13 15:25:15 +01:00