pinentry: the curses fallback fails on a real tty #127
Labels
No labels
approved
bug
changes-requested
ci
decision
declined
discuss
docs
feature
meta
now
packaging
refactor
release
repo/core
repo/krystal
repo/plugins
repo/themes
status/backlog
status/in-progress
status/next
status/review
ux
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
joshquinlan/donbox#127
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
During the cutover, signing from a tty with GPG_TTY exported still ended in "No pinentry"; only --pinentry-mode loopback worked. donbox-pinentry decides shell reachability and execs pinentry-curses when the shell is absent, so either the reachability probe hangs without a session bus, the exec loses the tty, or the Assuan OPTION ttyname handshake is not forwarded to the curses child. Reproduce on a tty with the shell stopped:
GPG_TTY=$(tty) gpg -u <key> --clearsign -o /dev/null <<< test; fix the fallback so a bare console can always answer a passphrase prompt, and add a suite case feeding OPTION ttyname before GETPIN.