]> git.donarmstrong.com Git - debbugs.git/blobdiff - scripts/spamscan-sa
fix inversion of date/versions in Debbugs::Status leading to negative times argument
[debbugs.git] / scripts / spamscan-sa
index 190cca58de9798c70486d90a780ce2d8989eaeca..3f6c26f490a650d8c7f6747febb9ef850194f2ce 100755 (executable)
@@ -24,7 +24,8 @@ sub header_or_empty ($$) {
     my $value = $mail->get_header($hdr);
     if (defined $value) {
        chomp $value;
-       $value =~ tr/\n/\\n/;
+        # replace newlines with '\n'
+       $value =~ s/\n/\\n/g;
        return $value;
     }
     return '';
@@ -104,13 +105,10 @@ while (my $id = <STDIN>) {
            $out .= "  spam $score\n";
            $nseen = $score;
        } else {
+           my ($before, $received, $after) = $headers =~
+               /(^.*?)(^Received\: \(at .*?\n)(.*$)/ms;
            open OUT, "> incoming/I$id" or die "open incoming/I$id: $!";
-           my ($received, $from, $other_headers) =
-               split(/\n/, $headers, 3);
-           if ($received =~ /^From /) {
-               ($received, $from) = ($from, $received);
-           }
-           print OUT "$received\n$from\n$other_headers"
+           print OUT $received . $before . $after
                or die "print incoming/I$id: $!";
            if ($ca_score > 1) {
                print OUT "X-CrossAssassin-Score: $ca_score\n"