From a0ff3e44454322dd35c76a58fba311297ee00218 Mon Sep 17 00:00:00 2001 From: "Eric W. Biederman" Date: Tue, 15 Jan 2019 16:36:42 -0600 Subject: PublicInbox::Import Smuggle a raw message into add I don't trust the MIME type to not munge my email messages in horrible ways upon occasion. Therefore allow for passing in the raw message value instead of trusting the mime object to preserve it. Signed-off-by: "Eric W. Biederman" [ew: use "//" from Perl 5.10+ for defined check] --- lib/PublicInbox/Import.pm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'lib') diff --git a/lib/PublicInbox/Import.pm b/lib/PublicInbox/Import.pm index 137b2b78..e1f48771 100644 --- a/lib/PublicInbox/Import.pm +++ b/lib/PublicInbox/Import.pm @@ -394,16 +394,16 @@ sub add { } my $blob = $self->{mark}++; - my $str = $mime->as_string; - my $n = length($str); + my $raw_email = $mime->{-public_inbox_raw} // $mime->as_string; + my $n = length($raw_email); $self->{bytes_added} += $n; print $w "blob\nmark :$blob\ndata ", $n, "\n" or wfail; - print $w $str, "\n" or wfail; + print $w $raw_email, "\n" or wfail; # v2: we need this for Xapian if ($self->{want_object_info}) { my $oid = $self->get_mark(":$blob"); - $self->{last_object} = [ $oid, $n, \$str ]; + $self->{last_object} = [ $oid, $n, \$raw_email ]; } my $ref = $self->{ref}; my $commit = $self->{mark}++; -- cgit v1.2.3-24-ge0c7