redispass.py draws its password box on the terminal, not in the hook's pipe #6
No reviewers
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Keel-Linux/unit-redis!6
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/redispass-draws-on-the-terminal"
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?
firstboot.d/35redispasscapturesbin/redispass.py's standard output forDB_PASS=, and dialog draws on standard output, so an interactive first boot would freeze with the box drawn into the command substitution: the bug keel-wordpress 19.0-3 hit on Proxmox on 2026-09-30, fixed for dbpass.py in Keel-Linux/keel-mariadb#20.Fix: the same pattern. redispass.py keeps a duplicate of the pipe for the KEY=value answers and points standard output, which dialog inherits, at the terminal the hook checked on standard input (else /dev/tty). Without any terminal it exits with a message naming secrets.db_password instead of a traceback. The hook is unchanged. Version 1.0.3.
Tests:
tests/dialog.batsruns the script as the hook does, output redirected, inside a real pseudo terminal (script(1)), with a libinithooks stand-in whose get_password refuses unless fd 1 is a terminal; it fails on the old code and passes on the new.