notmuch/lib
Michal Sojka 028c56061e Make parsing of References and In-Reply-To header less error prone
According to RFC2822 References and In-Reply-To headers are supposed
to contain one or more Message-IDs, however older RFC822 allowed
almost any content. When both References and In-Reply-To headers ends
with something else that a Message-ID (see e.g. [1]), the thread
structure presented by notmuch is incorrect. The reason is that
notmuch treats this case as if the email contained no "replyto"
information (see _notmuch_database_link_message_to_parents).

This patch changes the parse_references() function to return the last
valid Message-ID encountered rather than NULL resulting from the last
hunk of text not being the Message-ID.

[1] https://lkml.org/lkml/headers/2014/5/19/864
2014-08-16 17:45:16 -07:00
..
database-private.h lib: add date range query support 2012-10-31 16:55:32 -03:00
database.cc Make parsing of References and In-Reply-To header less error prone 2014-08-16 17:45:16 -07:00
directory.cc lib: Perform the same transformation to _notmuch_database_find_directory_id 2012-05-23 22:30:32 -03:00
filenames.c lib: fix NULL checks for filenames iterators 2012-09-01 23:03:11 -03:00
gen-version-script.sh build: add canonicalize_file_name to symbols exported from libnotmuch.so 2014-04-19 05:58:34 +09:00
index.cc lib: Index name and address of from/to headers as a phrase 2014-06-18 17:55:14 -03:00
libsha1.c util: detect byte order 2013-11-27 07:43:29 -04:00
libsha1.h fix sum moar typos [comments in source code] 2011-06-23 15:58:39 -07:00
Makefile fix sum moar typos [build scripts, Makefiles] 2011-06-23 15:44:59 -07:00
Makefile.local lib: Bump library version from 3.0.0 to 3.1.0 2013-12-07 10:31:19 +08:00
message-file.c lib: Start all function names in notmuch-private.h with 2014-07-13 12:25:29 -03:00
message.cc lib: Improve documentation of _notmuch_message_create_for_message_id 2014-08-05 08:14:15 -03:00
messages.c lib: Eliminate _notmuch_message_list_append 2013-02-18 20:20:38 -04:00
notmuch-private.h lib: Start all function names in notmuch-private.h with 2014-07-13 12:25:29 -03:00
notmuch.h lib: add return status to database close and destroy 2014-07-09 20:29:36 -03:00
parse-time-vrp.cc lib: add date range query support 2012-10-31 16:55:32 -03:00
parse-time-vrp.h lib: add date range query support 2012-10-31 16:55:32 -03:00
query.cc lib: make notmuch_threads_valid return FALSE when passed NULL 2014-01-24 20:20:54 -04:00
sha1.c lib: Start all function names in notmuch-private.h with 2014-07-13 12:25:29 -03:00
string-list.c Fixup string list author 2011-03-21 02:45:18 -04:00
tags.c lib: fix warnings when building with clang 2012-12-01 08:10:32 -04:00
thread.cc lib: Start all function names in notmuch-private.h with 2014-07-13 12:25:29 -03:00