diff --git a/package/network/utils/wireguard-tools/files/wireguard.sh b/package/network/utils/wireguard-tools/files/wireguard.sh index 78a432a8d1..8226c327da 100644 --- a/package/network/utils/wireguard-tools/files/wireguard.sh +++ b/package/network/utils/wireguard-tools/files/wireguard.sh @@ -112,16 +112,10 @@ ensure_key_is_generated() { local private_key private_key="$(uci get network."$1".private_key)" - if [ "$private_key" == "generate" ]; then - local ucitmp - oldmask="$(umask)" - umask 077 - ucitmp="$(mktemp -d)" + if [ "$private_key" = "generate" ] || [ -z "$private_key" ]; then private_key="$("${WG}" genkey)" - uci -q -t "$ucitmp" set network."$1".private_key="$private_key" && \ - uci -q -t "$ucitmp" commit network - rm -rf "$ucitmp" - umask "$oldmask" + uci -q set network."$1".private_key="$private_key" && \ + uci -q commit network fi }