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
25 . /lib/lsb/init-functions
29 if [ -f $CONFIG_DIR/$VPNNAME/config ] ; then
31 test -f $CONFIG_DIR/$VPNNAME/post-up.sh && POSTUP="-x $CONFIG_DIR/$VPNNAME/post-up.sh"
32 CHROOTDIR=`grep '^chroot' < $CONFIG_DIR/$VPNNAME/config | sed 's/chroot\s*//'`
33 if [ -n "$CHROOTDIR" ] ; then
34 test -d $CHROOTDIR || mkdir -p $CHROOTDIR
36 test -d $VARRUN_DIR || mkdir -p $VARRUN_DIR
37 DAEMONARG=`sed 's/#.*//' < $CONFIG_DIR/$VPNNAME/config | grep -e '\w' | sed 's/^/--/' | tr '\n' ' '`
38 $DAEMON --write-pid $VARRUN_DIR/$VPNNAME.pid $POSTUP $DAEMONOPTS $DAEMONARG || STATUS="FAILED"
40 STATUS="no config found"
45 kill `cat $PIDFILE` || true
52 echo -n "Starting $DESC:"
53 if test -z "$2" ; then
54 if [ -f $CONFIG_DIR/autostart ] ; then
55 for VPNNAME in `sed 's/#.*//' < $CONFIG_DIR/autostart | grep -e '\w'`; do
60 echo " no config found"
74 echo -n "Stoping $DESC:"
75 if test -z "$2" ; then
76 for PIDFILE in `ls $VARRUN_DIR/*.pid 2> /dev/null`; do
77 VPNNAME=`basename $PIDFILE .pid`
84 if test -e $VARRUN_DIR/$1.pid ; then
85 PIDFILE=`ls $VARRUN_DIR/$1.pid 2> /dev/null`
86 VPNNAME=`basename $PIDFILE .pid`
90 echo -n " (failure: No such tunnel is running: $1)"
97 echo -n "Reloading $DESC:"
98 if test -z "$2" ; then
99 for PIDFILE in `ls $VARRUN_DIR/*.pid 2> /dev/null`; do
100 VPNNAME=`basename $PIDFILE .pid`
108 if test -e $VARRUN_DIR/$1.pid ; then
109 PIDFILE=`ls $VARRUN_DIR/$1.pid 2> /dev/null`
110 VPNNAME=`basename $PIDFILE .pid`
115 echo -n " (failure: No such tunnel is running: $1)"
121 restart|force-reload)
130 echo "Usage: $N {start|stop|restart|reload}" >&2