From afba96b912e32dc5d5571198e3c3102c7b5b5b1c Mon Sep 17 00:00:00 2001 From: Kroese Date: Tue, 18 Mar 2025 19:35:09 +0100 Subject: [PATCH] fix: Samba for user-mode networking (#288) --- src/install.sh | 2 ++ src/samba.sh | 24 +++++++++++++++++++++--- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/install.sh b/src/install.sh index 991fb7a..b4f6773 100644 --- a/src/install.sh +++ b/src/install.sh @@ -628,6 +628,8 @@ updateXML() { local language="$2" local culture region user admin pass keyboard + sed -i "s/ 20.20.20.1 / ${VM_NET_IP%.*}.1 /g" "$asset" + [ -z "$HEIGHT" ] && HEIGHT="720" [ -z "$WIDTH" ] && WIDTH="1280" diff --git a/src/samba.sh b/src/samba.sh index 3a73929..2d96326 100644 --- a/src/samba.sh +++ b/src/samba.sh @@ -14,6 +14,10 @@ if [[ "$DHCP" == [Yy1]* ]]; then interface="$VM_NET_DEV" fi +if [[ "${NETWORK,,}" == "user"* ]]; then + interface="127.0.0.1" +fi + addShare() { local dir="$1" local name="$2" @@ -107,10 +111,24 @@ done if ! smbd; then error "Samba daemon failed to start!" smbd -i --debug-stdout || true +else + if [[ "${NETWORK,,}" == "user"* ]]; then + NET_OPTS="${NET_OPTS/,hostfwd/,guestfwd=tcp:${VM_NET_IP%.*}.1:445-tcp:127.0.0.1:445,hostfwd}" + fi fi -# Enable Web Service Discovery -wsdd -i "$interface" -p -n "$hostname" & -echo "$!" > /var/run/wsdd.pid +[[ "${NETWORK,,}" == "user"* ]] && return 0 + +if [[ "${BOOT_MODE:-}" == "windows_legacy" ]]; then + # Enable NetBIOS on Windows 7 and lower + if ! nmbd; then + error "NetBIOS daemon failed to start!" + nmbd -i --debug-stdout || true + fi +else + # Enable Web Service Discovery on Vista and up + wsdd -i "$interface" -p -n "$hostname" & + echo "$!" > /var/run/wsdd.pid +fi return 0