Эх сурвалжийг харах

fix: curl|sh sudo re-exec via temp file; Invercargill-Json clone from fabrica (not sr.ht)

clanker 1 долоо хоног өмнө
parent
commit
4c2cd55f0f

+ 11 - 0
installer/compile.sh

@@ -111,6 +111,17 @@ cat > "$HEADER_FILE" << SCRIPT_HEADER
 # Version: $VERSION
 # Generated: $(date -u +"%Y-%m-%d %H:%M:%S UTC")
 
+# Handle curl | sh with sudo re-exec: when piped, \$0 isn't a re-readable
+# file, so capture the remaining script from stdin into a temp file and
+# re-exec that with sudo (this guard must run before any other code so
+# the pipe hasn't been fully consumed yet)
+if [[ \$EUID -ne 0 && ! -f "\$0" ]]; then
+    _usm_tmp=\$(mktemp /tmp/usm-install.XXXXXX.sh)
+    cat > "\$_usm_tmp"
+    chmod +x "\$_usm_tmp"
+    exec sudo bash "\$_usm_tmp" "\$@"
+fi
+
 set -e
 
 SCRIPT_HEADER

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 1609 - 0
installer/install-usm.sh


Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно