|
|
|
|
@ -5,6 +5,9 @@
|
|
|
|
|
|
|
|
|
|
%config |
|
|
|
|
clamav_enable="$openpkg_rc_def" |
|
|
|
|
clamav_daemons="clamd clamav-milter" |
|
|
|
|
clamav_clamd_flags="" |
|
|
|
|
clamav_clamav_milter_flags="" |
|
|
|
|
clamav_update="daily" |
|
|
|
|
clamav_log_prolog="true" |
|
|
|
|
clamav_log_epilog="true" |
|
|
|
|
@ -14,9 +17,17 @@
|
|
|
|
|
|
|
|
|
|
%common |
|
|
|
|
clamav_cfgfile="@l_prefix@/etc/clamav/clamd.conf" |
|
|
|
|
clamav_pidfile="@l_prefix@/var/clamav/clamd.pid" |
|
|
|
|
clamav_pidfile_clamd="@l_prefix@/var/clamav/clamd.pid" |
|
|
|
|
clamav_pidfile_clamav_milter="@l_prefix@/var/clamav/clamav-milter.pid" |
|
|
|
|
clamav_signal () { |
|
|
|
|
[ -f $clamav_pidfile ] && kill -$1 `cat $clamav_pidfile` |
|
|
|
|
[ -f $clamav_pidfile_clamd ] \ |
|
|
|
|
&& kill -$1 `cat $clamav_pidfile_clamd` |
|
|
|
|
local rc_clamav_clamd=$? |
|
|
|
|
[ -f $clamav_pidfile_clamav_milter ] \ |
|
|
|
|
&& kill -$1 `cat $clamav_pidfile_clamav_milter` |
|
|
|
|
local rc_clamav_clamav_milter=$? |
|
|
|
|
[ $rc_clamav_clamd -eq 0 \ |
|
|
|
|
-o $rc_clamav_clamav_milter -eq 0 ] |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
%status -u @l_rusr@ -o |
|
|
|
|
@ -31,13 +42,28 @@
|
|
|
|
|
%start -u @l_rusr@ |
|
|
|
|
rcService clamav enable yes || exit 0 |
|
|
|
|
rcService clamav active yes && exit 0 |
|
|
|
|
@l_prefix@/sbin/clamd --config-file=$clamav_cfgfile |
|
|
|
|
for daemon in $clamav_daemons; do |
|
|
|
|
if [ ".$daemon" = ".clamd" ]; then |
|
|
|
|
@l_prefix@/sbin/clamd \ |
|
|
|
|
--config-file=$clamav_cfgfile \ |
|
|
|
|
$clamav_clamd_flags |
|
|
|
|
elif [ ".$daemon" = ".clamav-milter" -a -x @l_prefix@/sbin/clamav-milter ]; then |
|
|
|
|
@l_prefix@/sbin/clamav-milter \ |
|
|
|
|
--config-file=$clamav_cfgfile \ |
|
|
|
|
--max-children=4 --outgoing --local \ |
|
|
|
|
--pidfile=$clamav_pidfile_clamav_milter \ |
|
|
|
|
--sendmail-cf=/dev/null \ |
|
|
|
|
$clamav_clamav_milter_flags \ |
|
|
|
|
local:@l_prefix@/var/clamav/clamav-milter.socket |
|
|
|
|
fi |
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
%stop -u @l_rusr@ |
|
|
|
|
rcService clamav enable yes || exit 0 |
|
|
|
|
rcService clamav active no && exit 0 |
|
|
|
|
clamav_signal TERM |
|
|
|
|
rm -f $clamav_pidfile 2>/dev/null || true |
|
|
|
|
rm -f $clamav_pidfile_clamd 2>/dev/null || true |
|
|
|
|
rm -f $clamav_pidfile_clamav_milter 2>/dev/null || true |
|
|
|
|
|
|
|
|
|
%restart -u @l_rusr@ |
|
|
|
|
rcService clamav enable yes || exit 0 |
|
|
|
|
@ -62,22 +88,20 @@
|
|
|
|
|
|
|
|
|
|
%daily -u @l_rusr@ |
|
|
|
|
rcService clamav enable yes || exit 0 |
|
|
|
|
shtool rotate -f \ |
|
|
|
|
-n ${clamav_log_numfiles} -s ${clamav_log_minsize} -d \ |
|
|
|
|
-z ${clamav_log_complevel} -o @l_rusr@ -g @l_rgrp@ -m 644 \ |
|
|
|
|
-P "${clamav_log_prolog}" \ |
|
|
|
|
-E "${clamav_log_epilog}; rc clamav restart" \ |
|
|
|
|
@l_prefix@/var/clamav/clamd.log |
|
|
|
|
shtool rotate -f \ |
|
|
|
|
-n ${clamav_log_numfiles} -s ${clamav_log_minsize} -d \ |
|
|
|
|
-z ${clamav_log_complevel} -o @l_rusr@ -g @l_rgrp@ -m 644 \ |
|
|
|
|
-P "${clamav_log_prolog}" \ |
|
|
|
|
-E "${clamav_log_epilog}; rc clamav restart" \ |
|
|
|
|
@l_prefix@/var/clamav/freshclam.log |
|
|
|
|
if [ ".$clamav_update" = .daily ]; then |
|
|
|
|
@l_prefix@/bin/freshclam |
|
|
|
|
if [ $? -ge 10 ]; then exit $?; fi |
|
|
|
|
fi |
|
|
|
|
logfiles="" |
|
|
|
|
for daemon in freshclam $clamav_daemons; do |
|
|
|
|
logfiles="$logfiles @l_prefix@/var/clamav/$daemon.log" |
|
|
|
|
done |
|
|
|
|
shtool rotate -f \ |
|
|
|
|
-n $clamav_log_numfiles -s $clamav_log_minsize -d \ |
|
|
|
|
-z $clamav_log_complevel -o @l_rusr@ -g @l_rgrp@ -m 644 \ |
|
|
|
|
-P "$clamav_log_prolog" \ |
|
|
|
|
-E "$clamav_log_epilog; rc clamav restart" \ |
|
|
|
|
$logfiles |
|
|
|
|
|
|
|
|
|
%weekly -u @l_rusr@ |
|
|
|
|
rcService clamav enable yes || exit 0 |
|
|
|
|
|