From 0b76df438470977010b2548082237febc7991448 Mon Sep 17 00:00:00 2001 From: Jesse Norell <jesse@kci.net> Date: Wed, 23 Dec 2015 16:28:49 -0500 Subject: [PATCH] use mktemp in update scripts to avoid race conditions --- server/scripts/update_from_dev.sh | 20 ++++++++++++++++---- server/scripts/update_from_tgz.sh | 30 +++++++++++++++++------------- 2 files changed, 33 insertions(+), 17 deletions(-) diff --git a/server/scripts/update_from_dev.sh b/server/scripts/update_from_dev.sh old mode 100644 new mode 100755 index 98adb17..fe2f6ef --- a/server/scripts/update_from_dev.sh +++ b/server/scripts/update_from_dev.sh @@ -1,17 +1,29 @@ #!/bin/bash -cd /tmp -rm -f ispconfig3-dev.tar.gz +{ + umask 0077 \ + && tmpdir=`mktemp -dt "$(basename $0).XXXXXXXXXX"` \ + && test -d "${tmpdir}" \ + && cd "${tmpdir}" +} || { + echo 'mktemp failed' + exit 1 +} + wget -O ispconfig3-dev.tar.gz "http://git.ispconfig.org/ispconfig/ispconfig3/repository/archive.tar.gz?ref=master" -rm -rf ispconfig3-master* tar xzf ispconfig3-dev.tar.gz + +echo -n "Latest git version: " +ls -1d ispconfig3-master* cd ispconfig3-master*/install + php -q \ -d disable_classes= \ -d disable_functions= \ -d open_basedir= \ update.php + cd /tmp -rm -rf /tmp/ispconfig3-master* /tmp/ispconfig3-dev.tar.gz +rm -rf "${tmpdir}" exit 0 diff --git a/server/scripts/update_from_tgz.sh b/server/scripts/update_from_tgz.sh index 7d59e40..9dcf52d 100644 --- a/server/scripts/update_from_tgz.sh +++ b/server/scripts/update_from_tgz.sh @@ -1,11 +1,14 @@ #!/bin/bash -cd /tmp - -if [ -f ISPConfig-3-stable.tar.gz ] -then -rm -f ISPConfig-3-stable.tar.gz -fi +{ + umask 0077 \ + && tmpdir=`mktemp -dt "$(basename $0).XXXXXXXXXX"` \ + && test -d "${tmpdir}" \ + && cd "${tmpdir}" +} || { + echo 'mktemp failed' + exit 1 +} wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz if [ -f ISPConfig-3-stable.tar.gz ] @@ -13,14 +16,15 @@ tar xvfz ISPConfig-3-stable.tar.gz cd ispconfig3_install/install/ php -q \ - -d disable_classes= \ - -d disable_functions= \ - -d open_basedir= \ - update.php - rm -rf /tmp/ispconfig3_install/install - rm -f ISPConfig-3-stable.tar.gz + -d disable_classes= \ + -d disable_functions= \ + -d open_basedir= \ + update.php + cd /tmp + rm -rf "${tmpdir}" else echo "Unable to download the update." + exit 1 fi -exit 0 \ No newline at end of file +exit 0 -- Gitblit v1.9.1