<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib/message.cc, branch debian/0.24.2-2</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=debian%2F0.24.2-2</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=debian%2F0.24.2-2'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2017-03-18T23:59:46Z</updated>
<entry>
<title>lib/message.cc: fix Coverity finding (use after free)</title>
<updated>2017-03-18T23:59:46Z</updated>
<author>
<name>Tomi Ollila</name>
<email>tomi.ollila@iki.fi</email>
</author>
<published>2017-03-17T22:28:48Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=06adc276682d1d5f73d78df2e898ad4191eb4499'/>
<id>urn:sha1:06adc276682d1d5f73d78df2e898ad4191eb4499</id>
<content type='text'>
The object where pointer to `data` was received was deleted before
it was used in _notmuch_string_list_append().

Relevant Coverity messages follow:

3: extract
Assigning: data = std::__cxx11::string(message-&gt;doc.()).c_str(),
which extracts wrapped state from temporary of type std::__cxx11::string.

4: dtor_free
The internal representation of temporary of type std::__cxx11::string
is freed by its destructor.

5: use after free:
Wrapper object use after free (WRAPPER_ESCAPE)
Using internal representation of destroyed object local data.
</content>
</entry>
<entry>
<title>lib/message.cc: use view number to invalidate cached metadata</title>
<updated>2017-02-26T01:15:38Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2017-02-24T18:33:07Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=7bd63833bfbaff88fdf4d3cd2809ce68e8e0f976'/>
<id>urn:sha1:7bd63833bfbaff88fdf4d3cd2809ce68e8e0f976</id>
<content type='text'>
Currently the view number is incremented by notmuch_database_reopen
</content>
</entry>
<entry>
<title>lib: handle DatabaseModifiedError in _n_message_ensure_metadata</title>
<updated>2017-02-26T01:13:50Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2017-02-18T01:28:05Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=e0b22c139c0a9cd2b7dc5afb96e4ccec4f6b1641'/>
<id>urn:sha1:e0b22c139c0a9cd2b7dc5afb96e4ccec4f6b1641</id>
<content type='text'>
The retries are hardcoded to a small number, and error handling aborts
than propagating errors from notmuch_database_reopen. These are both
somewhat justified by the assumption that most things that can go
wrong in Xapian::Database::reopen are rare and fatal. Here's the brief
discussion with Xapian upstream:

   24-02-2017 08:12:57 &lt; bremner&gt; any intuition about how likely
      Xapian::Database::reopen is to fail? I'm catching a
      DatabaseModifiedError somewhere where handling any further errors is
      tricky, and wondering about treating a failed reopen as as "the
      impossible happened, stopping"

   24-02-2017 16:22:34 &lt; olly&gt; bremner: there should not be much scope for
    failure - stuff like out of memory or disk errors, which are probably a
    good enough excuse to stop
</content>
</entry>
<entry>
<title>lib: make _notmuch_message_ensure_property_map static</title>
<updated>2017-02-23T12:54:36Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2017-02-18T14:45:48Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=884dccf2939ea0aa6a23dab064676dc650c28c65'/>
<id>urn:sha1:884dccf2939ea0aa6a23dab064676dc650c28c65</id>
<content type='text'>
It's not called outside message.cc
</content>
</entry>
<entry>
<title>lib: make _notmuch_message_ensure_metadata static</title>
<updated>2017-02-23T12:54:25Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2017-02-18T14:45:44Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=3db9e94b0e94683349c594a63a7736dea6715b1a'/>
<id>urn:sha1:3db9e94b0e94683349c594a63a7736dea6715b1a</id>
<content type='text'>
It's not called anywhere outside message.cc.
</content>
</entry>
<entry>
<title>lib: basic message-property API</title>
<updated>2016-09-21T21:14:24Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2016-06-13T01:05:50Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b8bb6d796458732622f80464dd808b3e02f57d9d'/>
<id>urn:sha1:b8bb6d796458732622f80464dd808b3e02f57d9d</id>
<content type='text'>
Initially, support get, set and removal of single key/value pair, as
well as removing all properties.
</content>
</entry>
<entry>
<title>lib: read "property" terms from messages.</title>
<updated>2016-09-21T21:14:24Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2016-06-13T01:05:48Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=4dfb69169e6b685670ebdeedab898c31adc995b2'/>
<id>urn:sha1:4dfb69169e6b685670ebdeedab898c31adc995b2</id>
<content type='text'>
This is a first step towards providing an API to attach
arbitrary (key,value) pairs to messages and retrieve all of the values
for a given key.
</content>
</entry>
<entry>
<title>Use https instead of http where possible</title>
<updated>2016-06-05T11:32:17Z</updated>
<author>
<name>Daniel Kahn Gillmor</name>
<email>dkg@fifthhorseman.net</email>
</author>
<published>2016-06-02T16:26:14Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=6a833a6e83865f6999707cc30768d07e1351c2cb'/>
<id>urn:sha1:6a833a6e83865f6999707cc30768d07e1351c2cb</id>
<content type='text'>
Many of the external links found in the notmuch source can be resolved
using https instead of http.  This changeset addresses as many as i
could find, without touching the e-mail corpus or expected outputs
found in tests.
</content>
</entry>
<entry>
<title>lib: whitespace cleanup</title>
<updated>2016-06-05T11:23:28Z</updated>
<author>
<name>Tomi Ollila</name>
<email>tomi.ollila@iki.fi</email>
</author>
<published>2016-05-28T17:45:31Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=cf09631a45d276826255d197c1d5c913a29c79f4'/>
<id>urn:sha1:cf09631a45d276826255d197c1d5c913a29c79f4</id>
<content type='text'>
Cleaned the following whitespace in lib/* files:

lib/index.cc:              1 line:  trailing whitespace
lib/database.cc            5 lines: 8 spaces at the beginning of line
lib/notmuch-private.h:     4 lines: 8 spaces at the beginning of line
lib/message.cc:            1 line:  trailing whitespace
lib/sha1.c:                1 line:  empty lines at the end of file
lib/query.cc:              2 lines: 8 spaces at the beginning of line
lib/gen-version-script.sh: 1 line:  trailing whitespace
</content>
</entry>
<entry>
<title>complete ghost-on-removal-when-shared-thread-exists</title>
<updated>2016-04-15T10:13:49Z</updated>
<author>
<name>Daniel Kahn Gillmor</name>
<email>dkg@fifthhorseman.net</email>
</author>
<published>2016-04-09T01:54:52Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=e366bb222722d6a635b736e875b760d82b46d1f5'/>
<id>urn:sha1:e366bb222722d6a635b736e875b760d82b46d1f5</id>
<content type='text'>
To fully complete the ghost-on-removal-when-shared-thread-exists
proposal, we need to clear all ghost messages when the last active
message is removed from a thread.

Amended by db: Remove the last test of T530, as it no longer makes sense
if we are garbage collecting ghost messages.
</content>
</entry>
</feed>
