diff --git a/ct/runner.sh b/ct/runner.sh index 3911b36..7323256 100644 --- a/ct/runner.sh +++ b/ct/runner.sh @@ -35,8 +35,10 @@ DEFAULT_RAM="6144" # ── Validierung (Review-Finding 80): Werte wandern in die Deploy-Env und in # systemd/argv — strikte Zeichenklassen, Re-Prompt statt Abbruch. -# Nutzt prompt_validated/require_valid aus build.func, sobald vorhanden -# (K-114/PR #5); bis dahin lokale Fallbacks mit identischer Semantik. ────── +# Bewusst LOKALE Validatoren: die Libs werden zur Laufzeit von main geladen, +# dieses Script muss aber unabhängig vom Merge-Stand der K-114-Helfer +# (prompt_validated/require_valid) funktionieren. Semantik ist identisch; +# Konsolidierung auf die build.func-Helfer ist als Follow-up notiert. ────── _valid_url() { [[ "$1" =~ ^https?://[A-Za-z0-9.-]+(:[0-9]{1,5})?$ ]]; } _valid_token() { [[ "$1" =~ ^[A-Za-z0-9_-]{16,128}$ ]]; } _valid_word() { [[ "$1" =~ ^[A-Za-z0-9._:,-]+$ ]]; } @@ -45,9 +47,10 @@ _prompt_until_valid() { # var prompt default validator secret(0|1) local __var="$1" __prompt="$2" __default="$3" __validator="$4" __secret="${5:-0}" __val while true; do if [[ "$__secret" == "1" ]]; then - read -rsp "$__prompt" __val; echo + read -rsp "$__prompt" __val || { echo; msg_err "Eingabe abgebrochen (EOF)"; exit 1; } + echo else - read -rp "$__prompt" __val + read -rp "$__prompt" __val || { echo; msg_err "Eingabe abgebrochen (EOF)"; exit 1; } fi __val="${__val:-$__default}" if [[ -n "$__val" ]] && "$__validator" "$__val"; then