<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/notmuch-client.h, 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:07:53Z</updated>
<entry>
<title>crypto: new decryption policy "auto"</title>
<updated>2017-12-08T12:07:53Z</updated>
<author>
<name>Daniel Kahn Gillmor</name>
<email>dkg@fifthhorseman.net</email>
</author>
<published>2017-12-08T06:23:53Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=e4890b5bf9e2260b36bcc36ddb77d8e97e2abe7d'/>
<id>urn:sha1:e4890b5bf9e2260b36bcc36ddb77d8e97e2abe7d</id>
<content type='text'>
This new automatic decryption policy should make it possible to
decrypt messages that we have stashed session keys for, without
incurring a call to the user's asymmetric keys.
</content>
</entry>
<entry>
<title>lib: convert notmuch decryption policy to an enum</title>
<updated>2017-12-08T12:07:02Z</updated>
<author>
<name>Daniel Kahn Gillmor</name>
<email>dkg@fifthhorseman.net</email>
</author>
<published>2017-12-08T06:23:52Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=798aa789b5d117cf11697bc97dd982bd5a2c2ac8'/>
<id>urn:sha1:798aa789b5d117cf11697bc97dd982bd5a2c2ac8</id>
<content type='text'>
Future patches in this series will introduce new policies; this merely
readies the way for them.

We also convert --try-decrypt to a keyword argument instead of a boolean.
</content>
</entry>
<entry>
<title>indexopts: change _try_decrypt to _decrypt_policy</title>
<updated>2017-12-08T12:06:03Z</updated>
<author>
<name>Daniel Kahn Gillmor</name>
<email>dkg@fifthhorseman.net</email>
</author>
<published>2017-12-08T06:23:51Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b62045a18680720b407173140d79b459e45e6039'/>
<id>urn:sha1:b62045a18680720b407173140d79b459e45e6039</id>
<content type='text'>
This terminology makes it clearer what's going on at the API layer,
and paves the way for future changesets that offer more nuanced
decryption policy.
</content>
</entry>
<entry>
<title>cli: set up shared command-line arguments for indexing</title>
<updated>2017-10-21T22:58:11Z</updated>
<author>
<name>Daniel Kahn Gillmor</name>
<email>dkg@fifthhorseman.net</email>
</author>
<published>2017-10-21T02:25:44Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=5bdb8549f619bbcd9fcd6161749dabbb1710dab9'/>
<id>urn:sha1:5bdb8549f619bbcd9fcd6161749dabbb1710dab9</id>
<content type='text'>
We have an indexopts structure for manipulating indexing in different
ways, but we also have three command-line invocations that can trigger
indexing: new, insert, and reindex.

This changeset prepares a common parser that these subcommands can
share.

Note: if the deprecated crypto.gpg_path configuration option is set to
anything other than "gpg", we ignore it (and print a warning on
stderr, if built against gmime &lt; 3.0).

At the moment, it's just --try-decrypt, but others will likely follow.
</content>
</entry>
<entry>
<title>crypto: move into libnotmuch_util</title>
<updated>2017-10-20T10:58:10Z</updated>
<author>
<name>Daniel Kahn Gillmor</name>
<email>dkg@fifthhorseman.net</email>
</author>
<published>2017-10-17T19:09:55Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=197d67959bf459fc0f1f63a202d162a569535bf3'/>
<id>urn:sha1:197d67959bf459fc0f1f63a202d162a569535bf3</id>
<content type='text'>
This prepares us for using the crypto object in both libnotmuch and
the client.
</content>
</entry>
<entry>
<title>crypto: _notmuch_crypto_cleanup should return void</title>
<updated>2017-10-13T01:11:55Z</updated>
<author>
<name>Daniel Kahn Gillmor</name>
<email>dkg@fifthhorseman.net</email>
</author>
<published>2017-10-10T05:49:04Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=bfd669bb2ef01d3142dd8294c7e1326ee7503e39'/>
<id>urn:sha1:bfd669bb2ef01d3142dd8294c7e1326ee7503e39</id>
<content type='text'>
There's no chance that _notmuch_crypto_cleanup() will ever return
anything other than 0, and no one ever checks its return value anyway.
So make it return void instead of int.
</content>
</entry>
<entry>
<title>crypto: drop pretense of notmuch_crypto_context_t</title>
<updated>2017-10-13T01:11:33Z</updated>
<author>
<name>Daniel Kahn Gillmor</name>
<email>dkg@fifthhorseman.net</email>
</author>
<published>2017-10-10T05:49:03Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=3e9857a0b98c04973b9b6ad2da7dc5c3992b3b1c'/>
<id>urn:sha1:3e9857a0b98c04973b9b6ad2da7dc5c3992b3b1c</id>
<content type='text'>
notmuch_crypto_context_t was introduced (i think) as some sort of
abstraction layer to make notmuch somewhat independent of GMime.  But
it isn't even useful for GMime 3.0 or later -- we can drop the
pretense that it's some sort of abstraction in this case, and just
call it what it is, GMimeCryptoContext, which is useful for building
against older versions of GMime.

This also renames _notmuch_crypto_get_context() to
_notmuch_crypto_get_gmime_context().
</content>
</entry>
<entry>
<title>crypto: rename notmuch_crypto_t to _notmuch_crypto_t</title>
<updated>2017-10-13T01:11:25Z</updated>
<author>
<name>Daniel Kahn Gillmor</name>
<email>dkg@fifthhorseman.net</email>
</author>
<published>2017-10-10T05:49:02Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=88f2a72ef1dcfce149bbac776652ea04e564726d'/>
<id>urn:sha1:88f2a72ef1dcfce149bbac776652ea04e564726d</id>
<content type='text'>
The notmuch_crypto_t struct isn't used externally, and we have no
plans to explicitly export it.  Prefix its name (and associated
functions) with _ to make that intent clear.
</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>cli: use designated initializers for opt desc</title>
<updated>2017-10-05T01:00:42Z</updated>
<author>
<name>Jani Nikula</name>
<email>jani@nikula.org</email>
</author>
<published>2017-10-01T20:53:11Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=4a6721970a42a9f86149fb5d395d1001fed2d305'/>
<id>urn:sha1:4a6721970a42a9f86149fb5d395d1001fed2d305</id>
<content type='text'>
Several changes at once, just to not have to change the same lines
several times over:

- Use designated initializers to initialize opt desc arrays.

- Only initialize the needed fields.

- Remove arg_id (short options) as unused.

- Replace opt_type and output_var with several type safe output
  variables, where the output variable being non-NULL determines the
  type. Introduce checks to ensure only one is set. The downside is
  some waste of const space per argument; this could be saved by
  retaining opt_type and using a union, but that's still pretty
  verbose.

- Fix some variables due to the type safety. Mostly a good thing, but
  leads to some enums being changed to ints. This is pedantically
  correct, but somewhat annoying. We could also cast, but that defeats
  the purpose a bit.

- Terminate the opt desc arrays using {}.

The output variable type safety and the ability to add new fields for
just some output types or arguments are the big wins. For example, if
we wanted to add a variable to set when the argument is present, we
could do so for just the arguments that need it.

Beauty is in the eye of the beholder, but I think this looks nice when
defining the arguments, and reduces some of the verbosity we have
there.
</content>
</entry>
</feed>
