X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=script%2Fpublic-inbox-mda;h=766d58a6f4c22cd97ca91a9fda6dc7bd421d8bca;hb=69329215485cf2ab9d8cd1fa7faf65d8ec42dc0b;hp=60f817dc08d4afb4f64ef0667da789dc38af889f;hpb=3fc59df0d633a17e0c5e43d633d12e8772c06ec3;p=public-inbox.git diff --git a/script/public-inbox-mda b/script/public-inbox-mda index 60f817dc..766d58a6 100755 --- a/script/public-inbox-mda +++ b/script/public-inbox-mda @@ -1,6 +1,6 @@ #!/usr/bin/perl -w -# Copyright (C) 2013-2015 all contributors -# License: AGPLv3 or later (https://www.gnu.org/licenses/agpl-3.0.txt) +# Copyright (C) 2013-2018 all contributors +# License: AGPL-3.0+ # # Mail delivery agent for public-inbox, run from your MTA upon mail delivery use strict; @@ -15,9 +15,7 @@ sub do_exit { } use Email::Simple; -use Email::MIME; -use Email::MIME::ContentType; -$Email::MIME::ContentType::STRICT_PARAMS = 0; # user input is imperfect +use PublicInbox::MIME; use PublicInbox::MDA; use PublicInbox::Config; use PublicInbox::Import; @@ -80,8 +78,18 @@ if (ref($ret) && $ret->isa('Email::MIME')) { # filter altered message } # else { accept PublicInbox::MDA->set_list_headers($mime, $dst); -my $git = PublicInbox::Git->new($main_repo); -my $im = PublicInbox::Import->new($git, $dst->{name}, $recipient); +my $v = $dst->{version} || 1; +my $im; +if ($v == 2) { + require PublicInbox::V2Writable; + $im = PublicInbox::V2Writable->new($dst); + $im->{parallel} = 0; # pointless to be parallel for a single message +} elsif ($v == 1) { + my $git = $dst->git; + $im = PublicInbox::Import->new($git, $dst->{name}, $recipient, $dst); +} else { + die "Unsupported inbox version: $v\n"; +} if (defined $im->add($mime)) { $emm = $emm->abort; } else {