hi, guys,
as you might know, central command recently upgraded their product line and discontinued the linux workstation version. that is, if you still want to use vexira, you need to upgrade to server version (free for remaining of your license term)
however, if you are using vexira for linux workstation with qmail-scanner, there's extra work to do:
1. install vexira for server
2. configure the vascan.ini, you need to at least put your registration key in it. you usually need some other change, see 3)
3. new scanning command line tool, named vascan, spawn new threads to do the work, I guess that's the reason why it don't work with softlimit (just guess). anyway, no matter how large the memory you set, it still reports error. so I just give up the memory limit (remove -m xxxxx) from the "run" file. if you don't use softlimit, that's ok
4. need to make some change to qmail-scanner-queue.pl, I gave the diff here, find the place and edit yourself.
5. at last, a script to auto update virus database.
hope this will help you to transfer to the server version smoothly. for guys who maintain qmail-scanner, please make change so it will work with the new vexira server version.
ren bing
1) patch qmail-scanner-queue.pl
[EMAIL PROTECTED] bin]# diff qmail-scanner-queue.pl qmail-scanner-queue.pl-vexira-work
station
193,194c193
< # changed by Ren Bing to adept Vexira for Server
< my $vexira_binary='/usr/local/VexiraSvr/vascan';
---
> my $vexira_binary='/usr/bin/vexira';
1508,1509c1507
< # changed to adept Vexira for Server
< open(VEX,"$vexira_binary 2>/dev/null |")||die "failed to call $vexira_b
inary - $!";
---
> open(VEX,"$vexira_binary --version 2>&1 |")||die "failed to call $vexir
a_binary --version - $!";
1512c1510
< if (/^Vexira Engine:\s+([0-9\.]+)/) {
---
> if (/^engine version:\s+([0-9\.]+)/) {
1981,1982c1979
< # changed by Ren Bing to adept Vexira for Server
< my $vexira_options = "--action="" -q ";
---
> my $vexira_options = "--allfiles -s -z -nolnk -noboot -nombr -nodef ";
1991c1988
< if ($DD =~ /^\s+(\S+ found:.*?)(skipped)?\s*$/m) {
---
> if ($DD =~ /^\s+ALERT: \[([^\])+]\)/m) {
2.) remove memory limit, or vascan will
fail
[EMAIL PROTECTED] qmail-smtpd]# pwd
/var/qmail/supervise/qmail-smtpd
[EMAIL PROTECTED] qmail-smtpd]# cat run
#!/bin/sh
QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"
export QMAILQUEUE
QMAILDUID=`id -u vpopmail`
NOFILESGID=`id -g vpopmail`
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
exec /usr/local/bin/softlimit \
/usr/local/bin/tcpserver -v -R -l 0 -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" \
-u "$QMAILDUID" -g "$NOFILESGID" 0 smtp /var/qmail/bin/qmail-smtpd \
mail.eastip.com /home/vpopmail/bin/vchkpw /bin/true 2>&1
[EMAIL PROTECTED] qmail-smtpd]#
3. Vascan.ini to allow it run by
qmail-scanner
#
registration settings
# ---------------------
registered-user =
"YOUR NAME"
registration-key = YOUR-REGISTRATION-KEY
# files and directories
#
---------------------
log =
/usr/local/VexiraSvr/vascan.log # record what will have happened
quarantine =
/usr/local/VexiraSvr/quarantine
# use default temporary directory
from 'TMP'/'TEMP' environment variable, or
# VDB is searched beside `vascan',
by default.
vdb =
/usr/local/VexiraSvr/vexira8.vdb
# add an `--action' to the commandline to
run vbscan in automatic mode!
temp =
/usr/local/VexiraSvr/temp
4. Cron job to update vexira virus
database
# files and directories
# ---------------------
log = /usr/local/VexiraSvr/vascan.log # record what will have happened
quarantine = /usr/local/VexiraSvr/quarantine
# use default temporary directory from 'TMP'/'TEMP' environment variable, or
# VDB is searched beside `vascan', by default.
vdb = /usr/local/VexiraSvr/vexira8.vdb
# add an `--action' to the commandline to run vbscan in automatic mode!
temp = /usr/local/VexiraSvr/temp
[EMAIL PROTECTED] VexiraSvr]#
[EMAIL PROTECTED] bin]# cat /root/bin/update_vascan_db
#!/bin/sh
vahome=/usr/local/VexiraSvr
download=$vahome/download
vaurl=http://upd.vexira.com/pub/vexira/vdb.8/vexira8.vdb
# for debug, reducing download time, use follows
# cp $download/test.vdb $download/vexira8.vdb
/usr/bin/wget $vaurl -O $download/vexira8.vdb -q
if [[ $? == 0 ]]
then
if ! diff -q $download/vexira8.vdb $vahome/vexira8.vdb
then
$vahome/vascan -d $download/vexira8.vdb
if [[ $? == 0 ]]
then
rm -f $download/vdb_b4 >/dev/null 2>&1
mv -f $download/vdb_b3 $download/vdb_b4 >/dev/null 2>&1
mv -f $download/vdb_b2 $download/vdb_b3 >/dev/null 2>&1
mv -f $download/vdb_b1 $download/vdb_b2 >/dev/null 2>&1
cp -f $vahome/vexira8.vdb $download/vdb_b1
cp -f $download/vexira8.vdb $vahome/vexira8.vdb
echo ""
echo ""
echo "-----------------------------------------"
echo "Vexira vexira8.vdb successfully updated"
else
echo ""
echo ""
echo "-----------------------------------------"
echo "Vexira vexira8.vdb downloaded but have problem"
fi
fi
rm -f $download/vexira8.vdb
else
rm -f $download/vexira8.vdb
echo ""
echo ""
echo "-----------------------------------------"
echo "There Is Error Updating Vexira vexira8.vdb"
fi
[EMAIL PROTECTED] bin]#