Skip to content

Stop planting an unparseable default keyring stub - #9289

Open
fresh3nough wants to merge 1 commit into
omacom:quattrofrom
fresh3nough:fix/issue-9235-default-keyring-stub
Open

Stop planting an unparseable default keyring stub#9289
fresh3nough wants to merge 1 commit into
omacom:quattrofrom
fresh3nough:fix/issue-9235-default-keyring-stub

Conversation

@fresh3nough

Copy link
Copy Markdown

Summary

Fixes #9235.

install/user/default-keyring.sh (and the quattro upgrade path) hand-wrote ~/.local/share/keyrings/Default_keyring.keyring as a plaintext ini stub:

[keyring]
display-name=Default keyring
...

gnome-keyring 50.x cannot parse that format. On every login it logs keyring was in an invalid or unrecognized format, abandons the path, and creates a fresh empty Default_keyring_N.keyring. Secrets stored in the previous session (Chrome Safe Storage, Docker credential helper, etc.) are gone.

Change

  • Seed only the keyrings directory + default pointer; let the daemon create a native keyring on first use.
  • Same change in omarchy-upgrade-to-quattro.
  • Migration 1788139500.sh quarantines existing plaintext stubs (keeps real binary keyrings) and ensures the default pointer exists.

Test plan

  • Old seed plants ASCII stub at Default_keyring.keyring
  • New seed writes only default pointer
  • Migration quarantines stub under omarchy-invalid-stub-backup/
  • ./test/shell.d/default-keyring-test.sh passes
./test/shell.d/default-keyring-test.sh

default-keyring.sh wrote a plaintext ini-style Default_keyring.keyring
that gnome-keyring 50.x cannot parse. On login the daemon abandons it and
creates an empty Default_keyring_N.keyring, wiping Chrome Safe Storage and
Docker credentials every session. Seed only the directory and default
pointer; quarantine existing stubs via migration.

Fixes omacom#9235

Signed-off-by: fresh3nough <anonwurcod@proton.me>
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.

default-keyring.sh writes an unparseable stub keyring, wiping Chrome/Docker secrets on every login

1 participant