File: init.d

package info (click to toggle)
vtun 3.0.4-2
  • links: PTS
  • area: main
  • in suites: bookworm, bullseye
  • size: 1,520 kB
  • sloc: ansic: 4,180; sh: 2,814; yacc: 536; lex: 195; makefile: 139
file content (102 lines) | stat: -rw-r--r-- 3,357 bytes parent folder | download | duplicates (5)
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
#!/bin/sh -e
# vim:ts=4:sw=4:et:ai:sts=4:filetype=sh
### BEGIN INIT INFO
# Provides:          vtun
# Required-Start:    $remote_fs $syslog $network
# Required-Stop:     $remote_fs $syslog $network
# Default-Start:     2 3 4 5
# Default-Stop:      
# Short-Description: virtual tunnel over TCP/IP networks
### END INIT INFO
# Runlevels 0 and 6 removed from Default-Stop as the script only kills the
# daemon and that can be done by sendsigs, as sugested by Peter Reinholdtsen.

PATH=/bin:/usr/bin:/sbin:/usr/sbin
DAEMON=/usr/sbin/vtund
NAME=vtun
DESC="virtual tunnel daemon"
CONFFILE=/etc/vtund.conf
PIDPREFIX=/var/run/vtund

test -f $DAEMON || exit 0
test -f $CONFFILE || exit 0

. /lib/lsb/init-functions

# Include defaults if available
if [ -f /etc/default/$NAME ] ; then
        . /etc/default/$NAME
fi

mkdir -p /var/run/vtund /var/lock/vtund

case "$1" in
    start)
        if [ -f /etc/vtund-start.conf ]; then
            log_warning_msg "/etc/vtund-start.conf has been replaced!"
            if [ -e /usr/share/doc/vtun/NEWS.Debian.gz ]; then
                log_warning_msg "Please read /usr/share/doc/vtun/NEWS.Debian.gz"
            else
                log_warning_msg "Please read /usr/share/doc/vtun/NEWS.Debian"
            fi
        fi
        SOMETHING_STARTED=0
        if [ -n "$RUN_SERVER" ] && [ "$RUN_SERVER" != no ]; then
            log_daemon_msg "Starting $DESC server " "$NAME"
            start-stop-daemon --start --startas $DAEMON --oknodo \
                --pidfile $PIDPREFIX.server.pid -- -s $SERVER_ARGS
            log_end_msg $?
            SOMETHING_STARTED=1
        fi
        for i in 0 1 2 3 4 5 6 7 8 9; do
            eval name=\$CLIENT${i}_NAME
            eval host=\$CLIENT${i}_HOST
            eval args=\$CLIENT${i}_ARGS
            if [ -n "$name" ] && [ -n "$host" ]; then
                log_daemon_msg "Starting $DESC client $name to $host " "$NAME"
                start-stop-daemon --start --startas $DAEMON --oknodo \
                    --pidfile $PIDPREFIX.$name-$host.pid -- $name $host $args
                log_end_msg $?
                SOMETHING_STARTED=1
            fi
        done
        if [ "$SOMETHING_STARTED" -eq 0 ]; then
            log_failure_msg "$NAME disabled, please adjust the configuration to your needs "
            log_failure_msg "and then set RUN_SERVER to 'yes' or configure a client in "
            log_failure_msg "/etc/default/$NAME to enable it."
            exit 0
        fi
        ;;
    stop)
        for i in $PIDPREFIX*.pid; do
            test -f "$i" || continue
            log_daemon_msg "Stopping $DESC" "$NAME"
            start-stop-daemon --oknodo --stop --pidfile $i
            rm -f $i
        done
        ;;
    status)
    for i in 0 1 2 3 4 5 6 7 8 9; do
        eval name=\$CLIENT${i}_NAME
        eval host=\$CLIENT${i}_HOST
        status_of_proc -p $PIDPREFIX.$name-$host.pid $DAEMON vtund && e$
    done
    ;;
    reload|force-reload)
        echo "Reloading vtund.";
        for i in $PIDPREFIX*.pid; do
            test -f "$i" || continue
            start-stop-daemon --oknodo --stop --signal 1 --pidfile $i;
        done
        ;;
    restart)
        $0 stop
        sleep 1;
        $0 start
        ;;
    *)
        echo "Usage: $0 {start|stop|restart|reload|status|force-reload}" >&2
        exit 1
        ;;
esac
exit 0