From 6bcd5e917f698a4fa9f6a41e16f11e44cec41169 Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 22 May 2024 23:22:27 +0200 Subject: [PATCH] Update install.sh --- src/install.sh | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/install.sh b/src/install.sh index 56095dd..0cd7a5c 100644 --- a/src/install.sh +++ b/src/install.sh @@ -607,7 +607,7 @@ updateXML() { local asset="$1" local language="$2" - local culture region admin pass keyboard + local culture region user admin pass keyboard culture=$(getLanguage "$language" "culture") @@ -631,22 +631,24 @@ updateXML() { sed -i "s/0409:00000409<\/InputLocale>/$keyboard<\/InputLocale>/g" "$asset" fi - if [ -n "$USERNAME" ]; then - sed -i "s/Docker<\/Name>/$USERNAME<\/Name>/g" "$asset" - sed -i "s/where name=\"Docker\"/where name=\"$USERNAME\"/g" "$asset" - sed -i "s/Docker<\/FullName>/$USERNAME<\/FullName>/g" "$asset" - sed -i "s/Docker<\/Username>/$USERNAME<\/Username>/g" "$asset" + user=$(echo "$USERNAME" | sed 's/[^[:alnum:]@!._-]//g') + + if [ -n "$user" ]; then + sed -i "s/Docker<\/Name>/$user<\/Name>/g" "$asset" + sed -i "s/where name=\"Docker\"/where name=\"$user\"/g" "$asset" + sed -i "s/Docker<\/FullName>/$user<\/FullName>/g" "$asset" + sed -i "s/Docker<\/Username>/$user<\/Username>/g" "$asset" fi if [ -n "$PASSWORD" ]; then pass=$(printf '%s' "${PASSWORD}Password" | iconv -f utf-8 -t utf-16le | base64 -w 0) admin=$(printf '%s' "${PASSWORD}AdministratorPassword" | iconv -f utf-8 -t utf-16le | base64 -w 0) - sed -i "s/password<\/Value>/${admin//=/\=}<\/Value>/g" "$asset" + sed -i "s/password<\/Value>/$admin<\/Value>/g" "$asset" sed -i "s/true<\/PlainText>/<PlainText>false<\/PlainText>/g" "$asset" - sed -z "s/<Password>...........<Value \/>/<Password>\n <Value>${pass//=/\=}<\/Value>/g" -i "$asset" - sed -z "s/<Password>...............<Value \/>/<Password>\n <Value>${pass//=/\=}<\/Value>/g" -i "$asset" - sed -z "s/<AdministratorPassword>...........<Value \/>/<AdministratorPassword>\n <Value>${admin//=/\=}<\/Value>/g" -i "$asset" - sed -z "s/<AdministratorPassword>...............<Value \/>/<AdministratorPassword>\n <Value>${admin//=/\=}<\/Value>/g" -i "$asset" + sed -z "s/<Password>...........<Value \/>/<Password>\n <Value>$pass<\/Value>/g" -i "$asset" + sed -z "s/<Password>...............<Value \/>/<Password>\n <Value>$pass<\/Value>/g" -i "$asset" + sed -z "s/<AdministratorPassword>...........<Value \/>/<AdministratorPassword>\n <Value>$admin<\/Value>/g" -i "$asset" + sed -z "s/<AdministratorPassword>...............<Value \/>/<AdministratorPassword>\n <Value>$admin<\/Value>/g" -i "$asset" fi return 0