X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~webstump/git?p=modbot-mtm.git;a=blobdiff_plain;f=xlog%2Fbin%2Frecord;h=a62819575b6584d67c92da38f713c89236243aae;hp=27ca36bc414b25ebc6329a7eba0d71c812fb0608;hb=690a5eae396438205bfd645f09c35cef34561ee4;hpb=1f3068176f19e911fbe7eb9a852ca91961d4b751 diff --git a/xlog/bin/record b/xlog/bin/record index 27ca36b..a628195 100755 --- a/xlog/bin/record +++ b/xlog/bin/record @@ -11,6 +11,8 @@ $dir =~ s,/[^/]+$,,; $dir =~ s,/bin$,/log,; $dir .= "/$ARGV[1]"; +my $message; + sub parse__headerline () { $f{Subject}= $' if m/^Subject:\s*/i; #'; $f{MessageID}= $' if m/^Message\-ID:\s*/i; #'; @@ -71,12 +73,29 @@ sub parse_webstump2stump () { } sub parse_mailout () { + my $keepheader= 1; while () { + $keepheader= 1 unless m/^[ \t]/; + $keepheader= 0 + if m/^(?: received )/ix; + $keepheader= 'mangle' + if m/^(?: to + | from + | return-path + | reply-to + | errors-to + )/ix; + if ($keepheader) { + my $line= $_; + $line =~ s/\@.{0,2}/ at ../g if $keepheader eq 'mangle'; + $message .= $line; + } chomp; $f{Event}= "notify $'" if m/^X-Webstump-Event:\s*/i; #'; last if m/^$/; } while () { + $message .= $_; chomp; next unless s/^\> //; last if m/^$/; @@ -86,11 +105,18 @@ sub parse_mailout () { $f{Event}= '?'; &{"parse_$ARGV[0]"}; -while () { } +while () { $message .= $_; } STDIN->error and die $!; $f{Now}= time; +if ($f{Event} =~ m/^notify reject /) { + #$ref= $f{MessageID} + open I, ">$dir/nr-$f{MessageNum}.txt" or die $!; + print I $message or die $!; + close I or die $!; +} + open L, ">>$dir/event.log" or die $!; my @s= map {