blob: e2ab9b4e55fb9986e48d4deb6d48cc72dabae9b7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
#!/bin/sh
#
# Startup script for LISa
#
# chkconfig: 345 92 8
# description: Starts and stops the LAN Information Server used \
# to provide a LAN browser.
# processname: lisa
#
# based on rclisa Version 0.1
# 2001 by Marcus Thiesen ([email protected]) for SuSE Linux 7.1
# This is free and comes with absolutely no WARRANTY
# adapted for Mandrake 8.0 by Patrick Alberts ([email protected])
# Updated for Mandrake 9.0 by Buchan Milne ([email protected])
#
### BEGIN INIT INFO
# Provides: lisa
# Required-Start: $network
# Required-Stop: $network
# Default-Start: 3 5
# Short-Description: LISa LAN Information Server
# Description: Starts and stops the LAN Information Server used
# to provide a LAN browser.
### END INIT INFO
CONFIG_FILE=/etc/lisarc
prog="lisa"
# Source function library.
if [ -f /etc/init.d/functions ] ; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
. /etc/rc.d/init.d/functions
else
exit 0
fi
# Get config.
. /etc/sysconfig/network
# Check that networking is up.
if [ ${NETWORKING} = "no" ]
then
exit 0
fi
# check how we were called
case "$1" in
start)
PID=`pidof -s lisa`
if [ -z "$PID" ]; then
if [ -e /opt/kde3/bin/lisa ]; then
#check for config file and generate one if needed:
if [ ! -e $CONFIG_FILE ];then
gprintf "No config file, generating one, please run kcontrol as root to customise\n"
# See http://lisa-home.sourceforge.net/ for more details
# on the config file format.
# PingAddresses/AllowedAddresses should only be route
# entries that are not gateways,loopback or multicast:
IPNMS_ALL=`/sbin/route -n |awk 'BEGIN {ORS=";"};$4=="U"&&$8!="lo"&&$1!~/224.0.0.0/ {print $1"/"$3}'`
# BroadcastNetwork should be only the internal subnet,
# take first route from above:
IPNMS=`/sbin/route -n |awk ' $4=="U"&&$8!="lo"&&$1!~/224.0.0.0/&&$8!~/ppp.*/ {print $1"/"$3}'|head -n1`
echo "SecondWait=-1"> $CONFIG_FILE
echo "SearchUsingNmblookup=1">> $CONFIG_FILE
echo "DeliverUnnamedHosts=0" >>$CONFIG_FILE
echo "FirstWait=30" >> $CONFIG_FILE
echo "MaxPingsAtOnce=256" >>$CONFIG_FILE
echo "UpdatePeriod=300" >> $CONFIG_FILE
#echo "PingAddresses=$IPNMS_ALL">> $CONFIG_FILE
echo "AllowedAddresses=$IPNMS_ALL" >> $CONFIG_FILE
echo "BroadcastNetwork=$IPNMS" >>$CONFIG_FILE
#echo "PingNames=" >> $CONFIG_FILE
fi
if [ -e $CONFIG_FILE ]; then
action "Starting %s: " "$prog" /bin/true
/opt/kde3/bin/lisa -c $CONFIG_FILE >/dev/null 2>&1
else
action "No configuration available, not starting LISa" /bin/false
fi
else
action "Starting %s: binaries not found " "$prog" /bin/false
fi
else
action "Starting %s: already running (%s) " "$PID" "$prog" /bin/false
fi
touch /var/lock/subsys/lisa
;;
stop)
PID=`pidof -s lisa`
if [ "$PID" ]; then
action "Stopping %s: " "$prog" kill -3 $PID
fi
rm -f /var/lock/subsys/lisa
;;
status)
PID=`pidof -s lisa`
if [ "$PID" ]; then
gprintf "%s is running! ($PID)\n" "$prog"
/usr/bin/kill -s SIGUSR1 $PID
sleep 3
else
gprintf "%s is not running!\n" "$prog" ;
fi
;;
restart)
$0 stop && $0 start
;;
refresh)
PID=`pidof -s lisa`
if [ "$PID" ]; then
gprintf "Sending %s a SIGHUP ($PID)\n" "$prog"
kill -SIGHUP $PID;
else
gprintf "%s is not running!\n" "$prog" ;
fi
;;
*)
gprintf "usage: %s {start|stop|status|refresh|restart}\n" $0
;;
esac
exit 0
|