Sat, 06 Oct 2012 16:24:01 +0200
Update to new vendor software version and adjust patch code accordingly.
Unfortunately the vendor has apparently failed to properly test this
release which depends on missing object symbols in libsasl2.a(common.o):
undefined reference to `sasl_randcreate'
undefined reference to `sasl_mkchal'
undefined reference to `sasl_utf8verify'
undefined reference to `sasl_rand'
undefined reference to `sasl_churn'
undefined reference to `sasl_encode64'
undefined reference to `sasl_decode64'
undefined reference to `sasl_erasebuffer'
undefined reference to `sasl_randfree'
undefined reference to `sasl_strlower'
undefined reference to `get_fqhostname'
...yet to be patched.
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 |