summaryrefslogtreecommitdiff
path: root/parse-trac
diff options
context:
space:
mode:
Diffstat (limited to 'parse-trac')
-rwxr-xr-xparse-trac8
1 files changed, 8 insertions, 0 deletions
diff --git a/parse-trac b/parse-trac
index 0815e6e..1a571c7 100755
--- a/parse-trac
+++ b/parse-trac
@@ -24,6 +24,7 @@ $project =~ m/^([a-zA-Z-]+(\.[a-zA-Z-]+)*)+$/;
$project = $1;
die ("Project is not a nice name.\n") unless defined $project;
+my $is_base64 = 0;
open (MAIL, $ARGV[1]) || die ("Cannot open $ARGV[1]: $!\n");
my @mail = <MAIL>;
@@ -63,10 +64,17 @@ while (defined($line = shift @headers)) {
$url =~ s/^https:/http:/;
} elsif ($line =~ m/^X-Trac-Ticket-ID:\s*(.*)/i) {
$ticketid = $1;
+ } elsif ($line =~ m/^Content-Transfer-Encoding: base64$/s) {
+ $is_base64 = 1;
} elsif ($line =~ m/^$/) {
last;
}
};
+
+my $body = join '', @mail;
+$body = decode_base64($body) if ($is_base64);
+@mail = split(/\n/, $body);
+
my $first_line = shift @mail;
chomp $first_line;
shift @mail;