openvpn/rc.openvpn

Mon, 17 Sep 2012 19:10:10 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Mon, 17 Sep 2012 19:10:10 +0200
changeset 689
9fe04d4d4e5a
permissions
-rw-r--r--

Update to new version of vendor software although Oracle fails to deliver.
More specifically, newer db(3) patch revisions exist but Oracle has
removed them from the canonical download server URI for Berkely DB.

     1 #!@l_prefix@/bin/openpkg rc
     2 ##
     3 ##  rc.openvpn -- Run-Commands
     4 ##
     6 %config
     7     openvpn_enable="$openpkg_rc_def"
     8     openvpn_log_prolog="true"
     9     openvpn_log_epilog="true"
    10     openvpn_log_numfiles="10"
    11     openvpn_log_minsize="1M"
    12     openvpn_log_complevel="9"
    14 %common
    15     openvpn_etcdir="@l_prefix@/etc/openvpn"
    16     openvpn_vardir="@l_prefix@/var/openvpn"
    17     openvpn_signal () {
    18         [ -f $openvpn_vardir/$1.pid ] && kill -$2 `cat $openvpn_vardir/$1.pid`
    19     }
    21 %status -u @l_susr@ -o
    22     openvpn_usable="unknown"
    23     openvpn_active="yes"
    24     if rcService openvpn enable yes; then
    25         for cfgfile in $openvpn_etcdir/*.conf; do
    26             [ ".`grep '^disable' $cfgfile`" != . ] && continue
    27             name=`echo "$cfgfile" | sed -e 's;^.*/\([^/]*\)\.conf;\1;'`
    28             openvpn_signal $name 0
    29             if [ $? -ne 0 ]; then
    30                 openvpn_active="no"
    31                 break
    32             fi
    33         done
    34     fi
    35     echo "openvpn_enable=\"$openvpn_enable\""
    36     echo "openvpn_usable=\"$openvpn_usable\""
    37     echo "openvpn_active=\"$openvpn_active\""
    39 %start -p 200 -u @l_susr@
    40     rcService openvpn enable yes || exit 0
    41     rcService openvpn active yes && exit 0
    42     if [ -f $openvpn_etcdir/openvpn.sh ]; then
    43         sh $openvpn_etcdir/openvpn.sh start || exit $?
    44     fi
    45     for cfgfile in $openvpn_etcdir/*.conf; do
    46         [ ".`grep '^disable' $cfgfile`" != . ] && continue
    47         name=`echo "$cfgfile" | sed -e 's;^.*/\([^/]*\)\.conf;\1;'`
    48         if [ -f $openvpn_etcdir/$name.sh -a ".$name" != .openvpn ]; then
    49             sh $openvpn_etcdir/$name.sh start || exit $?
    50         fi
    51         @l_prefix@/sbin/openvpn \
    52             --daemon "$name" \
    53             --log-append $openvpn_vardir/$name.log \
    54             --writepid $openvpn_vardir/$name.pid \
    55             --status $openvpn_vardir/$name.status 60 \
    56             --config $cfgfile \
    57             --cd $openvpn_etcdir || exit $?
    58     done
    60 %stop -p 800 -u @l_susr@
    61     rcService openvpn enable yes || exit 0
    62     rcService openvpn active no && exit 0
    63     for cfgfile in $openvpn_etcdir/*.conf; do
    64         [ ".`grep '^disable' $cfgfile`" != . ] && continue
    65         name=`echo "$cfgfile" | sed -e 's;^.*/\([^/]*\)\.conf;\1;'`
    66         openvpn_signal $name TERM
    67     done
    68     sleep 1
    69     for cfgfile in $openvpn_etcdir/*.conf; do
    70         [ ".`grep '^disable' $cfgfile`" != . ] && continue
    71         name=`echo "$cfgfile" | sed -e 's;^.*/\([^/]*\)\.conf;\1;'`
    72         if [ -f $openvpn_etcdir/$name.sh -a ".$name" != .openvpn ]; then
    73             sh $openvpn_etcdir/$name.sh stop || true
    74         fi
    75     done
    76     if [ -f $openvpn_etcdir/openvpn.sh ]; then
    77         sh $openvpn_etcdir/openvpn.sh stop || true
    78     fi
    79     rm -f $openvpn_vardir/*.pid 2>/dev/null || true
    81 %restart -u @l_susr@
    82     rcService openvpn enable yes || exit 0
    83     rcService openvpn active no && exit 0
    84     rc openvpn stop start
    86 %reload -u @l_susr@
    87     rcService openvpn enable yes || exit 0
    88     rcService openvpn active no && exit 0
    89     for cfgfile in $openvpn_etcdir/*.conf; do
    90         [ ".`grep '^disable' $cfgfile`" != . ] && continue
    91         name=`echo "$cfgfile" | sed -e 's;^.*/\([^/]*\)\.conf;\1;'`
    92         openvpn_signal $name USR1
    93         if [ -f $openvpn_etcdir/$name.sh ]; then
    94             sh $openvpn_etcdir/$name.sh reload || true
    95         fi
    96     done
    98 %daily -u @l_susr@
    99     rcService openvpn enable yes || exit 0
   100     for cfgfile in $openvpn_etcdir/*.conf; do
   101         [ ".`grep '^disable' $cfgfile`" != . ] && continue
   102         name=`echo "$cfgfile" | sed -e 's;^.*/\([^/]*\)\.conf;\1;'`
   103         shtool rotate -f \
   104             -n ${openvpn_log_numfiles} -s ${openvpn_log_minsize} -d \
   105             -z ${openvpn_log_complevel} -o @l_rusr@ -g @l_rgrp@ -m 644 \
   106             -P "${openvpn_log_prolog}" \
   107             -E "${openvpn_log_epilog}; rc openvpn reload" \
   108             $openvpn_vardir/$name.log
   109     done

mercurial