diff --git a/src/power.sh b/src/power.sh index 1c2c223..8ea6ff0 100644 --- a/src/power.sh +++ b/src/power.sh @@ -103,19 +103,11 @@ finish() { pid="/var/run/tpm.pid" [ -s "$pid" ] && pKill "$(<"$pid")" - rm -f "$pid" pid="/var/run/wsdd.pid" [ -s "$pid" ] && pKill "$(<"$pid")" - rm -f "$pid" - pid="/var/run/samba/nmbd.pid" - [ -s "$pid" ] && pKill "$(<"$pid")" - rm -f "$pid" - - pid="/var/run/samba/smbd.pid" - [ -s "$pid" ] && pKill "$(<"$pid")" - rm -f "$pid" + fKill "smbd" closeNetwork diff --git a/src/samba.sh b/src/samba.sh index 69ad475..7873b3e 100644 --- a/src/samba.sh +++ b/src/samba.sh @@ -7,30 +7,27 @@ set -Eeuo pipefail tmp="/tmp/smb" rm -rf "$tmp" - -rm -f /var/run/wsdd.pid -rm -f /var/run/samba/nmbd.pid -rm -f /var/run/samba/smbd.pid +rm -rf /var/run/wsdd.pid [[ "$SAMBA" == [Nn]* ]] && return 0 [[ "$NETWORK" == [Nn]* ]] && return 0 +hostname="host.lan" +interfaces="dockerbridge" + +if [ -n "${SAMBA_INTERFACE:-}" ]; then + interfaces+=",$SAMBA_INTERFACE" +fi + if [[ "$DHCP" == [Yy1]* ]]; then - socket="$IP" hostname="$IP" interfaces="$VM_NET_DEV" -else - hostname="host.lan" - case "${NETWORK,,}" in - "passt" | "slirp" ) - interfaces="lo" - socket="127.0.0.1" ;; - *) - socket="$VM_NET_IP" - interfaces="$VM_NET_BRIDGE" ;; - esac - if [ -n "${SAMBA_INTERFACE:-}" ]; then - interfaces+=",$SAMBA_INTERFACE" +fi + +if [[ "${NETWORK,,}" == "user"* ]]; then + interfaces="lo" + if ! ip link set "$interfaces" multicast on >/dev/null; then + warn "Failed to enable multicast on loopback interface!" fi fi @@ -40,7 +37,7 @@ html "Initializing shared folder..." addShare() { local dir="$1" local ref="$2" - local name="$3" + local name="$3" local comment="$4" mkdir -p "$dir" || return 1 @@ -101,7 +98,6 @@ addShare() { echo " follow symlinks = yes" echo " wide links = yes" echo " unix extensions = no" - echo " socket address = $socket" echo "" echo " # disable printing services" echo " load printers = no" @@ -162,11 +158,6 @@ if [[ "$SAMBA_DEBUG" == [Yy1]* ]]; then tail -fn +0 /var/log/samba/log.smbd & fi -case "${NETWORK,,}" in - "user"* | "passt" | "slirp" ) - return 0 ;; -esac - if [[ "${BOOT_MODE:-}" == "windows_legacy" ]]; then # Enable NetBIOS on Windows 7 and lower