]> git.ipfire.org Git - ipfire-2.x.git/blob - src/initscripts/packages/wsdd
68e8f3de004349e13ab67d0cc7f39d65cc28e478
[ipfire-2.x.git] / src / initscripts / packages / wsdd
1 #!/bin/sh
2 ###############################################################################
3 # #
4 # IPFire.org - A linux based firewall #
5 # Copyright (C) 2007-2024 IPFire Team <info@ipfire.org> #
6 # #
7 # This program is free software: you can redistribute it and/or modify #
8 # it under the terms of the GNU General Public License as published by #
9 # the Free Software Foundation, either version 3 of the License, or #
10 # (at your option) any later version. #
11 # #
12 # This program is distributed in the hope that it will be useful, #
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of #
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
15 # GNU General Public License for more details. #
16 # #
17 # You should have received a copy of the GNU General Public License #
18 # along with this program. If not, see <http://www.gnu.org/licenses/>. #
19 # #
20 ###############################################################################
21
22 . /etc/sysconfig/rc
23 . $rc_functions
24
25 eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
26
27 PIDFILE="/var/run/wsdd.pid"
28
29 case "$1" in
30 start)
31 ARGS=(
32 # Launch as non-privileged user
33 "--user" "wsdd:wsdd"
34
35 # Launch in chroot
36 "--chroot" "/var/run/wsdd"
37
38 # Only use IPv4
39 "--ipv4only"
40
41 # Configure the workgroup
42 "--workgroup" "$(testparm -s --parameter-name workgroup 2>/dev/null)"
43 )
44
45 # Conditionally add the GREEN/BLUE interface
46 for intf in GREEN_DEV BLUE_DEV; do
47 if [ -n "${!intf}" ]; then
48 ARGS+=( "--interface" "${!intf}" )
49 fi
50 done
51
52 # Create chroot directory for wsdd
53 mkdir -p /var/run/wsdd
54
55 boot_mesg "Starting Web Service Discovery Host Daemon..."
56 loadproc -b -p "${PIDFILE}" /usr/bin/wsdd "${ARGS[@]}"
57 ;;
58
59 stop)
60 boot_mesg "Stopping Web Service Discovery Host Daemon..."
61 killproc -p "${PIDFILE}" /usr/bin/wsdd
62 ;;
63
64 status)
65 statusproc /usr/bin/wsdd
66 ;;
67
68 restart)
69 $0 stop
70 $0 start
71 ;;
72
73 *)
74 echo "Usage: $0 (start|stop|status|restart)"
75 exit 1
76 ;;
77 esac
78