about summary refs log tree commit homepage
path: root/lib
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2016-06-26 23:36:36 +0000
committerEric Wong <e@80x24.org>2016-06-26 23:36:36 +0000
commit31a6ff1221fe70f309ac2476024ebb7953a4e477 (patch)
tree9b967a595c077b25dede056fce20e6577803ba5b /lib
parenta0c07cba0e5d8b6a518e276e83477fd3892efaec (diff)
downloadpublic-inbox-31a6ff1221fe70f309ac2476024ebb7953a4e477.tar.gz
Some messages will be misimported due to an old bug,
clean them up and ensure we do not propagate the mistake.

Followup-to: a0c07cba0e5d ("mda: drop leading "From " lines again")
Diffstat (limited to 'lib')
-rw-r--r--lib/PublicInbox/Inbox.pm4
-rw-r--r--lib/PublicInbox/SearchIdx.pm2
2 files changed, 5 insertions, 1 deletions
diff --git a/lib/PublicInbox/Inbox.pm b/lib/PublicInbox/Inbox.pm
index 34191fc7..87c2c9fc 100644
--- a/lib/PublicInbox/Inbox.pm
+++ b/lib/PublicInbox/Inbox.pm
@@ -99,7 +99,9 @@ sub nntp_usable {
 sub msg_by_path ($$;$) {
         my ($self, $path, $ref) = @_;
         # TODO: allow other refs:
-        git($self)->cat_file('HEAD:'.$path, $ref);
+        my $str = git($self)->cat_file('HEAD:'.$path, $ref);
+        $$str =~ s/\A[\r\n]*From [^\r\n]*\r?\n//s;
+        $str;
 }
 
 sub msg_by_mid ($$;$) {
diff --git a/lib/PublicInbox/SearchIdx.pm b/lib/PublicInbox/SearchIdx.pm
index 58eccc1a..c2bf9a2d 100644
--- a/lib/PublicInbox/SearchIdx.pm
+++ b/lib/PublicInbox/SearchIdx.pm
@@ -311,6 +311,8 @@ sub do_cat_mail {
         my ($git, $blob, $sizeref) = @_;
         my $mime = eval {
                 my $str = $git->cat_file($blob, $sizeref);
+                # fixup bugs from import:
+                $$str =~ s/\A[\r\n]*From [^\r\n]*\r?\n//s;
                 Email::MIME->new($str);
         };
         $@ ? undef : $mime;