[EPIC-21] Daemon enrollment session management for biometric factors #24

Closed
opened 2026-07-29 10:58:49 +02:00 by elegos · 0 comments
Owner

Summary

The D-Bus methods Enroll, EnrollFinish, and EnrollCancel currently return NotSupported (see crates/linux-hello-daemon/src/dbus.rs:61–83). The enrollment UI (linux-hello-enroll) is fully implemented and calls these methods — but hits daemon stubs at runtime for all session-based factors (face, fingerprint, FIDO2).

What needs to be implemented

  • Session lifecycle management (HashMap<Uuid, EnrollSession> in daemon state)
  • ProviderEnrollment trait in linux-hello-core with begin / finalize / cancel
  • Per-provider implementations in linux-hello-face, linux-hello-fido2, linux-hello-fingerprint
  • New D-Bus signals: EnrollStep, EnrollPoseRequired, EnrollFrame, EnrollPoseCaptured, EnrollPoseRetry, EnrollComplete, EnrollError, SubmitEnrollData method
  • Polkit actions: enroll-self, enroll-other
  • Session timeout cleanup (5 min inactivity)

Design

HLD: docs/lld/enrollment-session.md

Before implementation, write the full LLD and update docs/ARCHITECTURE.md implementation status in the dependency graph.

## Summary The D-Bus methods `Enroll`, `EnrollFinish`, and `EnrollCancel` currently return `NotSupported` (see `crates/linux-hello-daemon/src/dbus.rs:61–83`). The enrollment UI (`linux-hello-enroll`) is fully implemented and calls these methods — but hits daemon stubs at runtime for all session-based factors (face, fingerprint, FIDO2). ## What needs to be implemented - Session lifecycle management (`HashMap<Uuid, EnrollSession>` in daemon state) - `ProviderEnrollment` trait in `linux-hello-core` with `begin / finalize / cancel` - Per-provider implementations in `linux-hello-face`, `linux-hello-fido2`, `linux-hello-fingerprint` - New D-Bus signals: `EnrollStep`, `EnrollPoseRequired`, `EnrollFrame`, `EnrollPoseCaptured`, `EnrollPoseRetry`, `EnrollComplete`, `EnrollError`, `SubmitEnrollData` method - Polkit actions: `enroll-self`, `enroll-other` - Session timeout cleanup (5 min inactivity) ## Design HLD: `docs/lld/enrollment-session.md` Before implementation, write the full LLD and update `docs/ARCHITECTURE.md` implementation status in the dependency graph.
elegos added this to the Foundation project 2026-07-29 10:59:36 +02:00
elegos removed this from the Foundation project 2026-07-29 10:59:42 +02:00
elegos added this to the Foundation project 2026-07-29 11:00:01 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
elegos/linux-hello#24
No description provided.