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