On Thu, Dec 10 2015, Daniel Kahn Gillmor <dkg@fifthhorseman.net> wrote: > This prepares the codebase for a cleaner changeset for dealing with > indexing some encrypted messages in the clear. > --- > lib/index.cc | 38 ++++++++++++++++++-------------------- > 1 file changed, 18 insertions(+), 20 deletions(-) > > diff --git a/lib/index.cc b/lib/index.cc > index f166aef..2fa6616 100644 > --- a/lib/index.cc > +++ b/lib/index.cc > @@ -333,27 +333,25 @@ _index_mime_part (notmuch_message_t *message, > GMimeMultipart *multipart = GMIME_MULTIPART (part); > int i; > > - if (GMIME_IS_MULTIPART_SIGNED (multipart)) > - _notmuch_message_add_term (message, "tag", "signed"); > - > - if (GMIME_IS_MULTIPART_ENCRYPTED (multipart)) > - _notmuch_message_add_term (message, "tag", "encrypted"); > - > - for (i = 0; i < g_mime_multipart_get_count (multipart); i++) { > - if (GMIME_IS_MULTIPART_SIGNED (multipart)) { > - /* Don't index the signature. */ > - if (i == 1) > - continue; > - if (i > 1) > - _notmuch_database_log (_notmuch_message_database (message), > - "Warning: Unexpected extra parts of multipart/signed. Indexing anyway.\n"); > - } > - if (GMIME_IS_MULTIPART_ENCRYPTED (multipart)) { > - /* Don't index encrypted parts. */ > - continue; > - } > + if (GMIME_IS_MULTIPART_SIGNED (multipart)) { > + _notmuch_message_add_term (message, "tag", "signed"); > + /* FIXME: should we try to validate the signature? */ > + > + /* FIXME: is it always just the first part that is signed in > + all multipart/signed messages?*/ > _index_mime_part (message, > - g_mime_multipart_get_part (multipart, i)); > + g_mime_multipart_get_part (multipart, 0)); > + > + if (g_mime_multipart_get_count (multipart) > 2) > + _notmuch_database_log (_notmuch_message_database (message), > + "Warning: Unexpected extra parts of multipart/signed. Indexing anyway.\n"); > + } else if (GMIME_IS_MULTIPART_ENCRYPTED (multipart)) { > + /* Don't index encrypted parts */ This could have the _notmuch_message_add_term (message, "tag", "encrypted"); that was added in next patch file ? (i saw your latest proposal, here i am commenting so that the relevant changes can be done in nest round...) > + } else { > + for (i = 0; i < g_mime_multipart_get_count (multipart); i++) { > + _index_mime_part (message, > + g_mime_multipart_get_part (multipart, i)); > + } > } > return; > } > -- > 2.6.2