feat: complete session preferences and PAM fixture gates
This commit is contained in:
@@ -10,8 +10,11 @@ Latchd is written in Rust. The old Go prototype is kept in `legacy/go/` for refe
|
||||
- Shows password, account-expiry, locked-account, and faillock status without replacing PAM's decision.
|
||||
- Runs PAM password changes for accounts that require a new password before login.
|
||||
- Lets you switch users and sessions without leaving the login screen.
|
||||
- Remembers each account's last successful session choice in a root-owned state file.
|
||||
- Finds X11 and Wayland desktop entries and can include a TTY shell.
|
||||
- Starts sessions with a cleared, explicit environment and drops privileges before running the user process.
|
||||
- Registers the selected desktop, session type, seat, and VT with PAM/logind,
|
||||
then imports only approved PAM runtime values into the user session.
|
||||
- Records user sessions with UTMPX when the platform provides it.
|
||||
- Provides a Ratatui TUI with filtering, keyboard help, refresh, notifications, wallpaper, and reduced-motion support.
|
||||
- Runs safely in preview mode for UI work and configuration checks.
|
||||
@@ -72,7 +75,8 @@ The complete example is in [`extra/config.toml`](extra/config.toml). Important s
|
||||
|
||||
- `[accounts]` controls NSS discovery, the faillock helper, faillock policy, and `/etc/shadow` account-age checks.
|
||||
- `[x11]` and `[wayland]` select desktop-entry and administrator script directories.
|
||||
- `[environment_switcher]` controls session choices and the optional TTY shell.
|
||||
- `[environment_switcher]` controls session choices, the optional TTY shell,
|
||||
and the owner-checked last-session preference file.
|
||||
- `[visual]` controls wallpaper size, animation, notifications, and reduced motion.
|
||||
- `[power_controls]` contains absolute program paths and argv arrays. Commands are never passed through a shell.
|
||||
|
||||
@@ -107,6 +111,7 @@ make check
|
||||
make audit
|
||||
make docker-test
|
||||
make integration-test
|
||||
make pam-fixture-test # runs when root is available; otherwise reports SKIP
|
||||
make system-e2e
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user