about summary refs log tree commit homepage
path: root/lib/PublicInbox/SearchIdx.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/PublicInbox/SearchIdx.pm')
-rw-r--r--lib/PublicInbox/SearchIdx.pm30
1 files changed, 6 insertions, 24 deletions
diff --git a/lib/PublicInbox/SearchIdx.pm b/lib/PublicInbox/SearchIdx.pm
index e2a0a544..8200b54c 100644
--- a/lib/PublicInbox/SearchIdx.pm
+++ b/lib/PublicInbox/SearchIdx.pm
@@ -285,17 +285,12 @@ sub link_message {
         my $mid = $smsg->mid;
         my $mime = $smsg->{mime};
         my $hdr = $mime->header_obj;
-        my $refs = $hdr->header_raw('References');
-        my @refs = defined $refs ? ($refs =~ /<([^>]+)>/g) : ();
-        my $irt = $hdr->header_raw('In-Reply-To');
-        if (defined $irt) {
-                if ($irt eq '') {
-                        $irt = undef;
-                } else {
-                        $irt = mid_clean($irt);
-                        $irt = undef if $mid eq $irt;
-                }
-        }
+
+        # last References should be IRT, but some mail clients do things
+        # out of order, so trust IRT over References iff IRT exists
+        my @refs = ($hdr->header_raw('References'),
+                        $hdr->header_raw('In-Reply-To'));
+        @refs = ((join(' ', @refs)) =~ /<([^>]+)>/g);
 
         my $tid;
         if (@refs) {
@@ -303,15 +298,6 @@ sub link_message {
                 my @orig_refs = @refs;
                 @refs = ();
 
-                if (defined $irt) {
-                        # to check MAX_MID_SIZE
-                        push @orig_refs, $irt;
-
-                        # below, we will ensure IRT (if specified)
-                        # is the last References
-                        $uniq{$irt} = 1;
-                }
-
                 # prevent circular references via References: here:
                 foreach my $ref (@orig_refs) {
                         if (length($ref) > MAX_MID_SIZE) {
@@ -323,10 +309,6 @@ sub link_message {
                 }
         }
 
-        # last References should be IRT, but some mail clients do things
-        # out of order, so trust IRT over References iff IRT exists
-        push @refs, $irt if defined $irt;
-
         if (@refs) {
                 $smsg->{references} = '<'.join('> <', @refs).'>';