Re: Bug report: undeletable traces of ghosts in the notmuch database
authorDaniel Kahn Gillmor <dkg@fifthhorseman.net>
Fri, 15 Jan 2016 19:26:01 +0000 (14:26 +1900)
committerW. Trevor King <wking@tremily.us>
Sat, 20 Aug 2016 23:20:53 +0000 (16:20 -0700)
8a/95f4226663c1ba37d0fb678b30f85785aab129 [new file with mode: 0644]

diff --git a/8a/95f4226663c1ba37d0fb678b30f85785aab129 b/8a/95f4226663c1ba37d0fb678b30f85785aab129
new file mode 100644 (file)
index 0000000..8f7479f
--- /dev/null
@@ -0,0 +1,114 @@
+Return-Path: <dkg@fifthhorseman.net>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+ by arlo.cworth.org (Postfix) with ESMTP id 5A5336DE178F\r
+ for <notmuch@notmuchmail.org>; Fri, 15 Jan 2016 11:26:05 -0800 (PST)\r
+X-Virus-Scanned: Debian amavisd-new at cworth.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -0.024\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-0.024 tagged_above=-999 required=5\r
+ tests=[AWL=-0.024] autolearn=disabled\r
+Received: from arlo.cworth.org ([127.0.0.1])\r
+ by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024)\r
+ with ESMTP id dD6FxVVquXKn for <notmuch@notmuchmail.org>;\r
+ Fri, 15 Jan 2016 11:26:03 -0800 (PST)\r
+Received: from che.mayfirst.org (che.mayfirst.org [209.234.253.108])\r
+ by arlo.cworth.org (Postfix) with ESMTP id A48BF6DE0A87\r
+ for <notmuch@notmuchmail.org>; Fri, 15 Jan 2016 11:26:03 -0800 (PST)\r
+Received: from fifthhorseman.net (unknown [38.109.115.130])\r
+ by che.mayfirst.org (Postfix) with ESMTPSA id 47067F984\r
+ for <notmuch@notmuchmail.org>; Fri, 15 Jan 2016 14:26:01 -0500 (EST)\r
+Received: by fifthhorseman.net (Postfix, from userid 1000)\r
+ id 1250320000; Fri, 15 Jan 2016 11:26:01 -0800 (PST)\r
+From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>\r
+To: notmuch@notmuchmail.org\r
+Subject: Re: Bug report: undeletable traces of ghosts in the notmuch database\r
+In-Reply-To: <87twmf7t8k.fsf@alice.fifthhorseman.net>\r
+References: <87twmf7t8k.fsf@alice.fifthhorseman.net>\r
+User-Agent: Notmuch/0.21+66~g8c19a9a (http://notmuchmail.org) Emacs/24.5.1\r
+ (x86_64-pc-linux-gnu)\r
+Date: Fri, 15 Jan 2016 14:26:01 -0500\r
+Message-ID: <87y4bq63w6.fsf@alice.fifthhorseman.net>\r
+MIME-Version: 1.0\r
+Content-Type: multipart/mixed; boundary="=-=-="\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.20\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+ <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <https://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: <https://notmuchmail.org/mailman/listinfo/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Fri, 15 Jan 2016 19:26:05 -0000\r
+\r
+--=-=-=\r
+Content-Type: text/plain\r
+\r
+On Thu 2016-01-14 16:20:59 -0500, Daniel Kahn Gillmor wrote:\r
+> This suggests that if i include a bogus message-id in my References:\r
+> list for any mail i send to a notmuch user, then access to their\r
+> database will let me tell whether they ever saw it or not, regardless of\r
+> whether they deleted the message.\r
+\r
+The script below demonstrates the problem.\r
+\r
+before the message is added and removed, delve -a shows:\r
+\r
+----------------------\r
+All terms in database:\r
+----------------------\r
+\r
+but afterward, it shows:\r
+\r
+----------------------\r
+All terms in database: G0000000000000001 Qno-such-message@example.org Tghost XDDIRENTRY2:new XDIRECTORY XDIRECTORYnew\r
+----------------------\r
+\r
+    --dkg\r
+\r
+\r
+--=-=-=\r
+Content-Type: text/x-sh\r
+Content-Disposition: inline; filename=demonstrate-ghost-leak\r
+\r
+#!/bin/bash -x\r
+\r
+workdir="$(mktemp -d)"\r
+export NOTMUCH_CONFIG="${workdir}/.notmuch-config"\r
+mkdir -p "${workdir}"/messages/{cur,tmp,new}\r
+\r
+cat >$NOTMUCH_CONFIG <<EOF\r
+[database]\r
+path=$workdir/messages\r
+EOF\r
+\r
+notmuch new\r
+delve -a $workdir/messages/.notmuch/xapian\r
+\r
+cat >"${workdir}"/messages/new/test-message.eml <<EOF\r
+From: alice@example.org\r
+To: bob@example.org\r
+Date: Fri, 15 Jan 2016 14:16:46 -0500\r
+Subject: a test message\r
+References: <no-such-message@example.org>\r
+Message-ID: <12345@example.org>\r
+Content-Type: text/plain\r
+\r
+This is a test message\r
+EOF\r
+\r
+notmuch new\r
+delve -a $workdir/messages/.notmuch/xapian\r
+\r
+rm -f "${workdir}"/messages/new/test-message.eml\r
+\r
+notmuch new\r
+delve -a $workdir/messages/.notmuch/xapian\r
+\r
+--=-=-=--\r