Ensure we usually strip one level of '<>' from Message-IDs,
since our internal SQLite, Xapian, and SHA-1 storage all
assume that.
Realistically, we screw up if somebody has '<<' or '>>',
but those are screwed up mail clients and we can deal with
it another time. Currently, this means some messages with
'>>' in References or Message-Id are not handled correctly,
yet, but we match the behavior of Mail::Thread in keeping
the extra '>'.
my $midurl = $feed_opts->{midurl};
my $header_obj = $mime->header_obj;
my $midurl = $feed_opts->{midurl};
my $header_obj = $mime->header_obj;
- my $mid = $header_obj->header_raw('Message-ID');
- defined $mid or return;
+ my $mid = mid_clean($header_obj->header_raw('Message-ID'));
$mid = PublicInbox::Hval->new_msgid($mid);
my $href = $midurl . $mid->{href}. '/';
$mid = PublicInbox::Hval->new_msgid($mid);
my $href = $midurl . $mid->{href}. '/';
sub new_msgid {
my ($class, $msgid) = @_;
sub new_msgid {
my ($class, $msgid) = @_;
- $msgid = mid_clean($msgid);
$class->new($msgid, mid_escape($msgid));
}
$class->new($msgid, mid_escape($msgid));
}
$ctx->{-upfx} = '../';
}
my @title;
$ctx->{-upfx} = '../';
}
my @title;
- my $mid = $hdr->header_raw('Message-ID');
+ my $mid = mid_clean($hdr->header_raw('Message-ID'));
$mid = PublicInbox::Hval->new_msgid($mid);
foreach my $h (qw(From To Cc Subject Date)) {
my $v = $hdr->header($h);
$mid = PublicInbox::Hval->new_msgid($mid);
foreach my $h (qw(From To Cc Subject Date)) {
my $v = $hdr->header($h);