diff options
| author | Daniel Kahn Gillmor <dkg@fifthhorseman.net> | 2017-12-08 01:23:59 -0500 |
|---|---|---|
| committer | David Bremner <david@tethera.net> | 2017-12-08 08:08:46 -0400 |
| commit | 076f86025d519522cde5787def6c03fc308e8ebc (patch) | |
| tree | c70e0281aa8621054870c108c047881cec02fad3 | |
| parent | d137170b23f8ccd9f967445e101d6f694df1cad4 (diff) | |
cli/new, insert, reindex: change index.decrypt to "auto" by default
The new "auto" decryption policy is not only good for "notmuch show"
and "notmuch reindex". It's also useful for indexing messages --
there's no good reason to not try to go ahead and index the cleartext
of a message that we have a stashed session key for.
This change updates the defaults and tunes the test suite to make sure
that they have taken effect.
| -rw-r--r-- | doc/man1/notmuch-config.rst | 2 | ||||
| -rw-r--r-- | lib/indexopts.c | 8 | ||||
| -rwxr-xr-x | test/T357-index-decryption.sh | 4 |
3 files changed, 8 insertions, 6 deletions
diff --git a/doc/man1/notmuch-config.rst b/doc/man1/notmuch-config.rst index 4835f897..1a9e08a3 100644 --- a/doc/man1/notmuch-config.rst +++ b/doc/man1/notmuch-config.rst @@ -154,7 +154,7 @@ The available configuration items are described below. DO NOT USE ``index.decrypt=true`` without considering the security of your index. - Default: ``false``. + Default: ``auto``. **built_with.<name>** diff --git a/lib/indexopts.c b/lib/indexopts.c index a04d1c1c..26a31e89 100644 --- a/lib/indexopts.c +++ b/lib/indexopts.c @@ -26,7 +26,7 @@ notmuch_database_get_default_indexopts (notmuch_database_t *db) notmuch_indexopts_t *ret = talloc_zero (db, notmuch_indexopts_t); if (!ret) return ret; - ret->crypto.decrypt = NOTMUCH_DECRYPT_FALSE; + ret->crypto.decrypt = NOTMUCH_DECRYPT_AUTO; char * decrypt_policy; notmuch_status_t err = notmuch_database_get_config (db, "index.decrypt", &decrypt_policy); @@ -38,8 +38,10 @@ notmuch_database_get_default_indexopts (notmuch_database_t *db) (!(strcasecmp(decrypt_policy, "yes"))) || (!(strcasecmp(decrypt_policy, "1")))) notmuch_indexopts_set_decrypt_policy (ret, NOTMUCH_DECRYPT_TRUE); - else if (!strcasecmp(decrypt_policy, "auto")) - notmuch_indexopts_set_decrypt_policy (ret, NOTMUCH_DECRYPT_AUTO); + else if ((!(strcasecmp(decrypt_policy, "false"))) || + (!(strcasecmp(decrypt_policy, "no"))) || + (!(strcasecmp(decrypt_policy, "0")))) + notmuch_indexopts_set_decrypt_policy (ret, NOTMUCH_DECRYPT_FALSE); } free (decrypt_policy); diff --git a/test/T357-index-decryption.sh b/test/T357-index-decryption.sh index c3730488..bd213415 100755 --- a/test/T357-index-decryption.sh +++ b/test/T357-index-decryption.sh @@ -142,7 +142,7 @@ test_expect_equal \ # ensure no session keys are present: test_begin_subtest 'reindex using only session keys' -test_expect_success 'notmuch reindex --decrypt=auto tag:encrypted and property:index.decryption=success' +test_expect_success 'notmuch reindex tag:encrypted and property:index.decryption=success' test_begin_subtest "reindexed encrypted messages, decrypting only with session keys" output=$(notmuch search wumpus) expected='' @@ -190,7 +190,7 @@ notmuch restore <<EOF #notmuch-dump batch-tag:3 config,properties,tags #= simple-encrypted@crypto.notmuchmail.org session-key=9%3AFC09987F5F927CC0CC0EE80A96E4C5BBF4A499818FB591207705DFDDD6112CF9 EOF -notmuch reindex --decrypt=auto id:simple-encrypted@crypto.notmuchmail.org +notmuch reindex id:simple-encrypted@crypto.notmuchmail.org output=$(notmuch search sekrit) expected='thread:0000000000000001 2016-12-22 [1/1] Daniel Kahn Gillmor; encrypted message (encrypted inbox unread)' if [ $NOTMUCH_HAVE_GMIME_SESSION_KEYS -eq 0 ]; then |
