[Mimedefang] Virus check specific domains

Robert Covell rcovell at rolet.com
Thu Mar 25 09:01:48 EST 2004


We have setup our filter to virus check certain domains.  I thought it was
working but it seems that other domains are getting checked too.  Can
someone look at the filter code below to verify we are doing it correctly.

Setup:  Sendmail 8.12.10, MD 2.40, SA 2.61, Clam AV, KAV

Thanks,
-Bob


Filter code:

sub filter_begin () {
    if (stream_by_domain()) {
        return;
    }

    # ALWAYS drop messages with suspicious chars in headers
    if ($SuspiciousCharsInHeaders) {
        md_graphdefang_log('suspicious_chars');
        # Do NOT allow message to reach recipient(s)
        return action_discard();
    }

    if ((lc $Domain) eq "domain1.com") {
        my($code, $category, $action) = message_contains_virus();
        $FoundVirus = ($category eq "virus");
    } elsif ((lc $Domain) eq "domain2.com") {
        my($code, $category, $action) = message_contains_virus();
        $FoundVirus = ($category eq "virus");
    } elsif ((lc $Domain) eq "domain3.com") {
        my($code, $category, $action) = message_contains_virus();
        $FoundVirus = ($category eq "virus");
    } elsif ((lc $Domain) eq "domain4.com") {
        my($code, $category, $action) = message_contains_virus();
        $FoundVirus = ($category eq "virus");
    } elsif ((lc $Domain) eq "domain5.com") {
        my($code, $category, $action) = message_contains_virus();
        $FoundVirus = ($category eq "virus");
    } else {
        $action = "";
    }

    if ($FoundVirus) {
        md_graphdefang_log('virus', $VirusName, $RelayAddr);
        md_syslog('warning', "Discarding because of virus $VirusName");
        $AdminAddress = 'viruses at ourdomain.com';
        my($orgrecips) = join(", ", @Recipients);
        action_notify_administrator("A message contained an known virus and
was not delievered.
               Information is as follows:\n\nDomain:$Domain\n\nOrignal
Recipients:$orgrecips\n\n
               $VirusScannerMessages\n\n");
        action_bounce("Your message contained an known virus and was not
delievered.
               Information is as
follows:\n\n$VirusName\n$VirusScannerMessages\n\n");
        return action_discard();
    }

    if ($action eq "tempfail") {
        action_tempfail("Problem running virus-scanner");
        md_syslog('warning', "Problem running virus scanner: code=$code,
category=$category, action=$action");
    }
}



More information about the MIMEDefang mailing list