summaryrefslogtreecommitdiff
path: root/testing/openvpn/openvpn.rc
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-08-19 00:04:07 +0000
committerroot <root@rshg054.dnsready.net>2012-08-19 00:04:07 +0000
commitc512f9eb344575ac6bce0b13729c05e1760cd094 (patch)
tree8d60a9bd559a941bba52a67170900c159d2024eb /testing/openvpn/openvpn.rc
parent948da5eabcbf8d74270e661d0730ba1c203913f5 (diff)
Sun Aug 19 00:04:07 UTC 2012
Diffstat (limited to 'testing/openvpn/openvpn.rc')
-rwxr-xr-xtesting/openvpn/openvpn.rc43
1 files changed, 43 insertions, 0 deletions
diff --git a/testing/openvpn/openvpn.rc b/testing/openvpn/openvpn.rc
new file mode 100755
index 000000000..96c28b641
--- /dev/null
+++ b/testing/openvpn/openvpn.rc
@@ -0,0 +1,43 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+CFGDIR="/etc/openvpn"
+STATEDIR="/var/run/openvpn"
+
+case "$1" in
+ start)
+ stat_busy "Starting OpenVPN ... "
+ success=0
+ mkdir -p "${STATEDIR}"
+ for cfg in "${CFGDIR}"/*.conf; do
+ stat_append "$(basename "${cfg}" .conf) "
+ /usr/sbin/openvpn --daemon --writepid "${STATEDIR}"/"$(basename "${cfg}" .conf)".pid --cd "${CFGDIR}" --config "${cfg}" || success=$?
+ done
+ if [ $success -eq 0 ]; then
+ add_daemon openvpn
+ stat_done
+ else
+ stat_fail
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping OpenVPN ..."
+ for pidfile in "${STATEDIR}"/*.pid; do
+ stat_append "$(basename "${pidfile}" .pid) "
+ kill $(cat "${pidfile}" 2>/dev/null) 2>/dev/null
+ rm -f "${pidfile}"
+ done
+ rm_daemon openvpn
+ stat_done
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0