4
# Required-Start: $remote_fs $network $named $syslog
5
# Required-Stop: $remote_fs
6
# Default-Start: 2 3 4 5
8
# Short-Description: Start anycast tunneling daemon at boot time
9
# Description: Enables networking over vpn tunnel interfaces
11
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
12
DAEMON=/usr/sbin/uanytun
13
CONFIG_DIR=/etc/uanytun
16
VARRUN_DIR=/var/run/$NAME
18
test -x $DAEMON || exit 0
20
# Include uanytun defaults if available
21
if [ -f /etc/default/uanytun ] ; then
22
. /etc/default/uanytun
27
if [ -f $CONFIG_DIR/$VPNNAME/config ] ; then
29
test -f $CONFIG_DIR/$VPNNAME/post-up.sh && POSTUP="-x $CONFIG_DIR/$VPNNAME/post-up.sh"
30
CHROOTDIR=`grep '^chroot' < $CONFIG_DIR/$VPNNAME/config | sed 's/chroot\s*//'`
31
if [ -n "$CHROOTDIR" ] ; then
32
test -d $CHROOTDIR || mkdir -p $CHROOTDIR
34
test -d $VARRUN_DIR || mkdir -p $VARRUN_DIR
35
DAEMONARG=`sed 's/#.*//' < $CONFIG_DIR/$VPNNAME/config | grep -e '\w' | sed 's/^/--/' | tr '\n' ' '`
36
$DAEMON --write-pid $VARRUN_DIR/$VPNNAME.pid $POSTUP $DAEMONOPTS $DAEMONARG || STATUS="FAILED"
38
STATUS="no config found"
43
kill `cat $PIDFILE` || true
50
echo -n "Starting $DESC:"
51
if test -z "$2" ; then
52
if [ -f $CONFIG_DIR/autostart ] ; then
53
for VPNNAME in `sed 's/#.*//' < $CONFIG_DIR/autostart | grep -e '\w'`; do
58
echo " no config found"
72
echo -n "Stoping $DESC:"
73
if test -z "$2" ; then
74
for PIDFILE in `ls $VARRUN_DIR/*.pid 2> /dev/null`; do
75
VPNNAME=`basename $PIDFILE .pid`
82
if test -e $VARRUN_DIR/$1.pid ; then
83
PIDFILE=`ls $VARRUN_DIR/$1.pid 2> /dev/null`
84
VPNNAME=`basename $PIDFILE .pid`
88
echo -n " (failure: No such tunnel is running: $1)"
95
echo -n "Reloading $DESC:"
96
if test -z "$2" ; then
97
for PIDFILE in `ls $VARRUN_DIR/*.pid 2> /dev/null`; do
98
VPNNAME=`basename $PIDFILE .pid`
106
if test -e $VARRUN_DIR/$1.pid ; then
107
PIDFILE=`ls $VARRUN_DIR/$1.pid 2> /dev/null`
108
VPNNAME=`basename $PIDFILE .pid`
113
echo -n " (failure: No such tunnel is running: $1)"
119
restart|force-reload)
128
echo "Usage: $N {start|stop|restart|reload}" >&2