our
@ISA
=
qw(Mail::SpamAssassin::Plugin)
;
sub
new {
my
$class
=
shift
;
my
$mailsaobject
=
shift
;
$class
=
ref
(
$class
) ||
$class
;
my
$self
=
$class
->SUPER::new(
$mailsaobject
);
bless
(
$self
,
$class
);
print
"registered myTestPlugin: $self\n"
;
return
$self
;
}
sub
check_post_learn {
my
(
$self
,
$opts
) =
@_
;
print
"running check_end: $self\n"
;
my
$m
=
$opts
->{permsgstatus}->{msg};
print
"tainted get_header found\n"
if
(is_tainted(
$m
->get_header(
"Subject"
)));
print
"tainted get_pristine_header found\n"
if
(is_tainted(
$m
->get_pristine_header(
"Subject"
)));
print
"tainted get_pristine found\n"
if
(is_tainted(
$m
->get_pristine()));
print
"tainted get_pristine_body found\n"
if
(is_tainted(
$m
->get_pristine_body()));
print
"tainted get_body found\n"
if
(is_tainted(
$m
->get_body()->[0]));
print
"tainted get_visible_rendered_body_text_array found\n"
if
(is_tainted(
$m
->get_visible_rendered_body_text_array()->[0]));
print
"tainted get_decoded_body_text_array found\n"
if
(is_tainted(
$m
->get_decoded_body_text_array()->[0]));
print
"tainted get_rendered_body_text_array found\n"
if
(is_tainted(
$m
->get_rendered_body_text_array()->[0]));
return
1;
}
sub
is_tainted {
return
!
eval
{
eval
(
"#"
.
substr
(
join
(
""
,
@_
), 0, 0)); 1 };
}
1;