From 0c8c9bef986ccd7c9e424b08641e618cf91073f0 Mon Sep 17 00:00:00 2001 From: zawz Date: Fri, 16 Apr 2021 15:39:21 +0200 Subject: [PATCH] modify self update mitigation --- src/main.sh | 2 +- src/upgrade.sh | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/main.sh b/src/main.sh index 58c34d7..0d5aade 100644 --- a/src/main.sh +++ b/src/main.sh @@ -139,4 +139,4 @@ deploy) *) usage && exit 1 ;; esac -[ -n "$_self_update" ] && gen_self_update && _ZPKG_SELF_UPGRADE=y exec "$_tmpzpkg" -R install zpkg +[ -n "$_self_update" ] && do_self_update diff --git a/src/upgrade.sh b/src/upgrade.sh index da72672..2a9278b 100644 --- a/src/upgrade.sh +++ b/src/upgrade.sh @@ -42,11 +42,10 @@ upgrade_package() ## self upgrading mitigation unset _self_update -gen_self_update() +do_self_update() { _tmpzpkg="$TMPDIR/zpkg_bin_$(random_string 5)" # copy current file cp "$0" "$_tmpzpkg" || return $? - # make new script self-delete - echo 'rm -f "$0"' >> "$_tmpzpkg" + exec sh -c '_ZPKG_SELF_UPGRADE=y "$1" -R install zpkg ; rm -f "$1"' sh "$_tmpzpkg" }