#!@l_prefix@/lib/openpkg/bash @l_prefix@/etc/rc ## ## rc.uvscan -- Run-Commands ## %config uvscan_enable="$openpkg_rc_def" uvscan_dat_url="ftp://ftp.nai.com/pub/antivirus/datfiles/4.x/" uvscan_dat_update="daily" %common rcService uvscan enable yes || exit 0 uvscan_update () { # determine information uvscan_datadir="@l_prefix@/var/uvscan/data" uvscan_datfile=`@l_prefix@/bin/curl -s "$uvscan_dat_url" 2>/dev/null |\ grep 'dat-[0-9][0-9]*\.tar' | sort | tail -1 |\ sed -e 's;^.*\(dat-[0-9][0-9]*\.tar\).*$;\1;'` uvscan_tmpdir=`echo "${uvscan_datfile}" | sed -e 's;\.tar$;;'` # download and unpack latest DATs umask 077 cd ${uvscan_datadir} || exit 1 rm -f ${uvscan_datfile} >/dev/null 2>&1 || true @l_prefix@/bin/curl -s -o ${uvscan_datfile} \ ${uvscan_dat_url}/${uvscan_datfile} || exit 1 rm -rf ${uvscan_tmpdir} >/dev/null 2>&1 || true mkdir ${uvscan_tmpdir} ( cd ${uvscan_tmpdir} && @l_prefix@/bin/tar -xf ../${uvscan_datfile} ) || exit 1 # update DAT repository by installing updated DAT files @l_prefix@/lib/openpkg/shtool install -m 644 -o @l_musr@ -g @l_mgrp@ \ ${uvscan_tmpdir}/*.dat . uvscan_version=`echo "${uvscan_datfile}" | sed -e 's;^dat-;;' -e 's;\.tar$;;'` echo "${uvscan_version}" >VERSION # cleanup rm -f ${uvscan_datfile} >/dev/null 2>&1 || true rm -rf ${uvscan_tmpdir} >/dev/null 2>&1 || true } %hourly -u @l_musr@ rcService uvscan enable yes || exit 0 if [ ".$uvscan_dat_update" = .hourly ]; then uvscan_update || exit $? fi %daily -u @l_musr@ rcService uvscan enable yes || exit 0 if [ ".$uvscan_dat_update" = .daily ]; then uvscan_update || exit $? fi %weekly -u @l_musr@ rcService uvscan enable yes || exit 0 if [ ".$uvscan_dat_update" = .weekly ]; then uvscan_update || exit $? fi