Re: Bug report: undeletable traces of ghosts in the notmuch database

2016-01-15 Thread Daniel Kahn Gillmor
On Thu 2016-01-14 16:20:59 -0500, Daniel Kahn Gillmor wrote:
> This suggests that if i include a bogus message-id in my References:
> list for any mail i send to a notmuch user, then access to their
> database will let me tell whether they ever saw it or not, regardless of
> whether they deleted the message.

The script below demonstrates the problem.

before the message is added and removed, delve -a shows:

--
All terms in database:
--

but afterward, it shows:

--
All terms in database: G0001 qno-such-mess...@example.org Tghost 
XDDIRENTRY2:new XDIRECTORY XDIRECTORYnew
--

--dkg

#!/bin/bash -x

workdir="$(mktemp -d)"
export NOTMUCH_CONFIG="${workdir}/.notmuch-config"
mkdir -p "${workdir}"/messages/{cur,tmp,new}

cat >$NOTMUCH_CONFIG <"${workdir}"/messages/new/test-message.eml <
Message-ID: <12...@example.org>
Content-Type: text/plain

This is a test message
EOF

notmuch new
delve -a $workdir/messages/.notmuch/xapian

rm -f "${workdir}"/messages/new/test-message.eml

notmuch new
delve -a $workdir/messages/.notmuch/xapian
___
notmuch mailing list
notmuch@notmuchmail.org
https://notmuchmail.org/mailman/listinfo/notmuch


Bug report: undeletable traces of ghosts in the notmuch database

2016-01-14 Thread Daniel Kahn Gillmor
If i add a message to my notmuch database that includes References: or
In-Reply-To: of a message-id that i don't have, notmuch creates a
"ghost" entry in the database.

If i remove the message from my mail archive, and then re-run "notmuch
new", i'd expect all traces of that message to be gone completely.

However, the ghost message-IDs appear to remain in the database.  I've
tested this by:

 * create a demo notmuch installation

 * use delve -a to see that there is nothing in the db

 * add a message to it

 * run "notmuch new"

 * use delve -a (from xapian-tools) to see the list of terms

 * remove the message

 * run "notmuch new"

 * use delve -a to see that the ghost terms remain


This suggests that if i include a bogus message-id in my References:
list for any mail i send to a notmuch user, then access to their
database will let me tell whether they ever saw it or not, regardless of
whether they deleted the message.

Deletion by the user should be final -- i don't like it when tools
snitch on their users.

How should this be fixed?

 --dkg
___
notmuch mailing list
notmuch@notmuchmail.org
https://notmuchmail.org/mailman/listinfo/notmuch