Parent Directory | Revision Log | Patch
--- spamassassin/trunk/masses/rule-dev/maildir-scan-headers 2005/06/29 23:45:24 202452 +++ spamassassin/trunk/masses/rule-dev/maildir-scan-headers 2005/06/29 23:53:36 202453 @@ -5,11 +5,13 @@ sub usage { die "usage: maildir-scan-headers [-h headers] [--headers headers] - [-i] [-raw] [-sort] fileordir1 fileordir2 ... \n"; + [-re regexp] [-i] [-raw] [-sort] fileordir1 fileordir2 ... \n"; } +my $expect_attachment = 0; my $wanted = ''; +my $regexp = ''; my $sort = 0; my $casei = 0; my $raw = 0; @@ -18,6 +20,7 @@ my @files = (); use Getopt::Long qw(:config no_ignore_case); GetOptions( "headers|h=s" => \$wanted, + "re=s" => \$regexp, "casei|i" => \$casei, "raw" => \$raw, "sort" => \$sort, @@ -26,7 +29,9 @@ GetOptions( ); $wanted =~ s/[ ,\|;:]+/\|/gs; -if ($casei) { +if ($regexp) { + $wanted = qr{${regexp}}; +} elsif ($casei) { $wanted = qr{(?:$wanted)}i; } else { $wanted = qr{(?:$wanted)}; @@ -54,7 +59,7 @@ sub do_file { { if (/^$/) { last; } - if (!$raw && /X-Spam-Flag: YES/) { + if ($expect_attachment && !$raw && /X-Spam-Flag: YES/) { while (<IN>) { /^Content-Description: original message before SpamAssassin/ and last; } @@ -65,12 +70,15 @@ sub do_file { $hdrs .= $_; } + close IN; - $hdrs =~ s/(\n[ \t]+)/\\n /gs; # folding + + $hdrs =~ s/\n([ \t])/\\n$1/gs; # folding + $hdrs =~ s/\t/\\t/gs; # tabs $hdrs =~ s/\|/[pipe]/gs; # pipe chars - my @ok = ($hdrs =~ /^(${wanted}:(?: .*)?)$/gom); + my @ok = ($hdrs =~ /^(${wanted}:.*)$/gom); if ($sort) { @ok = sort @ok; } $hdrs = join ("|", @ok);
infrastructure at apache.org | ViewVC Help |
Powered by ViewVC 1.1.26 |