#!/bin/sh
umask 0600
sender=$1
recipient=$2
if ["$1" == ""]; then
sender="<>"
fi
#/usr/local/bin/mks32 -e | /usr/sbin/exim -oMr scanned-ok -i -f $sender $recipient
#Tu się zaczyna mója twórczość:
# uwaga katalog /tmp jest dość ryzykownym miejscem na trzymanie zawartości
# poczty użytkowników, dużo lepiej jest zrobić sobie jakiś /home/mta/ i
# nadać mu odpowiednie uprawnienia.
WARN_MSG=/etc/mta/wirus_warning
TMPFILE=`/usr/bin/mktemp -q /tmp/$0.XXXXXX`
if [ $? -ne 0 ]; then
echo "$0: Can't create temp file, exiting..."
exit 1
fi
TMPFILESEC=`/usr/bin/mktemp -q /tmp/$0.XXXXXX`
if [ $? -ne 0 ]; then
echo "$0: Can't create temp file, exiting..."
exit 1
fi
cat - > $TMPFILE
/usr/local/bin/mks_c $TMPFILE > $TMPFILE
status=$?
if [ $status ge 128]; then
echo "$0: mksd returned error code !!! forwarding mail as-is. "
cat $TMPFILE | /usr/sbin/exim -oMr scanned-ok -i -f $sender $recipient
logger -p mail.warn mks_c $status
exit 2
fi
if [ $status eq 0 ]; then
cat $TMPFILE | /usr/sbin/exim -oMr scanned-ok -i -f $sender $recipient
else
cat $WARN_MSG $TMPFILESEC | mail $sender -s "wirusik w mailu DO $recipient" -c postmaster
cat $WARN_MSG $TMPFILESEC | mail $recipient -s "wirusik w mailu OD $sender" # zakomentowanie tej linii może zaoszczędzić wielu pytań od ździwionych użytkownkików: (:- to mamy jakiś skaner??? -:)
logger -p mail.info wirus $sender $recipient $(cat $TMPFILESEC)
fi