Skip to content

stoa-doctor: report faillock lockout, locked keyring, greeter auto-sync - #206

Merged
VictorGSchneider merged 1 commit into
mainfrom
claude/dazzling-mayer-9mlwdr
Oct 22, 2026
Merged

VictorGSchneider merged 1 commit into
mainfrom
claude/dazzling-mayer-9mlwdr

Conversation

@VictorGSchneider

Copy link
Copy Markdown
Owner

Three auth-chain failures that were silent until now become doctor warnings:

  • pam_faillock: counts the user's failed attempts ("V" rows in faillock) against deny from /etc/security/faillock.conf (default 3). Locked → FAIL with the reset command; partial → WARN.
  • Keyring: warns when ~/.local/share/keyrings/default isn't login, when the login collection reports Locked = true over the Secret Service, or when greetd is enabled but /etc/pam.d/greetd doesn't load pam_gnome_keyring. Noctalia seals clipboard pins with a key from the default collection, so any of these makes pins disappear on restart.
  • Greeter auto-sync: parses ~/.local/state/noctalia/settings.toml (TOML, so a table or an inline value both work) for shell.greeter_sync.auto_sync = true. That GUI state overrides config.toml's false, and every wallpaper rotation then shows a pkexec/polkit password prompt. A real machine logged one every ~27 min with interval_seconds = 1800.

enable-stoa-greetd.sh: fixes the comment that said clipboard state under the old default keyring had never been saved. On the machine above, that state held the user's pins (a 2 KB index.enc plus entries). The script still moves the state aside, but now prints where the backup is and which keyring holds its key.

bash tests/run.sh: 14 passed, 3 skipped. I checked the TOML and faillock parsing against sample input.


Generated by Claude Code

Three failures that until now were silent:

- pam_faillock counting failed logins: at `deny` of them sudo, polkit,
  the lock screen and greetd all refuse the right password together.
- The login keyring locked, or another collection as default: Noctalia
  seals clipboard pins with a key from the default collection, so pins
  vanish at the next restart without an error. Also flags a greetd PAM
  stack missing pam_gnome_keyring.
- [shell.greeter_sync] auto_sync = true in Noctalia's GUI state, which
  wins over config.toml and turns every wallpaper rotation into a polkit
  password prompt.

enable-stoa-greetd.sh: correct the claim that clipboard state under the
old default keyring was never persisted. On a real machine it held the
user's pins; say where the backup is and which keyring holds its key.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MN4kDREFU6ZpG9wyDPKuhp
@VictorGSchneider VictorGSchneider self-assigned this Oct 22, 2026
@VictorGSchneider
VictorGSchneider merged commit 7f9d739 into main Oct 22, 2026
3 checks passed
@VictorGSchneider
VictorGSchneider deleted the claude/dazzling-mayer-9mlwdr branch October 22, 2026 00:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants