Re: [PATCH 2/3] notmuch-mutt: support for messages that lack Message-ID headers
authorStefano Zacchiroli <zack@upsilon.cc>
Sat, 24 Jan 2015 15:21:06 +0000 (16:21 +0100)
committerW. Trevor King <wking@tremily.us>
Sat, 20 Aug 2016 21:47:46 +0000 (14:47 -0700)
f9/73e9d66d827ee43099d3bbc620b5c97f5671b1 [new file with mode: 0644]

diff --git a/f9/73e9d66d827ee43099d3bbc620b5c97f5671b1 b/f9/73e9d66d827ee43099d3bbc620b5c97f5671b1
new file mode 100644 (file)
index 0000000..46a835c
--- /dev/null
@@ -0,0 +1,108 @@
+Return-Path: <zack@upsilon.cc>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+       by olra.theworths.org (Postfix) with ESMTP id CA217431FCB\r
+       for <notmuch@notmuchmail.org>; Sat, 24 Jan 2015 07:21:13 -0800 (PST)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: 2.338\r
+X-Spam-Level: **\r
+X-Spam-Status: No, score=2.338 tagged_above=-999 required=5\r
+       tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1,\r
+       DNS_FROM_AHBL_RHSBL=2.438] autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+       by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+       with ESMTP id Xh3bIB7Tl7dD for <notmuch@notmuchmail.org>;\r
+       Sat, 24 Jan 2015 07:21:10 -0800 (PST)\r
+Received: from upsilon.cc (upsilon.cc [178.32.142.91])\r
+       by olra.theworths.org (Postfix) with ESMTP id 793A7431FAE\r
+       for <notmuch@notmuchmail.org>; Sat, 24 Jan 2015 07:21:10 -0800 (PST)\r
+Received: from timira.takhisis.invalid (unknown [78.194.69.54])\r
+       by upsilon.cc (Postfix) with ESMTPSA id BA56B7A02F;\r
+       Sat, 24 Jan 2015 16:21:07 +0100 (CET)\r
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=upsilon.cc; s=mail;\r
+       t=1422112867; bh=NTzuPtBVt7rmQXLrvwjVuWW6uW1a8jway1HJPYBIl0o=;\r
+       h=Date:From:To:Cc:Subject:References:In-Reply-To:From;\r
+       b=BDq2DgvUSocQUWSdoAoEH49+GROx7pLEsoesdveS0l9aDDFdqqa9pwYDKEjCciBgO\r
+       1wHkGmv1tzuKEcEx2DLbwdwCa5wm7snLjnR4CEDzl7hOHMEoNqHiVPqQLwc7uLoKZK\r
+       Vu7o4HgNPbqD6QRQn1k/wOjoyrXmDy3594Uo67dY=\r
+Received: by timira.takhisis.invalid (Postfix, from userid 1000)\r
+       id 7DF2A600E1; Sat, 24 Jan 2015 16:21:06 +0100 (CET)\r
+Date: Sat, 24 Jan 2015 16:21:06 +0100\r
+From: Stefano Zacchiroli <zack@upsilon.cc>\r
+To: notmuch@notmuchmail.org\r
+Subject: Re: [PATCH 2/3] notmuch-mutt: support for messages that lack\r
+       Message-ID      headers\r
+Message-ID: <20150124152106.GA23037@upsilon.cc>\r
+References: <1422090701-19385-1-git-send-email-zack@upsilon.cc>\r
+       <1422090701-19385-3-git-send-email-zack@upsilon.cc>\r
+       <871tmkql6j.fsf@nikula.org>\r
+MIME-Version: 1.0\r
+Content-Type: text/plain; charset=iso-8859-1\r
+Content-Disposition: inline\r
+Content-Transfer-Encoding: 8bit\r
+In-Reply-To: <871tmkql6j.fsf@nikula.org>\r
+User-Agent: Mutt/1.5.23 (2014-03-12)\r
+Cc: "Jan N. Klug" <jan.n.klug@rub.de>\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+       <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Sat, 24 Jan 2015 15:21:13 -0000\r
+\r
+First of all thanks for your feedback, Jani!\r
+(both here, and the other day on IRC, of course)\r
+\r
+On Sat, Jan 24, 2015 at 04:59:16PM +0200, Jani Nikula wrote:\r
+> On Sat, 24 Jan 2015, Stefano Zacchiroli <zack@upsilon.cc> wrote:\r
+> >\r
+> > For those messages, compute a synthetic Message-ID based on the SHA1\r
+> > of the whole message, in the same way that notmuch would do. See:\r
+> > http://git.notmuchmail.org/git/notmuch/blob/HEAD:/lib/sha1.c\r
+> \r
+> As I said on IRC, I think this is a notmuch implementation detail, and\r
+> we don't make any promises about always generating missing message-ids\r
+> the same way. That said, I don't see any reason why we'd change this\r
+> anytime soon, so the solution is probably good enough for now.\r
+\r
+ACK. I've noted down the code URL in the patch for reference, and also\r
+as a warning to keep an eye on.\r
+\r
+> > To do the above, rewrite get_message_id() to scan the current message\r
+> > line by line, incrementally computing a SHA1. As a consequence, drop\r
+> > the dependency on Mail::Internet.\r
+> \r
+> I am not so sure this is a good idea however, see below.\r
+\r
+So, fun part here is that I had initially made a similar comment to Jan.\r
+Then got convinced to do as the current patch does to avoid loading full\r
+messages (potentially with large attachments and the like) in memory.\r
+\r
+But I didn't think of header folding, and you're absolutely correct in\r
+saying that might be a problem.\r
+\r
+I've just found out Mail::Header->new which I believe solves both\r
+problems: avoid loading the full message into memory (it will only load\r
+the headers) and proper parsing folded Message-IDs, without having to\r
+use more complex regexp hackery.\r
+\r
+Jan: do you agree with using Mail::Header->new and fall back to\r
+line-by-line hasing only in case Message-ID is not found? If so, having\r
+an updated patch based on the one I've posted here would be awesome! If\r
+you cannot do that just let me know and I'll get to it, eventually :).\r
+\r
+Cheers.\r
+-- \r
+Stefano Zacchiroli  . . . . . . .  zack@upsilon.cc . . . . o . . . o . o\r
+Maître de conférences . . . . . http://upsilon.cc/zack . . . o . . . o o\r
+Former Debian Project Leader  . . @zack on identi.ca . . o o o . . . o .\r
+« the first rule of tautology club is the first rule of tautology club »\r