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.

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

mercurial