From: Eric W. Biederman Date: Tue, 15 Jan 2019 22:36:42 +0000 (-0600) Subject: PublicInbox::Import Smuggle a raw message into add X-Git-Tag: v1.2.0~43 X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=commitdiff_plain;h=a0ff3e44454322dd35c76a58fba311297ee00218 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] --- 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}++;