hardening(angie): fix 'angie_user: unbound variable' under set -u — init extraction locals to empty; also read source AUR package's /etc/nginx/nginx.conf as alt stock config path
This commit is contained in:
parent
b653191de2
commit
cb0e517a7d
@ -206,17 +206,24 @@ _h_angie_config() {
|
||||
sudo_ install -d -m 0755 "$d/_on" "$d/targets" "$d/modules" "$d/modules/http"
|
||||
|
||||
# ── extract packaging-specific values from the stock angie.conf ──
|
||||
# Angie packages set user/pid/error_log differently per distro; preserve them.
|
||||
local oldcfg="$d/angie.conf" angie_user angie_pid angie_err angie_modules=""
|
||||
if [[ -f "$oldcfg" ]]; then
|
||||
angie_user=$(grep -E '^\s*user\s+' "$oldcfg" | head -1 | awk '{print $2}' | tr -d ';')
|
||||
angie_pid=$(grep -E '^\s*pid\s+' "$oldcfg" | head -1 | awk '{print $2}' | tr -d ';')
|
||||
angie_err=$(grep -E '^\s*error_log\s+' "$oldcfg" | head -1 | awk '{print $2}' | tr -d ';')
|
||||
# Different Angie packages set user/pid/error_log differently (Arch source
|
||||
# package → /etc/nginx/nginx.conf with 'user http'; angie-bin / Debian .deb
|
||||
# → /etc/angie/angie.conf with 'user angie'). Preserve them when present,
|
||||
# fall back to sane defaults otherwise (defaults cover all distros here).
|
||||
local oldcfg="$d/angie.conf"
|
||||
local altcfg="/etc/nginx/nginx.conf" # the source AUR package's path
|
||||
local stock="$oldcfg"
|
||||
[[ -f "$oldcfg" ]] || stock="$altcfg"
|
||||
local angie_user="" angie_pid="" angie_err="" angie_modules=""
|
||||
if [[ -f "$stock" ]]; then
|
||||
angie_user=$(grep -E '^\s*user\s+' "$stock" | head -1 | awk '{print $2}' | tr -d ';')
|
||||
angie_pid=$(grep -E '^\s*pid\s+' "$stock" | head -1 | awk '{print $2}' | tr -d ';')
|
||||
angie_err=$(grep -E '^\s*error_log\s+' "$stock" | head -1 | awk '{print $2}' | tr -d ';')
|
||||
# collect any load_module lines (dynamic modules)
|
||||
angie_modules=$(grep -E '^\s*load_module\s+' "$oldcfg" || true)
|
||||
angie_modules=$(grep -E '^\s*load_module\s+' "$stock" || true)
|
||||
fi
|
||||
# sane defaults if not found
|
||||
[[ -z "$angie_user" ]] && angie_user=$({ [[ "$DISTRO" == "arch" ]] && echo http || echo angie; })
|
||||
[[ -z "$angie_user" ]] && angie_user=$({ [[ "${DISTRO:-}" == "arch" ]] && echo http || echo angie; })
|
||||
[[ -z "$angie_pid" ]] && angie_pid=/run/angie.pid
|
||||
[[ -z "$angie_err" ]] && angie_err=/var/log/angie/error.log
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user