cli/reply: pull proposed subject line from the message, not the index

Protected subject lines were being emitted in reply when the cleartext
of documents was indexed.  create_reply_message() was pulling the
subject line from the index, rather than pulling it from the
GMimeMessage object that it already has on hand.

This one-line fix to notmuch-reply.c solves that problem, and doesn't
cause any additional tests to fail.

Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
This commit is contained in:
Daniel Kahn Gillmor 2019-05-26 18:16:10 -04:00 committed by David Bremner
parent 06dedd0a83
commit 1c704dd22d
3 changed files with 1 additions and 3 deletions

View file

@ -591,7 +591,7 @@ create_reply_message(void *ctx,
from_addr); from_addr);
g_mime_object_set_header (GMIME_OBJECT (reply), "From", from_addr, NULL); g_mime_object_set_header (GMIME_OBJECT (reply), "From", from_addr, NULL);
subject = notmuch_message_get_header (message, "subject"); subject = g_mime_message_get_subject (mime_message);
if (subject) { if (subject) {
if (strncasecmp (subject, "Re:", 3)) if (strncasecmp (subject, "Re:", 3))
subject = talloc_asprintf (ctx, "Re: %s", subject); subject = talloc_asprintf (ctx, "Re: %s", subject);

View file

@ -100,7 +100,6 @@ test_json_nodes <<<"$output" \
'subject:[0]["subject"]="This is a protected header"' 'subject:[0]["subject"]="This is a protected header"'
test_begin_subtest "indexed protected subject is not visible in reply header" test_begin_subtest "indexed protected subject is not visible in reply header"
test_subtest_known_broken
output=$(notmuch reply --format=json 'id:protected-header@crypto.notmuchmail.org') output=$(notmuch reply --format=json 'id:protected-header@crypto.notmuchmail.org')
test_json_nodes <<<"$output" \ test_json_nodes <<<"$output" \
'subject:["original"]["headers"]["Subject"]="This is a protected header"' \ 'subject:["original"]["headers"]["Subject"]="This is a protected header"' \

View file

@ -92,7 +92,6 @@ test_expect_equal_file EXPECTED OUTPUT
# notmuch-emacs still leaks the subject line: # notmuch-emacs still leaks the subject line:
test_begin_subtest "don't leak protected subject during reply, even if indexed" test_begin_subtest "don't leak protected subject during reply, even if indexed"
test_subtest_known_broken
test_emacs "(let ((message-hidden-headers '())) test_emacs "(let ((message-hidden-headers '()))
(notmuch-show \"id:protected-header@crypto.notmuchmail.org\") (notmuch-show \"id:protected-header@crypto.notmuchmail.org\")
(notmuch-show-reply) (notmuch-show-reply)