clamav/rc.clamav

Mon, 28 Jan 2013 17:37:18 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Mon, 28 Jan 2013 17:37:18 +0100
changeset 758
a2c6460cfb16
parent 233
f5f6e93f3dc6
permissions
-rw-r--r--

Correct socket error reporting improvement with IPv6 portable code,
after helpful recommendation by Saúl Ibarra Corretgé on OSips devlist.

     1 #!@l_prefix@/bin/openpkg rc
     2 ##
     3 ##  rc.clamav -- Run-Commands
     4 ##
     6 %config
     7     clamav_enable="$openpkg_rc_def"
     8     clamav_daemons="clamd clamav-milter"
     9     clamav_clamd_flags=""
    10     clamav_clamav_milter_flags=""
    11     clamav_update="daily"
    12     clamav_log_prolog="true"
    13     clamav_log_epilog="true"
    14     clamav_log_numfiles="10"
    15     clamav_log_minsize="1M"
    16     clamav_log_complevel="9"
    18 %common
    19     clamav_cfgfile="@l_prefix@/etc/clamav/clamd.conf"
    20     clamav_milter_cfgfile="@l_prefix@/etc/clamav/clamav-milter.conf"
    21     clamav_pidfile_clamd="@l_prefix@/var/clamav/clamd.pid"
    22     clamav_pidfile_clamav_milter="@l_prefix@/var/clamav/clamav-milter.pid"
    23     clamav_signal () {
    24         [ -f $clamav_pidfile_clamd ] \
    25             && kill -$1 `cat $clamav_pidfile_clamd`
    26         local rc_clamav_clamd=$?
    27         [ -f $clamav_pidfile_clamav_milter ] \
    28             && kill -$1 `cat $clamav_pidfile_clamav_milter`
    29         local rc_clamav_clamav_milter=$?
    30         [    $rc_clamav_clamd         -eq 0 \
    31           -o $rc_clamav_clamav_milter -eq 0 ]
    32     }
    34 %status -u @l_rusr@ -o
    35     clamav_usable="unknown"
    36     clamav_active="no"
    37     rcService clamav enable yes && \
    38         clamav_signal 0 && clamav_active="yes"
    39     echo "clamav_enable=\"$clamav_enable\""
    40     echo "clamav_usable=\"$clamav_usable\""
    41     echo "clamav_active=\"$clamav_active\""
    43 %start -u @l_rusr@
    44     rcService clamav enable yes || exit 0
    45     rcService clamav active yes && exit 0
    46     for daemon in $clamav_daemons; do
    47         if [ ".$daemon" = ".clamd" ]; then
    48             @l_prefix@/sbin/clamd \
    49                 --config-file=$clamav_cfgfile \
    50                 $clamav_clamd_flags
    51         elif [ ".$daemon" = ".clamav-milter" -a -x @l_prefix@/sbin/clamav-milter ]; then
    52             ( umask 002
    53               @l_prefix@/sbin/clamav-milter \
    54                   --config-file=$clamav_milter_cfgfile \
    55                   $clamav_clamav_milter_flags
    56              ) || exit $?
    57         fi
    58     done
    60 %stop -u @l_rusr@
    61     rcService clamav enable yes || exit 0
    62     rcService clamav active no && exit 0
    63     clamav_signal TERM
    64     rm -f $clamav_pidfile_clamd 2>/dev/null || true
    65     rm -f $clamav_pidfile_clamav_milter 2>/dev/null || true
    67 %restart -u @l_rusr@
    68     rcService clamav enable yes || exit 0
    69     rcService clamav active no && exit 0
    70     rc clamav stop
    71     sleep 2
    72     rc clamav start
    74 %quarterly -u @l_rusr@
    75     rcService clamav enable yes || exit 0
    76     if [ ".$clamav_update" = .quarterly ]; then
    77         @l_prefix@/bin/freshclam
    78         if [ $? -ge 10 ]; then exit $?; fi
    79     fi
    81 %hourly -u @l_rusr@
    82     rcService clamav enable yes || exit 0
    83     if [ ".$clamav_update" = .hourly ]; then
    84         @l_prefix@/bin/freshclam
    85         if [ $? -ge 10 ]; then exit $?; fi
    86     fi
    88 %daily -u @l_rusr@
    89     rcService clamav enable yes || exit 0
    90     if [ ".$clamav_update" = .daily ]; then
    91         @l_prefix@/bin/freshclam
    92         if [ $? -ge 10 ]; then exit $?; fi
    93     fi
    94     logfiles=""
    95     for daemon in freshclam $clamav_daemons; do
    96         logfiles="$logfiles @l_prefix@/var/clamav/$daemon.log"
    97     done
    98     shtool rotate -f \
    99         -n $clamav_log_numfiles -s $clamav_log_minsize -d \
   100         -z $clamav_log_complevel -o @l_rusr@ -g @l_rgrp@ -m 644 \
   101         -P "$clamav_log_prolog" \
   102         -E "$clamav_log_epilog; rc clamav restart" \
   103         $logfiles
   105 %weekly -u @l_rusr@
   106     rcService clamav enable yes || exit 0
   107     if [ ".$clamav_update" = .weekly ]; then
   108         @l_prefix@/bin/freshclam
   109         if [ $? -ge 10 ]; then exit $?; fi
   110     fi

mercurial