Problem with rule actions (2)

Gareth list-mailscanner at linguaphone.com
Tue Sep 11 14:03:59 IST 2007


Sorry to be a pail Julian but I wondered if you have had time to have a
look at this to see if it is a bug?

Thanks
Gareth


On Thu, 2007-09-06 at 10:33, Gareth wrote:
> Any thoughts on this Julian?
> 
> Thinking about it a bit more myself it appears that when the custom
> action matches and the store,non-deliver is performed that MailScanner
> forgets about the actions it should be taking due to the message being
> identified as containing a virus.
> This results in :-
> * Message and decoded attachments not being saved into the virus
> quaranteen.
> * Details of the virus infections is lost and not passed onto the custom
> finction used to log entries to the mailwatch database.
> 
> Thanks
> Gareth
> 
> 
> On Wed, 2007-09-05 at 12:38, Gareth wrote:
> > Ok could you have a look at this Julian when you have some spare time.
> > 
> > Problem: When an email contains a virus and it triggers a custom action
> > (store,non-deliver) the infection report is not being stored in the
> > database. The following code is what mailwatch uses to retrieve the
> > infection array and convert it to a string and I cant see why it would
> > be going wrong as it is just using the data passed by mailscanner.
> > 
> > It would be nice if the virus quaranteen was still populated in addition
> > to the spam quarantine since the virus quaranteen has the attachments
> > decoded so it makes it easier to do furthur manual tests.
> > 
> >    my($file, $text, @report_array);
> >    while(($file, $text) = each %{$message->{allreports}}) {
> >      $file = "the entire message" if $file eq "";
> >      # Use the sanitised filename to avoid problems caused by people
> > forcing
> >      # logging of attachment filenames which contain nasty SQL
> > instructions.
> >      $file = $message->{file2safefile}{$file} or $file;
> >      $text =~ s/\n/ /;  # Make sure text report only contains 1 line
> >      $text =~ s/\t/ /; # and no tab characters
> >      push (@report_array, $text);
> >    }
> > 
> >    # Sanitize reports
> >    my $reports = join(",", at report_array);
> > 
> > 
> > Thanks
> > Gareth




More information about the MailScanner mailing list