fingerprintd/interfaces
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jorijn van der Graaf 93d7f96a63 Drop two fields nobody needed: session was a no-op, and no-unlock is the finger
Jorijn caught both.

`session` declared nothing. The FingerMatched signal is emitted for every
matched finger unconditionally -- it never consulted the config -- so a
`session` line was a rule the format invited you to write that did exactly
nothing. Announcing every finger is the right default anyway: a session agent
should not need a root-owned file to declare its interest in a signal it is
free to ignore. The column is gone.

Which leaves the config for the two things that really do need the daemon, and
with `session` gone the verdict column had no partner left to vary against. It
read as a property of the finger while being a property of the attempt, so it
is now written as what it is:

    <finger>  [no-unlock]  [absolute command...]

no-unlock says the finger never unlocks; a command is what root runs. At least
one is required, because a finger listed alone says nothing the signal does not
already say -- and that is a parse error rather than a silently useless line.

The example config now also states plainly what no-unlock is not. It is a panic
button, not deniability: the rejection it fabricates comes back in milliseconds
where a real one takes about three seconds, the journal records that the finger
actually matched, the file names the finger in plain text, and the finger still
shows as enrolled. Both of those weaknesses are real and neither is fixed here.
2026-09-05 05:23:40 +02:00
..
Fingerprintd-Actions.cppm Drop two fields nobody needed: session was a no-op, and no-unlock is the finger 2026-09-05 05:23:40 +02:00
Fingerprintd-Engine.cppm Hold, do not tap -- and stop spending the verdict on a frame that cannot carry it 2026-09-05 00:17:13 +02:00
Fingerprintd-Rpmb.cppm Port the RPMB listener's wire format, guard included 2026-09-02 16:48:57 +02:00
Fingerprintd-Sensor.cppm Own the sensor rail, and run the init chain against it 2026-09-02 18:24:12 +02:00
Fingerprintd-Sfs.cppm Initial commit: the gpfile wire format, pinned by two real containers 2026-09-02 16:02:46 +02:00
Fingerprintd-Store.cppm Drop the gid 60 compatibility path 2026-09-02 17:28:47 +02:00
Fingerprintd-Ta.cppm Delete a finger's template, not just its name 2026-09-05 04:27:14 +02:00
Fingerprintd-Tee.cppm Reach QTEE: credentials, client env and the app loader, with no QCBOR 2026-09-02 18:02:28 +02:00
Fingerprintd.cppm Give a finger a meaning beyond "it was you" 2026-09-05 05:12:41 +02:00