Skip to content

wordpress.py draws its password boxes on the terminal, not in the hook's pipe - #14

Merged
marcos-mendez merged 1 commit into
masterfrom
fix/wordpress-draws-on-the-terminal
Sep 30, 2026
Merged

marcos-mendez merged 1 commit into
masterfrom
fix/wordpress-draws-on-the-terminal

Conversation

@marcos-mendez

Copy link
Copy Markdown
Collaborator

An interactive first boot of keel-wordpress 19.0-3 on Proxmox (2026-09-30) froze at a password box. firstboot.d/40wordpress reads bin/wordpress.py's standard output for APP_PASS= and DB_PASS=, and dialog draws on standard output, so the box is drawn into the hook's pipe. Same bug and same fix as Keel-Linux/keel-mariadb#20.

Fix: wordpress.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.app_password and secrets.db_password instead of a traceback. The hook is unchanged.

Tests: tests/dialog.bats runs 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. Also checked on the test LXC with the real dialog and libinithooks: all four boxes (two passwords, two confirmations) appear on the screen and the answers file holds exactly APP_PASS= and DB_PASS=.

…e hook's pipe

40wordpress reads wordpress.py's standard output for APP_PASS= and DB_PASS=, and dialog draws on standard output, so an interactive first boot froze with the box drawn into the pipe (the same bug as keel-mariadb#20, keel-wordpress 19.0-3 on Proxmox, 2026-09-30). The answers go to a duplicate of that pipe and standard output becomes the terminal the hook checked on standard input, else /dev/tty; without either the script names the instance description fields instead of a traceback. tests/dialog.bats runs the script as the hook does inside script(1) and fails on the old code.
@marcos-mendez
marcos-mendez merged commit d35d4ae into master Sep 30, 2026
3 checks passed
@marcos-mendez
marcos-mendez deleted the fix/wordpress-draws-on-the-terminal branch September 30, 2026 04:56
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.

1 participant