]> git.webhop.me Git - bs-cst-neutrino-hd.git/commitdiff
update openvpn.init script
authorMarkham <markham001@gmx.de>
Sat, 23 Apr 2022 08:49:11 +0000 (10:49 +0200)
committerMarkham <markham001@gmx.de>
Sat, 23 Apr 2022 08:49:11 +0000 (10:49 +0200)
archive-patches/openvpn/files/openvpn.init
archive-patches/samba36/files/samba3.init [changed mode: 0644->0755]

index bdff488b93249c451574b7749ca50482365f0736..d194112995412267edf99d8ef7e7b2cc17daa9b2 100755 (executable)
 
 #set -v -x
 
-DAEMON=openvpn
+DAEMON=$(which openvpn)
 CONFIG_DIR=/var/etc/openvpn
+FLAG=/var/etc/.openvpn
 test -x $DAEMON || exit 0
 test -d $CONFIG_DIR || exit 0
-modprobe tun >/dev/null 2>&1 || true
+
 
 start_vpn () {
+       if [ ! -c /dev/net/tun ]; then
+               modprobe tun >/dev/null 2>&1 || true
+       fi
     $DAEMON --daemon --writepid /var/run/openvpn.$NAME.pid \
-            --config $CONFIG_DIR/$NAME.conf --cd $CONFIG_DIR || echo -n " FAILED->"
+            --config $CONFIG_DIR/$NAME.conf \
+            --log /tmp/openvpn.$NAME.log \
+            --cd $CONFIG_DIR || echo -n " FAILED->"
     echo -n " $NAME"
 }
 stop_vpn () {
-   kill `cat $PIDFILE` || true
-  rm $PIDFILE
+       kill `cat $PIDFILE` || true
+       rm $PIDFILE >/dev/null 2>&1
+       rm /tmp/openvpn.$NAME.log
 }
 
 case "$1" in
 start)
-  echo -n "Starting openvpn:"
-
-  if test -z $2 ; then
-    for CONFIG in `cd $CONFIG_DIR; ls *.conf 2> /dev/null`; do
-      NAME=${CONFIG%%.conf}
-      start_vpn
-    done
-  else
-    if test -e $CONFIG_DIR/$2.conf ; then
-      NAME=$2
-      start_vpn
-    else
-      echo -n " No such VPN: $2"
-    fi
-  fi
-  echo "."
+       echo -n "Starting openvpn:"
 
-  ;;
+       if test -z $2 ; then
+               if [ -e $FLAG ]; then
+                       read mode < /var/etc/.openvpn
+                       mode=${mode:-client}
+                       NAME=$mode
+                       start_vpn
+               fi
+       else
+               if test -e $CONFIG_DIR/$2.conf ; then
+                       NAME=$2
+                       start_vpn
+               else
+                       echo -n " No such VPN: $2"
+               fi
+       fi
+       echo "."
+       ;;
 stop)
-  echo -n "Stopping openvpn:"
+       echo -n "Stopping openvpn:"
 
-  if test -z $2 ; then
-    for PIDFILE in `ls /var/run/openvpn.*.pid 2> /dev/null`; do
-      NAME=`echo $PIDFILE | cut -c18-`
-      NAME=${NAME%%.pid}
-      stop_vpn
-      echo -n " $NAME"
-    done
-  else
-    if test -e /var/run/openvpn.$2.pid ; then
-      PIDFILE=`ls /var/run/openvpn.$2.pid 2> /dev/null`
-      NAME=`echo $PIDFILE | cut -c18-`
-      NAME=${NAME%%.pid}
-      stop_vpn
-      echo -n " $NAME"
-    else
-      echo -n " No such VPN: $2"
-    fi
-  fi
-  echo "."
-  ;;
+       if test -z $2 ; then
+               for PIDFILE in `ls /var/run/openvpn.*.pid 2> /dev/null`; do
+                       NAME=`echo $PIDFILE | cut -c18-`
+                       NAME=${NAME%%.pid}
+                       stop_vpn
+                       echo -n " $NAME"
+                       done
+       else
+               if test -e /var/run/openvpn.$2.pid ; then
+                       PIDFILE=`ls /var/run/openvpn.$2.pid 2> /dev/null`
+                       NAME=`echo $PIDFILE | cut -c18-`
+                       NAME=${NAME%%.pid}
+                       stop_vpn
+                       echo -n " $NAME"
+               else
+                       echo -n " No such VPN: $2"
+               fi
+       fi
+       echo "."
+       ;;
 # We only 'reload' for running VPNs. New ones will only start with 'start' or 'restart'.
 reload|force-reload)
-  echo -n "Reloading openvpn:"
-  for PIDFILE in `ls /var/run/openvpn.*.pid 2> /dev/null`; do
-    NAME=`echo $PIDFILE | cut -c18-`
-    NAME=${NAME%%.pid}
+       echo -n "Reloading openvpn:"
+       for PIDFILE in `ls /var/run/openvpn.*.pid 2> /dev/null`; do
+               NAME=`echo $PIDFILE | cut -c18-`
+               NAME=${NAME%%.pid}
 # If openvpn if running under a different user than root we'll need to restart
-    if egrep '^( |\t)*user' $CONFIG_DIR/$NAME.conf > /dev/null 2>&1 ; then
-      stop_vpn
-      sleep 1
-      start_vpn
-      echo -n "(restarted)"
-    else
-      kill -HUP `cat $PIDFILE` || true
+               if egrep '^( |\t)*user' $CONFIG_DIR/$NAME.conf > /dev/null 2>&1 ; then
+                       stop_vpn
+                       sleep 1
+                       start_vpn
+                       echo -n "(restarted)"
+               else
+                       kill -HUP `cat $PIDFILE` || true
 #    start-stop-daemon --stop --signal HUP --quiet --oknodo \
 #      --exec $DAEMON --pidfile $PIDFILE
-    echo -n " $NAME"
-    fi
-  done
-  echo "."
-  ;;
+                       echo -n " $NAME (reloaded)"
+               fi
+       done
+       echo "."
+       ;;
 
 restart)
-  $0 stop $2
-  sleep 1
-  $0 start $2
-  ;;
+       $0 stop $2
+       sleep 1
+       $0 start $2
+       ;;
 *)
-  echo "Usage: $0 {start|stop|reload|restart|force-reload}" >&2
-  exit 1
-  ;;
+       echo "Usage: $0 {start|stop|reload|restart|force-reload}" >&2
+       exit 1
+       ;;
 esac
 
 exit 0
old mode 100644 (file)
new mode 100755 (executable)