~ubuntu-branches/ubuntu/lucid/mailscanner/lucid

« back to all changes in this revision

Viewing changes to lib/trend-autoupdate

  • Committer: Bazaar Package Importer
  • Author(s): Simon Walter
  • Date: 2009-01-20 22:23:36 UTC
  • mfrom: (1.1.9 upstream) (2.1.5 sid)
  • Revision ID: james.westby@ubuntu.com-20090120222336-3u0p4b7ps0ht3mgr
Tags: 4.74.16-1
* New upstream release (Closes: #506353)
  Fixes symlink vulnerability CVE-2008-5312, CVE-2008-5313, CVE-2008-5140
* Added new description to install MailScanner with sendmail and queue aging
  README.sendmail.2 thanks to Jim Barber
* Fixed patch for exim installation (Closes: #512338)

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
# Trend Autoupdate Script.
4
4
# V0.1 Dan Bird. dbird@sghms.ac.uk
5
5
# 12/08/2003
 
6
# V1.1 Julian Field. mailscanner@ecs.soton.ac.uk
 
7
# 22/11/2008
6
8
 
7
9
# Make it work on new POSIX systems
8
10
export _POSIX2_VERSION=199209
10
12
PackageDir=$1
11
13
export PackageDir
12
14
shift
 
15
# Throw away lockfile
 
16
shift
13
17
 
 
18
TEMPDIR=/tmp/trend-update.$$
 
19
# In case it's a link
 
20
rm -f $TEMPDIR >/dev/null 2>&1
 
21
# In case it's a dir
 
22
rm -rf $TEMPDIR >/dev/null 2>&1
 
23
# And make the new one
 
24
mkdir $TEMPDIR || exit 1
14
25
OPRINI=opr.ini.$$
15
26
export OPRINI
16
27
 
 
28
trap "rm -rf $TEMPDIR" EXIT
 
29
 
17
30
# source of IScan dat files
18
31
FTPSERV="ftp://ftp.antivirus.com/products/pattern/"
19
32
 
20
33
# Get the info on new version...
21
34
echo "Checking for latest DAT version..."
22
 
wget -q -O /tmp/$OPRINI $FTPSERV/opr.ini
 
35
# In case it crept into existence
 
36
rm -f $TEMPDIR/$OPRINI
 
37
wget -q -O $TEMPDIR/$OPRINI $FTPSERV/opr.ini
23
38
#NEWVER=`grep PatternVersion /tmp/opr.ini.$$ | sed s/^PatternVersion=//g | cut -c 1-3`
24
 
NEWVER=`grep PatternVersionNPF /tmp/opr.ini.$$ | sed s/^PatternVersionNPF=//g | cut -c 3-5`
 
39
NEWVER=`grep PatternVersionNPF $TEMPDIR/$OPRINI | sed s/^PatternVersionNPF=//g | cut -c 3-5`
25
40
 
26
41
# What's out current version?
27
42
# For 2006 onwards CURRENTVER=`ls $PackageDir/* | grep lpt | tail -1 |  cut -d. -f 2`
28
 
CURRENTVER=`ls -rt $PackageDir/* | grep lpt | tail -1 |  cut -d. -f 2`
 
43
CURRENTVER=`ls -rt $PackageDir/*lpt* /etc/iscan/*lpt* | tail -1 |  cut -d. -f 2`
29
44
 
30
45
if [ "$CURRENTVER" = "" ]
31
46
then
34
49
echo "Current version is : $CURRENTVER, new version is : $NEWVER"
35
50
 
36
51
fail () {
37
 
        trap EXIT
 
52
        trap '' EXIT
38
53
        echo "Test run failed -- removing bad Trend data files"
39
54
        echo "$OUT"
40
 
        rm -rf $PackageDir/lpt*$NEWVER*
 
55
        rm -f $PackageDir/lpt*$NEWVER*
 
56
        rm -rf $TEMPDIR
41
57
        logger -p mail.warn -t trend-autoupdate Trend: update failed
42
58
        exit 1
43
59
}
47
63
if [ $CURRENTVER -ne $NEWVER ]
48
64
then
49
65
        echo "Getting new DAT version : $NEWVER"
50
 
        wget -q -P /tmp  $FTPSERV/lpt$NEWVER.zip
 
66
        # In case it crept into existence
 
67
        rm -f $TEMPDIR/lpt$NEWVER.zip
 
68
        wget -q -P $TEMPDIR  $FTPSERV/lpt$NEWVER.zip
51
69
        printf "Testing file for corruption...."
52
70
 
53
 
        DATCHECK=`unzip -o -t /tmp/lpt$NEWVER.zip | grep "No errors"`
 
71
        DATCHECK=`unzip -o -t $TEMPDIR/lpt$NEWVER.zip | grep "No errors"`
54
72
 
55
73
        if [ "$DATCHECK" != "" ]
56
74
        then
57
75
                echo "OK"
58
 
                mv /tmp/lpt$NEWVER.zip /etc/iscan
 
76
                mv $TEMPDIR/lpt$NEWVER.zip /etc/iscan
59
77
                printf "installing...."
60
 
                cd $PackageDir
 
78
                cd /etc/iscan # $PackageDir
61
79
                unzip -q -o lpt$NEWVER.zip
62
80
                echo "DONE"
63
81
        else
65
83
        fi
66
84
 
67
85
 
68
 
        CMD="$PackageDir/vscan -v 2>&1"
69
 
        OUT=`$CMD`
 
86
        #CMD="$PackageDir/vscan -v 2>&1"
 
87
        OUT=`$PackageDir/vscan -v 2>&1`
70
88
        case "$OUT" in
71
89
                *"read pattern failed"* | \
72
90
                *"invalid pattern file"* | \
77
95
        fail
78
96
        ;;
79
97
        esac
80
 
        trap EXIT
 
98
        trap '' EXIT
81
99
        logger -p mail.info -t trend-autoupdate Trend: DAT files updated from $CURRENTVER to $NEWVER
82
100
else
83
101
        echo "DAT files are upto date"
84
102
        logger -p mail.info -t trend-autoupdate Trend: DAT files are up to date
85
103
fi
86
 
rm -f /tmp/lpt*.zip /tmp/$OPRINI $PackageDir/*.zip
 
104
# In case our dir turned into a link on its own...
 
105
rm -f $TEMPDIR >/dev/null 2>&1
 
106
rm -rf $TEMPDIR
 
107
rm -f  $PackageDir/*.zip
 
108
rm -f  /etc/iscan/*.zip
 
109
exit 0
 
110