Jichi Zhang
fb13722629
goodixmoc: Add PID 0x650C
2024-03-13 05:16:16 -07:00
Marco Trevisan (Treviño)
666cd0c08d
egismoc: Use FpiByteReader to compute the check bytes
...
We can read the values in the proper format without having to
deal with endianness ourself, so let's do this instead of manual
labor.
2024-02-20 18:07:18 +01:00
Marco Trevisan (Treviño)
e055781006
egismoc: Use FpiByteWriter to allocate the commit payload
2024-02-20 17:57:46 +01:00
Marco Trevisan (Treviño)
48c8c539c7
egismoc: Use FpiByteWriter to generate the get check command
2024-02-20 17:57:46 +01:00
Marco Trevisan (Treviño)
40c7599fb1
egismoc: Compute the delete command using FpiByteWriter
2024-02-20 17:57:46 +01:00
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