<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/notmuch-config.c, branch 0.26.2</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.26.2</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.26.2'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2017-12-08T12:05:53Z</updated>
<entry>
<title>indexing: Change from try_decrypt to decrypt</title>
<updated>2017-12-08T12:05:53Z</updated>
<author>
<name>Daniel Kahn Gillmor</name>
<email>dkg@fifthhorseman.net</email>
</author>
<published>2017-12-08T06:23:50Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=d3964e81ac98825a025a6120c488ebd73de2a281'/>
<id>urn:sha1:d3964e81ac98825a025a6120c488ebd73de2a281</id>
<content type='text'>
the command-line interface for indexing (reindex, new, insert) used
--try-decrypt; and the configuration records used index.try_decrypt.
But by comparison with "show" and "reply", there doesn't seem to be
any reason for the "try" prefix.

This changeset adjusts the command-line interface and the
configuration interface.

For the moment, i've left indexopts_{set,get}_try_decrypt alone.  The
subsequent changeset will address those.
</content>
</entry>
<entry>
<title>config: define new option index.try_decrypt</title>
<updated>2017-10-21T22:54:33Z</updated>
<author>
<name>Daniel Kahn Gillmor</name>
<email>dkg@fifthhorseman.net</email>
</author>
<published>2017-10-21T02:25:43Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=d0da7a0a1c24b937eb754e8f73e5cf7e3857f24a'/>
<id>urn:sha1:d0da7a0a1c24b937eb754e8f73e5cf7e3857f24a</id>
<content type='text'>
By default, notmuch won't try to decrypt on indexing.  With this
patch, we make it possible to indicate a per-database preference using
the config variable "index.try_decrypt", which by default will be
false.

At indexing time, the database needs some way to know its internal
defaults for how to index encrypted parts.  It shouldn't be contingent
on an external config file (since that can't be retrieved from the
database object itself), so we store it in the database.

This behaves similarly to the query.* configurations, which are also
stored in the database itself, so we're not introducing any new
dependencies by requiring that it be stored in the database.
</content>
</entry>
<entry>
<title>config: test whether an item is stored in the database by name</title>
<updated>2017-10-21T22:54:24Z</updated>
<author>
<name>Daniel Kahn Gillmor</name>
<email>dkg@fifthhorseman.net</email>
</author>
<published>2017-10-21T02:25:42Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=886c0b1666478548485682fbcaa667bb3cc0f138'/>
<id>urn:sha1:886c0b1666478548485682fbcaa667bb3cc0f138</id>
<content type='text'>
QUERY_STRING was only used in two places, both to test whether a
variable should be stored in (or retrieved from) the database.

Since other configuration variables might be stored in the database in
the future, consolidate that test into a single function.

We also document that these configuration options should not be placed
in the config file.
</content>
</entry>
<entry>
<title>cli: convert notmuch_bool_t to stdbool</title>
<updated>2017-10-10T01:24:02Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2017-10-07T08:44:04Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=0f314c0c99befea599a68bea51d759b4133efef6'/>
<id>urn:sha1:0f314c0c99befea599a68bea51d759b4133efef6</id>
<content type='text'>
C99 stdbool turned 18 this year. There really is no reason to use our
own, except in the library interface for backward
compatibility. Convert the cli and test binaries to stdbool.
</content>
</entry>
<entry>
<title>config: deprecate/drop crypto.gpg_path under gmime 2.6/3.0</title>
<updated>2017-07-15T00:23:52Z</updated>
<author>
<name>Daniel Kahn Gillmor</name>
<email>dkg@fifthhorseman.net</email>
</author>
<published>2017-07-14T13:12:00Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=e142de643d3bb4354f70e1490a97b491d1116e95'/>
<id>urn:sha1:e142de643d3bb4354f70e1490a97b491d1116e95</id>
<content type='text'>
gmime 3.0 no longer offers a means to set the path for gpg.

Users can set $PATH anyway if they want to pick a
differently-installed gpg (e.g. /usr/local/bin/gpg), so this isn't
much of a reduction in functionality.

The one main difference is for people who have tried to use "gpg2" to
make use of gpg 2.1, but that isn't usefully co-installable anyway.
</content>
</entry>
<entry>
<title>notmuch-config: ENOENT vs generic handling when file open fails.</title>
<updated>2017-02-28T12:08:26Z</updated>
<author>
<name>Tomi Ollila</name>
<email>tomi.ollila@iki.fi</email>
</author>
<published>2017-02-26T19:12:39Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=5c0f1bd36790e680f7d3b6082e3606bd3b84a588'/>
<id>urn:sha1:5c0f1bd36790e680f7d3b6082e3606bd3b84a588</id>
<content type='text'>
When opening configuration file fails, ENOENT (file not found) is
handled specially -- in setup missing file is ok (often expected),
and otherwise user can be informed to run notmuch setup.

In any other case the the reason is unknown, so there is no other
option but to print generic error message to stderr.
</content>
</entry>
<entry>
<title>cli/config: don't try to open config file for 'notmuch help'</title>
<updated>2017-02-28T12:08:11Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2017-02-26T19:12:38Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=80aeaf7f59e250f034ecc99aa7fcd1e6dd14d9bb'/>
<id>urn:sha1:80aeaf7f59e250f034ecc99aa7fcd1e6dd14d9bb</id>
<content type='text'>
The help command does not really need to try to open the config
file. So don't.
</content>
</entry>
<entry>
<title>cli/config: rename name to key in _config_set_list</title>
<updated>2017-01-07T12:24:28Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2016-12-17T16:20:27Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=0df6e5c38789f0c650db8663c878883e255be46c'/>
<id>urn:sha1:0df6e5c38789f0c650db8663c878883e255be46c</id>
<content type='text'>
The other getters and setters speak of key, follow suit. No functional
changes.
</content>
</entry>
<entry>
<title>cli/config: allocate config using talloc_zero</title>
<updated>2017-01-07T12:24:07Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2016-12-17T16:20:26Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=08b6fd75ab5691e31bc9c3fbcbdfc719f9b5fe62'/>
<id>urn:sha1:08b6fd75ab5691e31bc9c3fbcbdfc719f9b5fe62</id>
<content type='text'>
Do not initialize each field separately. It's more robust to allocate
the config with zero initialization, and only set the non-zero
defaults individually.
</content>
</entry>
<entry>
<title>notmuch-config: replace config reading function</title>
<updated>2016-12-15T23:34:30Z</updated>
<author>
<name>Ioan-Adrian Ratiu</name>
<email>adi@adirat.com</email>
</author>
<published>2016-12-10T19:54:07Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=f2a038825b73d4b9fa6cfd3ecbe661f1e6a49840'/>
<id>urn:sha1:f2a038825b73d4b9fa6cfd3ecbe661f1e6a49840</id>
<content type='text'>
Config files are currently read using glib's g_key_file_load_from_file
function which is very inconvenient because it's limited by design to read
only from "regular data files" in a filesystem. Because of this limitation
notmuch can't read configs from pipes, fifos, sockets, stdin, etc. Not even
"notmuch --config=/dev/stdin" works:

Error reading configuration file /dev/stdin: Not a regular file

So replace g_key_file_load_from_file with g_key_file_load_from_data which
gives us much more freedom to read configs from multiple sources.

This also helps the more security sensitive users: If someone has private
information in the config file, it can be encrypted on disk, then decrypted
in RAM and passed through a pipe directly to notmuch without the use of
intermediate plain text files.

Signed-off-by: Ioan-Adrian Ratiu &lt;adi@adirat.com&gt;
</content>
</entry>
</feed>
