| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- #!@l_prefix@/lib/openpkg/bash @l_prefix@/etc/rc
- ##
- ## rc.openvpn -- Run-Commands
- ##
- %config
- openvpn_enable="$openpkg_rc_def"
- openvpn_log_prolog="true"
- openvpn_log_epilog="true"
- openvpn_log_numfiles="10"
- openvpn_log_minsize="1M"
- openvpn_log_complevel="9"
- %common
- openvpn_etcdir="@l_prefix@/etc/openvpn"
- openvpn_vardir="@l_prefix@/var/openvpn"
- openvpn_signal () {
- [ -f $openvpn_vardir/$1.pid ] && kill -$2 `cat $openvpn_vardir/$1.pid`
- }
- %status -u @l_susr@ -o
- openvpn_usable="unknown"
- openvpn_active="yes"
- if rcService openvpn enable yes; then
- for cfgfile in $openvpn_etcdir/*.conf; do
- name=`echo "$cfgfile" | sed -e 's;^.*/\([^/]*\)\.conf;\1;'`
- openvpn_signal $name 0
- if [ $? -ne 0 ]; then
- openvpn_active="no"
- break
- fi
- done
- fi
- echo "openvpn_enable=\"$openvpn_enable\""
- echo "openvpn_usable=\"$openvpn_usable\""
- echo "openvpn_active=\"$openvpn_active\""
- %start -u @l_susr@
- rcService openvpn enable yes || exit 0
- rcService openvpn active yes && exit 0
- for cfgfile in $openvpn_etcdir/*.conf; do
- name=`echo "$cfgfile" | sed -e 's;^.*/\([^/]*\)\.conf;\1;'`
- @l_prefix@/sbin/openvpn \
- --daemon \
- --writepid $openvpn_vardir/$name.pid \
- --status $openvpn_vardir/$name.status 60 \
- --log-append $openvpn_vardir/$name.log \
- --config $cfgfile \
- --cd $openvpn_etcdir
- done
- %stop -u @l_susr@
- rcService openvpn enable yes || exit 0
- rcService openvpn active no && exit 0
- for cfgfile in $openvpn_etcdir/*.conf; do
- name=`echo "$cfgfile" | sed -e 's;^.*/\([^/]*\)\.conf;\1;'`
- openvpn_signal $name TERM
- done
- sleep 2
- rm -f $openvpn_vardir/*.pid 2>/dev/null || true
- %restart -u @l_susr@
- rcService openvpn enable yes || exit 0
- rcService openvpn active no && exit 0
- rc stop start
- %daily -u @l_susr@
- rcService openvpn enable yes || exit 0
- for cfgfile in $openvpn_etcdir/*.conf; do
- name=`echo "$cfgfile" | sed -e 's;^.*/\([^/]*\)\.conf;\1;'`
- shtool rotate -f \
- -n ${openvpn_log_numfiles} -s ${openvpn_log_minsize} -d \
- -z ${openvpn_log_complevel} -o @l_rusr@ -g @l_rgrp@ -m 644 \
- -P "${openvpn_log_prolog}" \
- -E "${openvpn_log_epilog}" \
- $openvpn_vardir/$name.log
- done
|