From 2ba756260fd79ef7104809ae52bf1a780ad9a34b Mon Sep 17 00:00:00 2001 From: Kroese Date: Mon, 6 Jul 2026 23:33:34 +0200 Subject: [PATCH] fix: Sanitize guest hostname (#1222) --- src/network.sh | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/network.sh b/src/network.sh index 2bbc890..a290fcd 100644 --- a/src/network.sh +++ b/src/network.sh @@ -14,7 +14,7 @@ set -Eeuo pipefail : "${MTU:="${VM_NET_MTU:-}"}" : "${TAP:="${VM_NET_TAP:-dsm}"}" : "${MAC:="${VM_NET_MAC:-${MAC:-}}"}" -: "${HOST:="${VM_NET_HOST:-VirtualDSM}"}" +: "${HOST:="${VM_NET_HOST:-$APP}"}" : "${BRIDGE:="${VM_NET_BRIDGE:-docker}"}" : "${MASK:="${VM_NET_MASK:-255.255.255.0}"}" @@ -1149,6 +1149,20 @@ validateMask() { return 0 } +validateHost() { + + HOST="${HOST//[^A-Za-z0-9-]/-}" + HOST=$(echo "$HOST" | sed 's/^-*//;s/-*$//;s/--*/-/g') + + if [ -z "$HOST" ]; then + HOST="$APP" + HOST="${HOST//[^A-Za-z0-9-]/-}" + HOST=$(echo "$HOST" | sed 's/^-*//;s/-*$//;s/--*/-/g') + fi + + return 0 +} + validateAddresses() { # DHCP/macvtap mode can work without a detectable container IPv4 address, @@ -1372,6 +1386,7 @@ prepareNetwork() { validateInterface validateMask + validateHost detectAddresses validateAddresses