X-Git-Url: https://git.syn-net.org/debian/?a=blobdiff_plain;f=etc%2Finit.d%2Fanytun;h=6905c67c6f3a7fc0643be713ef6bf23d88444e8c;hb=1793ae80499cd294db66051a0ff03ba714b09ac3;hp=d0299d4cbbb3e769c9e2cfc71fd09849d52636c5;hpb=058ae090a970436caec3b3059e9e18b310dd6b0d;p=anytun.git diff --git a/etc/init.d/anytun b/etc/init.d/anytun index d0299d4..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,6 +16,7 @@ NAME=anytun DESC=anytun CONFIG_DIR=/etc/anytun VARCONFIG_DIR=/var/run/anytun-controld +VARRUN_DIR=/var/run/$NAME/ test -x $DAEMON || exit 0 @@ -33,8 +34,9 @@ start_vpn () { if [ -n "$CHROOTDIR" ] ; then test -d $CHROOTDIR || mkdir -p $CHROOTDIR 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/anytun.$NAME.pid $POSTUP \ + $DAEMON --write-pid $VARRUN_DIR/$NAME.pid $POSTUP \ $DAEMONOPTS $DAEMONARG || STATUS="FAILED" else STATUS="no config found" @@ -53,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 @@ -66,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 @@ -99,8 +102,8 @@ case "$1" in stop) echo -n "Stoping $DESC:" if test -z "$2" ; then - for PIDFILE in `ls /var/run/anytun.*.pid 2> /dev/null`; do - NAME=`echo $PIDFILE | cut -c17-` + for PIDFILE in `ls $VARRUN_DIR/*.pid 2> /dev/null`; do + NAME=`basename $PIDFILE` NAME=${NAME%%.pid} echo -n " $NAME" stop_vpn @@ -108,9 +111,9 @@ case "$1" in else while shift ; do [ -z "$1" ] && break - if test -e /var/run/anytun.$1.pid ; then - PIDFILE=`ls /var/run/anytun.$1.pid 2> /dev/null` - NAME=`echo $PIDFILE | cut -c17-` + if test -e $VARRUN_DIR/$1.pid ; then + PIDFILE=`ls $VARRUN_DIR/$1.pid 2> /dev/null` + NAME=`basename $PIDFILE` NAME=${NAME%%.pid} echo -n " $NAME" stop_vpn @@ -124,8 +127,8 @@ case "$1" in reload) echo -n "Reloading $DESC:" if test -z "$2" ; then - for PIDFILE in `ls /var/run/anytun.*.pid 2> /dev/null`; do - NAME=`echo $PIDFILE | cut -c17-` + for PIDFILE in `ls $VARRUN_DIR/*.pid 2> /dev/null`; do + NAME=`basename $PIDFILE` NAME=${NAME%%.pid} echo -n " $NAME" if [ -d $CONFIG_DIR/$NAME/conf.d ] ; then @@ -139,9 +142,9 @@ case "$1" in else while shift ; do [ -z "$1" ] && break - if test -e /var/run/anytun.$1.pid ; then - PIDFILE=`ls /var/run/anytun.$1.pid 2> /dev/null` - NAME=`echo $PIDFILE | cut -c17-` + if test -e $VARRUN_DIR/$1.pid ; then + PIDFILE=`ls $VARRUN_DIR/$1.pid 2> /dev/null` + NAME=`basename $PIDFILE` NAME=${NAME%%.pid} echo -n " $NAME" if [ -d $CONFIG_DIR/$NAME/conf.d ] ; then @@ -161,8 +164,8 @@ case "$1" in force-reload) echo -n "Restarting $DESC:" if test -z "$2" ; then - for PIDFILE in `ls /var/run/anytun.*.pid 2> /dev/null`; do - NAME=`echo $PIDFILE | cut -c17-` + for PIDFILE in `ls $VARRUN_DIR/*.pid 2> /dev/null`; do + NAME=`basename $PIDFILE` NAME=${NAME%%.pid} echo -n " $NAME" stop_vpn @@ -172,9 +175,9 @@ case "$1" in else while shift ; do [ -z "$1" ] && break - if test -e /var/run/anytun.$1.pid ; then - PIDFILE=`ls /var/run/anytun.$1.pid 2> /dev/null` - NAME=`echo $PIDFILE | cut -c17-` + if test -e $VARRUN_DIR/$1.pid ; then + PIDFILE=`ls $VARRUN_DIR/$1.pid 2> /dev/null` + NAME=`basename $PIDFILE` NAME=${NAME%%.pid} echo -n " $NAME" stop_vpn