dspam: check for dspam_bin during register

This commit is contained in:
Matt Simerson 2012-06-27 14:42:34 -07:00
parent 1d3c5369b7
commit 98228cd38c

View File

@ -213,6 +213,11 @@ sub register {
$self->{_args} = { @_ }; $self->{_args} = { @_ };
$self->{_args}{reject} = 1 if ! defined $self->{_args}{reject}; $self->{_args}{reject} = 1 if ! defined $self->{_args}{reject};
$self->{_args}{reject_type} ||= 'perm'; $self->{_args}{reject_type} ||= 'perm';
$self->{_args}{dspam_bin} ||= '/usr/local/bin/dspam';
if ( ! -x $self->{_args}{dspam_bin} ) {
$self->log(LOGERROR, "dspam not found: ");
};
$self->register_hook('data_post', 'data_post_handler'); $self->register_hook('data_post', 'data_post_handler');
} }
@ -228,9 +233,9 @@ sub data_post_handler {
return (DECLINED); return (DECLINED);
}; };
my $username = $self->select_username( $transaction ); my $user = $self->select_username( $transaction );
my $dspam_bin = $self->{_args}{dspam_bin} || '/usr/local/bin/dspam'; my $bin = $self->{_args}{dspam_bin};
my $filtercmd = "$dspam_bin --user $username --mode=tum --process --deliver=summary --stdout"; my $filtercmd = "$bin --user $user --mode=tum --process --deliver=summary --stdout";
$self->log(LOGDEBUG, $filtercmd); $self->log(LOGDEBUG, $filtercmd);
my $response = $self->dspam_process( $filtercmd, $transaction ); my $response = $self->dspam_process( $filtercmd, $transaction );