# $Id: amavis-filter,v 1.7 2002/07/18 22:33:36 bengen Exp $

#
# Main file for the Embedded Perl version of AMAVIS
#

use AMAVIS;
use strict;

use vars qw/$returncode $returntext $args $amavis/;

# Main routine that is called from Exim system filter
sub amavis_filter_scan {
  $$args{'eximperl_mid'} = shift;
  $$args{'sender'} = shift;
  @{$$args{'recipients'}} = split /, +/,shift;

  AMAVIS->init($args);
  AMAVIS->process_message($args);
  AMAVIS->cleanup($args);

  # Pass control back to the system filter.
  return $$args{'eximperl_returncode'};
}

# Returns 
sub amavis_filter_result() {
  return (defined $$args{'eximperl_returncode'} ?
	  $$args{'eximperl_returncode'} :
	  'unknown');
}

# # Returns text to be put into freeze message
# sub amavis_filter_text() {
#   if (defined $returntext) {
#     return $returntext
#   }
#   else {
#     return '';
#   }
# }

# Returns scanners list for X-Scanned header 
sub amavis_virus_scanner_list() {
  return join(', ', @{$$args{'virus_scanners'}});
}

# Returns headers to be included by system filter
sub amavis_headers() {
  return join(', ', @{$$args{'headers'}});
}

1;
