X-Git-Url: https://git.syn-net.org/debian/?a=blobdiff_plain;f=etc%2Finit.d%2Fanytun;h=6905c67c6f3a7fc0643be713ef6bf23d88444e8c;hb=1793ae80499cd294db66051a0ff03ba714b09ac3;hp=6953b5df52b9d6b1b3741f67a658e2466789cbb8;hpb=18a5d80801239856d94fcb4e960c68a4bff93f30;p=anytun.git diff --git a/etc/init.d/anytun b/etc/init.d/anytun index 6953b5d..6905c67 100755 --- a/etc/init.d/anytun +++ b/etc/init.d/anytun @@ -1,8 +1,8 @@ #! /bin/sh ### BEGIN INIT INFO # Provides: anytun -# Required-Start: $network $named $syslog -# Required-Stop: +# Required-Start: $remote_fs $network $named $syslog +# Required-Stop: $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start anycast tunneling daemon at boot time @@ -16,7 +16,7 @@ NAME=anytun DESC=anytun CONFIG_DIR=/etc/anytun VARCONFIG_DIR=/var/run/anytun-controld -VARRUN_DIR=/var/run/anytun +VARRUN_DIR=/var/run/$NAME/ test -x $DAEMON || exit 0 @@ -36,7 +36,8 @@ start_vpn () { fi test -d $VARRUN_DIR || mkdir -p $VARRUN_DIR DAEMONARG=`sed 's/#.*//' < $CONFIG_DIR/$NAME/config | grep -e '\w' | sed 's/^/--/' | tr '\n' ' '` - $DAEMON --write-pid /var/run/uanytun.$NAME.pid $POSTUP $DAEMONOPTS $DAEMONARG || STATUS="FAILED" + $DAEMON --write-pid $VARRUN_DIR/$NAME.pid $POSTUP \ + $DAEMONOPTS $DAEMONARG || STATUS="FAILED" else STATUS="no config found" fi @@ -54,12 +55,13 @@ start_configd () { test -d $VARCONFIG_DIR || mkdir -p $VARCONFIG_DIR chmod 700 $VARCONFIG_DIR rm -f $VARCONFIG_DIR/$NAME 2>/dev/null + KDPRF=`sed 's/#.*//' < $CONFIG_DIR/$NAME/config | grep -e 'kd-prf' | sed 's/^/ --/' | xargs echo` for CLIENTNAME in `ls $CONFIG_DIR/$NAME/conf.d`; do echo -n " ($CLIENTNAME)" DAEMONARG=`sed 's/#.*//' < $CONFIG_DIR/$NAME/conf.d/$CLIENTNAME | grep -e '\w' | sed 's/^/ --/' | xargs echo` - $ANYTUNCONFIG $DAEMONARG >> $VARCONFIG_DIR/$NAME + $ANYTUNCONFIG $DAEMONARG $CIPHER $AUTHALGO $KDPRF >> $VARCONFIG_DIR/$NAME done - CONTROLHOST=`sed 's/#.*//' < $CONFIG_DIR/$NAME/config | grep -e 'control-host' | sed 's/^/ --/'` + CONTROLHOST=`sed 's/#.*//' < $CONFIG_DIR/$NAME/config | grep -e 'control-host' | sed 's/^/ --/' | xargs echo` $CONTROLDAEMON -f $VARCONFIG_DIR/$NAME $DAEMONOPTS $CONTROLHOST \ --write-pid $VARCONFIG_DIR/$NAME.pid # rm -f $VARCONFIG_DIR/$NAME @@ -67,7 +69,7 @@ start_configd () { } stop_configd () { if [ -d $CONFIG_DIR/$NAME/conf.d ] ; then - echo -n " ($NAME)" + echo -n " ($NAME-controlld)" kill `cat $VARCONFIG_DIR/$NAME.pid` || true rm $VARCONFIG_DIR/$NAME.pid fi @@ -101,7 +103,7 @@ case "$1" in echo -n "Stoping $DESC:" if test -z "$2" ; then for PIDFILE in `ls $VARRUN_DIR/*.pid 2> /dev/null`; do - NAME=`echo $PIDFILE | cut -c17-` + NAME=`basename $PIDFILE` NAME=${NAME%%.pid} echo -n " $NAME" stop_vpn @@ -111,7 +113,7 @@ case "$1" in [ -z "$1" ] && break if test -e $VARRUN_DIR/$1.pid ; then PIDFILE=`ls $VARRUN_DIR/$1.pid 2> /dev/null` - NAME=`echo $PIDFILE | cut -c17-` + NAME=`basename $PIDFILE` NAME=${NAME%%.pid} echo -n " $NAME" stop_vpn @@ -126,7 +128,7 @@ case "$1" in echo -n "Reloading $DESC:" if test -z "$2" ; then for PIDFILE in `ls $VARRUN_DIR/*.pid 2> /dev/null`; do - NAME=`echo $PIDFILE | cut -c17-` + NAME=`basename $PIDFILE` NAME=${NAME%%.pid} echo -n " $NAME" if [ -d $CONFIG_DIR/$NAME/conf.d ] ; then @@ -142,7 +144,7 @@ case "$1" in [ -z "$1" ] && break if test -e $VARRUN_DIR/$1.pid ; then PIDFILE=`ls $VARRUN_DIR/$1.pid 2> /dev/null` - NAME=`echo $PIDFILE | cut -c17-` + NAME=`basename $PIDFILE` NAME=${NAME%%.pid} echo -n " $NAME" if [ -d $CONFIG_DIR/$NAME/conf.d ] ; then @@ -163,7 +165,7 @@ case "$1" in echo -n "Restarting $DESC:" if test -z "$2" ; then for PIDFILE in `ls $VARRUN_DIR/*.pid 2> /dev/null`; do - NAME=`echo $PIDFILE | cut -c17-` + NAME=`basename $PIDFILE` NAME=${NAME%%.pid} echo -n " $NAME" stop_vpn @@ -175,7 +177,7 @@ case "$1" in [ -z "$1" ] && break if test -e $VARRUN_DIR/$1.pid ; then PIDFILE=`ls $VARRUN_DIR/$1.pid 2> /dev/null` - NAME=`echo $PIDFILE | cut -c17-` + NAME=`basename $PIDFILE` NAME=${NAME%%.pid} echo -n " $NAME" stop_vpn