X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=lib%2Findexopts.c;h=15c31d249620b8c33caa53ed0469e63cd4029262;hb=d0da7a0a1c24b937eb754e8f73e5cf7e3857f24a;hp=2f9b841b3c90d210a9e8f35c5da2a26e395dc916;hpb=eb232ee0aba8f031fe4f0cb509682a321d85e06e;p=notmuch diff --git a/lib/indexopts.c b/lib/indexopts.c index 2f9b841b..15c31d24 100644 --- a/lib/indexopts.c +++ b/lib/indexopts.c @@ -21,9 +21,43 @@ #include "notmuch-private.h" notmuch_indexopts_t * -notmuch_database_get_default_indexopts (notmuch_database_t unused (*db)) +notmuch_database_get_default_indexopts (notmuch_database_t *db) { - return NULL; + notmuch_indexopts_t *ret = talloc_zero (db, notmuch_indexopts_t); + if (!ret) + return ret; + + char * try_decrypt; + notmuch_status_t err = notmuch_database_get_config (db, "index.try_decrypt", &try_decrypt); + if (err) + return ret; + + if (try_decrypt && + ((!(strcasecmp(try_decrypt, "true"))) || + (!(strcasecmp(try_decrypt, "yes"))) || + (!(strcasecmp(try_decrypt, "1"))))) + notmuch_indexopts_set_try_decrypt (ret, true); + + free (try_decrypt); + return ret; +} + +notmuch_status_t +notmuch_indexopts_set_try_decrypt (notmuch_indexopts_t *indexopts, + notmuch_bool_t try_decrypt) +{ + if (!indexopts) + return NOTMUCH_STATUS_NULL_POINTER; + indexopts->crypto.decrypt = try_decrypt; + return NOTMUCH_STATUS_SUCCESS; +} + +notmuch_bool_t +notmuch_indexopts_get_try_decrypt (const notmuch_indexopts_t *indexopts) +{ + if (!indexopts) + return false; + return indexopts->crypto.decrypt; } void