From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.0 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 415241F6C1 for ; Sun, 14 Aug 2016 11:10:27 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH] www: do not double-clean Message-IDs from internal DBs Date: Sun, 14 Aug 2016 11:10:27 +0000 Message-Id: <20160814111027.12143-1-e@80x24.org> List-Id: 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 '>'. --- lib/PublicInbox/Feed.pm | 3 +-- lib/PublicInbox/Hval.pm | 1 - lib/PublicInbox/View.pm | 2 +- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/PublicInbox/Feed.pm b/lib/PublicInbox/Feed.pm index 232a91c..25fec10 100644 --- a/lib/PublicInbox/Feed.pm +++ b/lib/PublicInbox/Feed.pm @@ -266,8 +266,7 @@ sub feed_entry { 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}. '/'; diff --git a/lib/PublicInbox/Hval.pm b/lib/PublicInbox/Hval.pm index 7249606..77acecd 100644 --- a/lib/PublicInbox/Hval.pm +++ b/lib/PublicInbox/Hval.pm @@ -31,7 +31,6 @@ sub new { sub new_msgid { my ($class, $msgid) = @_; - $msgid = mid_clean($msgid); $class->new($msgid, mid_escape($msgid)); } diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm index 34f97c7..6f79f60 100644 --- a/lib/PublicInbox/View.pm +++ b/lib/PublicInbox/View.pm @@ -491,7 +491,7 @@ sub _msg_html_prepare { $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); -- EW