blob: 27296ca9c5a4a41145c8e12e3c84df6411d61379 (
plain) (
blame)
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
|
#!/bin/sh /etc/rc.common
START=50
BIN=uanytun
DESC=uanytun
RUN_D=/var/run
uanytun() {
local name
name=${2%%.pid}
name=${name##/var/run/uanytun.}
echo "$name" > $2
}
option_cb() {
local varname="$1"
local value="$2"
if ! echo "$CONFIG_OPTIONS" | grep " $varname " > /dev/null; then
CONFIG_OPTIONS="$CONFIG_OPTIONS $varname "
fi
}
foreach_config() {
local cfg="$1"
local name
local option
local value
local DAEMONARGS=""
config_get name "$cfg" TYPE
for option in $CONFIG_OPTIONS
do
config_get value "$cfg" "$option"
if [ "x$option" == "xdisabled" ]; then
if [ $value -eq 1 ]; then
echo -n " $name(disabled)"
return
fi
continue
fi
option=`echo $option | tr '_' '-'`
if [ -n "$value" ]; then
DAEMONARGS="$DAEMONARGS --$option $value"
fi
done
echo -n " $name"
local status="OK"
$BIN --write-pid "$RUN_D/$BIN.$name.pid" $DAEMONARGS || status="failed"
echo -n "($status)"
}
start() {
echo -n "Starting $DESC:"
config_load uanytun
config_foreach foreach_config ""
echo "."
}
stop() {
echo -n "Stopping $DESC:"
local name
local pidfile
for pidfile in `ls $RUN_D/$BIN.*.pid 2> /dev/null`; do
name=${pidfile%%.pid}
name=${name##$RUN_D/$BIN.}
echo -n " $name"
kill `cat $pidfile` || true
rm -f $pidfile
done
echo "."
}
|