From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-3.1 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00 shortcircuit=no autolearn=unavailable version=3.3.2 X-Original-To: meta@public-inbox.org Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 492421F8B6 for ; Thu, 20 Aug 2015 10:20:30 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 3/4] avoid using header_raw for Message-ID retrieval Date: Thu, 20 Aug 2015 10:20:28 +0000 Message-Id: <1440066029-7400-3-git-send-email-e@80x24.org> In-Reply-To: <1440066029-7400-1-git-send-email-e@80x24.org> References: <1440066029-7400-1-git-send-email-e@80x24.org> List-Id: This is for consistency with ssoma. I doubt it makes a difference in practice, but in case somebody decides any of the Message-ID-containing headers should have strange characters, we'll decode and attempt to thread them. This isn't an attack vector, just a way to make messages thread improperly which is pointless... --- lib/PublicInbox/Feed.pm | 4 ++-- lib/PublicInbox/Search.pm | 8 ++++---- lib/PublicInbox/View.pm | 14 +++++++------- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/lib/PublicInbox/Feed.pm b/lib/PublicInbox/Feed.pm index 2e352cb..bbf5061 100644 --- a/lib/PublicInbox/Feed.pm +++ b/lib/PublicInbox/Feed.pm @@ -254,7 +254,7 @@ sub add_to_feed { my $fullurl = $feed_opts->{fullurl} || 'http://example.com/f/'; my $header_obj = $mime->header_obj; - my $mid = $header_obj->header_raw('Message-ID'); + my $mid = $header_obj->header('Message-ID'); defined $mid or return 0; $mid = PublicInbox::Hval->new_msgid($mid); my $href = $mid->as_href . '.html'; @@ -318,7 +318,7 @@ sub add_topic { my $mime = do_cat_mail($git, $path) or return 0; $header_obj = $mime->header_obj; } - my $mid = $header_obj->header_raw('Message-ID'); + my $mid = $header_obj->header('Message-ID'); $mid = mid_compressed(mid_clean($mid)); $u = $enc_utf8->decode($u); push @$order, [ $mid, $ts, $u, $subj ]; diff --git a/lib/PublicInbox/Search.pm b/lib/PublicInbox/Search.pm index d9e5fd1..2c66e55 100644 --- a/lib/PublicInbox/Search.pm +++ b/lib/PublicInbox/Search.pm @@ -84,7 +84,7 @@ sub add_message { my $db = $self->{xdb}; my $doc_id; - my $mid_orig = mid_clean($mime->header_obj->header_raw('Message-ID')); + my $mid_orig = mid_clean($mime->header_obj->header('Message-ID')); my $mid = mid_compressed($mid_orig); my $was_ghost = 0; my $ct_msg = $mime->header('Content-Type') || 'text/plain'; @@ -348,9 +348,9 @@ sub link_message_to_parents { my $doc = $smsg->{doc}; my $mid = mid_compressed($smsg->mid); my $mime = $smsg->mime; - my $refs = $mime->header_obj->header_raw('References'); + my $refs = $mime->header_obj->header('References'); my @refs = $refs ? ($refs =~ /<([^>]+)>/g) : (); - my $irt = $mime->header_obj->header_raw('In-Reply-To'); + my $irt = $mime->header_obj->header('In-Reply-To'); if ($irt) { if ($irt =~ /<([^>]+)>/) { $irt = $1; @@ -529,7 +529,7 @@ sub index_blob { sub unindex_blob { my ($self, $git, $blob) = @_; my $mime = do_cat_mail($git, $blob) or return; - my $mid = $mime->header_obj->header_raw('Message-ID'); + my $mid = $mime->header_obj->header('Message-ID'); eval { $self->remove_message($mid) } if defined $mid; warn "W: unindex_blob $blob: $@\n" if $@; } diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm index fe701b1..fb000f2 100644 --- a/lib/PublicInbox/View.pm +++ b/lib/PublicInbox/View.pm @@ -57,7 +57,7 @@ sub index_entry { my $subj = $mime->header('Subject'); my $header_obj = $mime->header_obj; - my $mid_raw = $header_obj->header_raw('Message-ID'); + my $mid_raw = $header_obj->header('Message-ID'); my $id = anchor_for($mid_raw); $seen->{$id} = "#$id"; # save the anchor for later @@ -73,7 +73,7 @@ sub index_entry { my $more = 'permalink'; my $path = $root_anchor ? '../' : ''; my $href = $mid->as_href; - my $irt = $header_obj->header_raw('In-Reply-To'); + my $irt = $header_obj->header('In-Reply-To'); my ($anchor_idx, $anchor, $t_anchor); if (defined $irt) { $anchor_idx = anchor_for($irt); @@ -361,7 +361,7 @@ sub headers_to_html_header { my $rv = ""; my @title; my $header_obj = $mime->header_obj; - my $mid = $header_obj->header_raw('Message-ID'); + my $mid = $header_obj->header('Message-ID'); $mid = PublicInbox::Hval->new_msgid($mid); my $mid_href = $mid->as_href; foreach my $h (qw(From To Cc Subject Date)) { @@ -388,7 +388,7 @@ sub headers_to_html_header { $mid_href = "../m/$mid_href" unless $full_pfx; $rv .= "(raw)\n"; - my $irt = $header_obj->header_raw('In-Reply-To'); + my $irt = $header_obj->header('In-Reply-To'); if (defined $irt) { my $v = PublicInbox::Hval->new_msgid($irt); my $html = $v->as_html; @@ -397,7 +397,7 @@ sub headers_to_html_header { $rv .= "$html>\n"; } - my $refs = $header_obj->header_raw('References'); + my $refs = $header_obj->header('References'); if ($refs) { # avoid redundant URLs wasting bandwidth my %seen; @@ -441,7 +441,7 @@ sub html_footer { my $subj = $mime->header('Subject') || ''; $subj = "Re: $subj" unless $subj =~ /\bRe:/; - my $mid = $mime->header_obj->header_raw('Message-ID'); + my $mid = $mime->header_obj->header('Message-ID'); my $irt = uri_escape_utf8($mid); delete $cc{$to}; $to = uri_escape_utf8($to); @@ -452,7 +452,7 @@ sub html_footer { my $idx = $standalone ? " index" : ''; if ($idx && $srch) { - $irt = $mime->header_obj->header_raw('In-Reply-To') || ''; + $irt = $mime->header_obj->header('In-Reply-To') || ''; $mid = mid_compressed(mid_clean($mid)); my $t_anchor = length $irt ? T_ANCHOR : ''; $idx = " ". -- EW