#!/bin/sh CLAMSCAN_WRAPPER=${CLAMSCAN_WRAPPER-} die() { rm -rf test-db exit $1; } scan_failed() { if test "X$unrar_disabled" = "X1" && test `grep -v '\.rar' $1 | grep OK | wc -l` -eq 0 then echo "***" >&2; echo "*** UNRAR is disabled, won't be able to detect unrar files!" >&2; echo "***" >&2; else echo "clamscan did not detect all testfiles correctly!" >&2; die 2; fi } mkdir test-db cat <test-db/test.hdb aa15bcf478d165efd2065190eb473bcb:544:ClamAV-Test-File EOF rm -f clamscan.log ../libtool --mode=execute $CLAMSCAN_WRAPPER ../clamscan/clamscan --quiet -dtest-db/test.hdb ../test/clam* --log=clamscan.log if test $? != 1; then echo "Error running clamscan: $?" >&2; grep OK clamscan.log >&2; die 1; fi NFILES=`ls -1 ../test/clam* | wc -l` NINFECTED=`grep "Infected files" clamscan.log | cut -f2 -d: |sed -e 's/ //g'` if test "$NFILES" -ne "0$NINFECTED"; then grep OK clamscan.log >&2; scan_failed clamscan.log fi cat <test-db/test.pdb H:example.com EOF rm -f clamscan2.log ../clamscan/clamscan -dtest-db $abs_srcdir/input/phish-test-* --log=clamscan2.log --quiet val=$? if test $val != 0; then if test $val = 1; then echo "clamscan detected a file it shouldn't" >&2 grep FOUND clamscan2.log die 3; fi echo "Error running clamscan: $val" >&2; die 3; fi rm -f clamscan2.log ../clamscan/clamscan --phishing-ssl --phishing-cloak -dtest-db $abs_srcdir/input/phish-test-* --log=clamscan2.log --quiet val=$? if test $val != 1; then echo "Error running clamscan: $val" >&2; die 3; fi grep "phish-test-ssl: Phishing.Heuristics.Email.SSL-Spoof FOUND" clamscan2.log >/dev/null && grep "phish-test-cloak: Phishing.Heuristics.Email.Cloaked.Null FOUND" clamscan2.log >/dev/null if test $? -ne 0; then echo "Error on ssl/cloak phishing test" >&2; die 4; fi die 0;