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]#

Reply via email to