mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-24 01:42:58 +02:00
samba: Integrate wsdd initscript into samba initscript - bug#13445
- This integrates the wsdd initscript functions into the samba initscript. When samba is started or stopped or the status requested then wsdd is part of that process. - Tested in my vm testbed and confirmed to work for start, stop and status. Confirmed pid's shown with status command are in the appropriate pid files. Fixes: bug#13445 Tested-by: Adolf Belka <adolf.belka@ipfire.org> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org> Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
committed by
Michael Tremer
parent
896ae6eaac
commit
b1e521c8f1
@@ -2,7 +2,7 @@
|
||||
###############################################################################
|
||||
# #
|
||||
# IPFire.org - A linux based firewall #
|
||||
# Copyright (C) 2007-2022 IPFire Team <info@ipfire.org> #
|
||||
# Copyright (C) 2007-2024 IPFire Team <info@ipfire.org> #
|
||||
# #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
@@ -30,6 +30,8 @@ function fix_permissions() {
|
||||
mkdir -p /var/run/samba/{nmbd,ncalrpc,winbindd}
|
||||
}
|
||||
|
||||
eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
fix_permissions
|
||||
@@ -42,6 +44,35 @@ case "$1" in
|
||||
|
||||
boot_mesg "Starting winbind..."
|
||||
loadproc /usr/sbin/winbindd
|
||||
|
||||
# Arguments for wsdd command
|
||||
ARGS=(
|
||||
# Launch as non-privileged user
|
||||
"--user" "wsdd:wsdd"
|
||||
|
||||
# Launch in chroot
|
||||
"--chroot" "/var/run/wsdd"
|
||||
|
||||
# Only use IPv4
|
||||
"--ipv4only"
|
||||
|
||||
# Configure the workgroup
|
||||
"--workgroup" "$(testparm -s --parameter-name workgroup 2>/dev/null)"
|
||||
)
|
||||
|
||||
# Conditionally add the GREEN/BLUE interface
|
||||
for intf in GREEN_DEV BLUE_DEV; do
|
||||
if [ -n "${!intf}" ]; then
|
||||
ARGS+=( "--interface" "${!intf}" )
|
||||
fi
|
||||
done
|
||||
|
||||
# Create chroot directory for wsdd
|
||||
mkdir -p /var/run/wsdd
|
||||
|
||||
PIDFILE="/var/run/wsdd.pid"
|
||||
boot_mesg "Starting Web Service Discovery Host Daemon..."
|
||||
loadproc -b -p "${PIDFILE}" /usr/bin/wsdd "${ARGS[@]}"
|
||||
;;
|
||||
|
||||
stop)
|
||||
@@ -53,6 +84,10 @@ case "$1" in
|
||||
|
||||
boot_mesg "Stopping winbind..."
|
||||
killproc /usr/sbin/winbindd
|
||||
|
||||
PIDFILE="/var/run/wsdd.pid"
|
||||
boot_mesg "Stopping Web Service Discovery Host Daemon..."
|
||||
killproc -p "${PIDFILE}" /usr/bin/wsdd
|
||||
;;
|
||||
|
||||
reload)
|
||||
@@ -76,6 +111,9 @@ case "$1" in
|
||||
statusproc /usr/sbin/nmbd
|
||||
statusproc /usr/sbin/smbd
|
||||
statusproc /usr/sbin/winbindd
|
||||
|
||||
PIDFILE="/var/run/wsdd.pid"
|
||||
statusproc /usr/bin/wsdd
|
||||
;;
|
||||
|
||||
*)
|
||||
|
||||
Reference in New Issue
Block a user