From 43c19f2cce73f3e1ce595c8ba29be9d8c1410941 Mon Sep 17 00:00:00 2001 From: "l.kirchner" Date: Fri, 12 Jun 2026 15:27:45 +0200 Subject: [PATCH] =?UTF-8?q?fix(runner):=20Re-Review-Nits=20=E2=80=94=20irr?= =?UTF-8?q?ef=C3=BChrenden=20Validator-Kommentar=20korrigiert,=20EOF-Abbru?= =?UTF-8?q?ch=20in=20Prompt-Loop?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ct/runner.sh | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) 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