--- lib/Mail/SpamAssassin/EvalTests.pm-2.55.orig 2004-06-08 09:08:07.000000000 +0300 +++ lib/Mail/SpamAssassin/EvalTests.pm 2004-09-30 18:16:21.000000000 +0300 @@ -57,6 +57,51 @@ # HEAD TESTS: ########################################################################### +sub check_underscored_From { + my ($self) = @_; + local ($_); + $_ = $self->get('From'); + if (/^(\s*\S+)(\s*<.+>)/) { + my $realname = $1; + my $addr = $2; + $realname =~ s/_//g; + $addr = $realname.$addr; + return($addr =~ /^\s*(\S+)\s*<\1\@.+>/i ? 1 : 0); + } else { + return 0; + } +} + +sub check_dotted_From { + my ($self) = @_; + local ($_); + $_ = $self->get('From'); + if (/^(\s*\S+)(\s*<.+>)/) { + my $realname = $1; + my $addr = $2; + $realname =~ s/\.//g; + $addr = $realname.$addr; + return($addr =~ /^\s*"?(\S+)"?\s*<\1\@.+>/i ? 1 : 0); + } else { + return 0; + } +} + +sub check_minus_From { + my ($self) = @_; + local ($_); + $_ = $self->get('From'); + if (/^(\s*\S+)(\s*<.+>)/) { + my $realname = $1; + my $addr = $2; + $realname =~ s/\-//g; + $addr = $realname.$addr; + return($addr =~ /^\s*"?(\S+)"?\s*<\1\@.+>/i ? 1 : 0); + } else { + return 0; + } +} + sub check_for_from_dns { my ($self) = @_;