diff options
| author | Jani Nikula <jani@nikula.org> | 2017-09-16 17:59:04 +0300 |
|---|---|---|
| committer | David Bremner <david@tethera.net> | 2017-09-17 20:01:00 -0300 |
| commit | 55c047ee0b0c9081ead76925ee1adaeb858264dd (patch) | |
| tree | 1c9614df13484cbed2ceff42db12525b5819056a | |
| parent | 30c276146596769177e1e3c200d8bb94d4cf8531 (diff) | |
lib: index the content type of signature parts
It's useful (*) to be able to easily find messages with certain types
of signatures. Having the mimetype: prefix searches fail for some
content types is also genuinely surprising (*). Index the content type
of signature parts.
While at it, switch to the gmime convenience constants for content and
signature part indexes.
*) At least for developers of email software!
| -rw-r--r-- | lib/index.cc | 11 | ||||
| -rwxr-xr-x | test/T350-crypto.sh | 1 |
2 files changed, 7 insertions, 5 deletions
diff --git a/lib/index.cc b/lib/index.cc index 64bc92a5..0beaae62 100644 --- a/lib/index.cc +++ b/lib/index.cc @@ -398,12 +398,15 @@ _index_mime_part (notmuch_message_t *message, 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) + /* Don't index the signature, but index its content type. */ + if (i == GMIME_MULTIPART_SIGNED_SIGNATURE) { + _index_content_type (message, + g_mime_multipart_get_part (multipart, i)); continue; - if (i > 1) + } else if (i != GMIME_MULTIPART_SIGNED_CONTENT) { _notmuch_database_log (_notmuch_message_database (message), - "Warning: Unexpected extra parts of multipart/signed. Indexing anyway.\n"); + "Warning: Unexpected extra parts of multipart/signed. Indexing anyway.\n"); + } } if (GMIME_IS_MULTIPART_ENCRYPTED (multipart)) { /* Don't index encrypted parts. */ diff --git a/test/T350-crypto.sh b/test/T350-crypto.sh index 2f1f9ce4..b8f86256 100755 --- a/test/T350-crypto.sh +++ b/test/T350-crypto.sh @@ -38,7 +38,6 @@ test_expect_success \ "(mml-secure-message-sign)"' test_begin_subtest "signed part content-type indexing" -test_subtest_known_broken output=$(notmuch search mimetype:multipart/signed and mimetype:application/pgp-signature | notmuch_search_sanitize) test_expect_equal "$output" "thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; test signed message 001 (inbox signed)" |
