notmuch clon
Find a file
Daniel Kahn Gillmor b1a04bddc2 tests/smime: add tests for S/MIME SignedData
Add a simple S/MIME SignedData message, taken from an upcoming draft
of
https://datatracker.ietf.org/doc/draft-autocrypt-lamps-protected-headers/

RFC 8551 describes a SignedData, a one-part clearsigned object that is
more resistant to common patterns of MTA message munging than
multipart/signed (but has the downside that it is only readable by
clients that implement S/MIME).

To make sure sure notmuch can handle this kind of object, we want to
know a few things:

Already working:

 - Is the content of the SignedData object indexed?  It actually is
   right now because of dumb luck -- i think we're indexing the raw
   CMS object and it happens to contain the cleartext of the message
   in a way that we can consume it before passing it on to Xapian.
 - Are we accidentally indexing the embedded PKCS#7 certificates? We
   don't want to, and for some reason I don't understand, our indexing
   is actually skipping the embedded certificates already.  That's
   good!

Still need fixing:
 - do we know the MIME type of the embedded part?
 - do we know that the message is signed?
 - can notmuch-show read its content?
 - can notmuch-show indicate the signature validity?
 - can notmuch-reply properly quote and attribute content?

Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2020-04-30 17:57:26 -03:00
bindings Drop deprecated/unused crypto.gpg_path 2020-02-19 08:17:49 -04:00
compat compat: run uncrustify 2019-06-14 07:41:27 -03:00
completion completion: more complete completion for zsh. 2018-10-02 21:04:26 -03:00
contrib Make notmuch-mutt script more portable 2020-03-22 22:57:25 -03:00
debian debian: Add packaging for python3-notmuch2 2020-04-01 22:50:27 -03:00
devel emacs: introduce notmuch-search-by-tag 2020-04-14 12:29:31 -03:00
doc doc: Drop obsolete MSCGEN_PATH, PERL_PATH from doxygen configuration 2020-04-01 22:46:58 -03:00
emacs emacs: Use cl-lib' instead of deprecated cl' 2020-04-27 07:36:10 -03:00
lib build: drop support for xapian versions less than 1.4 2020-04-23 21:28:45 -03:00
packaging Use https instead of http where possible 2016-06-05 08:32:17 -03:00
parse-time-string parse-time-string: run uncrustify 2019-06-14 07:41:27 -03:00
performance-test perf-tests: #!/bin/bash -> #!/usr/bin/env bash 2019-06-07 07:59:56 -03:00
test tests/smime: add tests for S/MIME SignedData 2020-04-30 17:57:26 -03:00
util util/zlib-extra: de-inline gzerror_str 2020-04-28 10:35:44 -03:00
vim Fix typos as found by codespell 2018-03-24 20:09:54 -03:00
.dir-locals.el .dir-locals.el: changed one-char comment prefix '; ' to two; '; ; ' 2012-01-22 08:41:37 -04:00
.gitignore gitignore: Ignore generated python-cffi files 2020-04-16 07:58:12 -03:00
.mailmap create .mailmap file (for git shortlog/blame) 2016-07-29 06:01:44 +09:00
.travis.yml switch travis to bionic 2019-12-03 08:12:30 -04:00
AUTHORS Introduce CFFI-based python bindings 2019-12-03 08:12:30 -04:00
command-line-arguments.c cli: run uncrustify 2019-06-14 07:41:27 -03:00
command-line-arguments.h cli: run uncrustify 2019-06-14 07:41:27 -03:00
configure build: drop support for xapian versions less than 1.4 2020-04-23 21:28:45 -03:00
COPYING Use https instead of http where possible 2016-06-05 08:32:17 -03:00
COPYING-GPL-3 Use https instead of http where possible 2016-06-05 08:32:17 -03:00
debugger.c cli: run uncrustify 2019-06-14 07:41:27 -03:00
gmime-filter-reply.c cli: run uncrustify 2019-06-14 07:41:27 -03:00
gmime-filter-reply.h cli: run uncrustify 2019-06-14 07:41:27 -03:00
hooks.c cli: run uncrustify 2019-06-14 07:41:27 -03:00
INSTALL build: drop support for gmime-2.6 2019-05-03 06:49:49 -03:00
Makefile support make goals after initial {'', dist, data}clean goal(s) 2017-03-10 08:04:27 -04:00
Makefile.global release: use xz compression 2019-03-27 17:59:40 -03:00
Makefile.local debian: return an error if debian snapshot build fails 2019-12-21 08:54:11 +09:00
mime-node.c mime-node: Clean up unwrapped MIME parts correctly. 2020-03-22 22:21:03 -03:00
NEWS mention python 2 changes 2019-11-27 08:20:54 -04:00
notmuch-client.h cli/dump: define GZPUTS and use it in notmuch-dump 2020-04-13 17:14:50 -03:00
notmuch-compact.c cli: convert notmuch_bool_t to stdbool 2017-10-09 22:24:02 -03:00
notmuch-config.c Drop deprecated/unused crypto.gpg_path 2020-02-19 08:17:49 -04:00
notmuch-count.c cli: run uncrustify 2019-06-14 07:41:27 -03:00
notmuch-dump.c cli/dump: replace use of gzprintf with gzputs for config values 2020-04-13 17:14:50 -03:00
notmuch-insert.c cli: run uncrustify 2019-06-14 07:41:27 -03:00
notmuch-new.c cli: run uncrustify 2019-06-14 07:41:27 -03:00
notmuch-reindex.c cli: run uncrustify 2019-06-14 07:41:27 -03:00
notmuch-reply.c cli: run uncrustify 2019-06-14 07:41:27 -03:00
notmuch-restore.c cli/restore: gzerror() after gzclose_r() is a use after free 2020-04-16 07:52:42 -03:00
notmuch-search.c cli: run uncrustify 2019-06-14 07:41:27 -03:00
notmuch-setup.c cli: run uncrustify 2019-06-14 07:41:27 -03:00
notmuch-show.c notmuch-show.c: add an option for messages to be returned unthreaded 2020-03-19 22:05:47 -03:00
notmuch-tag.c cli: convert notmuch_bool_t to stdbool 2017-10-09 22:24:02 -03:00
notmuch-time.c cli: run uncrustify 2019-06-14 07:41:27 -03:00
notmuch.c cli: run uncrustify 2019-06-14 07:41:27 -03:00
query-string.c Use https instead of http where possible 2016-06-05 08:32:17 -03:00
README Use https instead of http where possible 2016-06-05 08:32:17 -03:00
README.rst Use https instead of http where possible 2016-06-05 08:32:17 -03:00
sprinter-json.c sprinter: change integer method to use int64_t 2020-02-13 19:10:42 -04:00
sprinter-sexp.c sprinter: change integer method to use int64_t 2020-02-13 19:10:42 -04:00
sprinter-text.c sprinter: change integer method to use int64_t 2020-02-13 19:10:42 -04:00
sprinter.h sprinter: change integer method to use int64_t 2020-02-13 19:10:42 -04:00
status.c status: add print_status_gzbytes 2020-04-13 17:14:50 -03:00
tag-util.c cli: convert notmuch_bool_t to stdbool 2017-10-09 22:24:02 -03:00
tag-util.h cli: run uncrustify 2019-06-14 07:41:27 -03:00
version version: bump to 0.29.3 2019-11-27 08:20:54 -04:00

Notmuch - thread-based email index, search and tagging.

Notmuch is a system for indexing, searching, reading, and tagging
large collections of email messages in maildir or mh format. It uses
the Xapian library to provide fast, full-text search with a convenient
search syntax.

Notmuch is free software, released under the GNU General Public
License version 3 (or later).

Building notmuch
----------------
See the INSTALL file for notes on compiling and installing notmuch.

Running notmuch
---------------
After installing notmuch, start by running "notmuch setup" which will
interactively prompt for configuration information such as your name,
email address, and the directory which contains your mail archive to
be indexed. You can change any answers later by running "notmuch
setup" again or by editing the .notmuch-config file in your home
directory.

With notmuch configured you should next run "notmuch new" which will
index all of your existing mail. This can take a long time, (several
hours) if you have a lot of email, (hundreds of thousands of
files). When new mail is delivered to your mail archive in the future,
you will want to run "notmuch new" again. These runs will be much
faster as they will only index new messages.

Finally, you can prove to yourself that things are working by running
some command-line searches such as "notmuch search
from:someone@example.com" or "notmuch search subject:topic". See
"notmuch help search-terms" for more details on the available search
syntax.

The command-line search output is not expected to be particularly
friendly for day-to-day usage. Instead, it is expected that you will
use an email interface that builds on the notmuch command-line tool or
the libnotmuch library.

Notmuch installs a full-featured email interface for use within
emacs. To use this, first add the following line to your .emacs file:

	(autoload 'notmuch "notmuch" "Notmuch mail" t)

Then, either run "emacs -f notmuch" or execute the command "M-x
notmuch" from within a running emacs.

If you're interested in a non-emacs-based interface to notmuch, then
please join the notmuch community. Various other interfaces are
already in progress, (an interface within vim, a curses interface,
graphical interfaces based on evolution, and various web-based
interfaces). The authors of these interfaces would love further
testing or contribution. See contact information below.

Contacting users and developers
-------------------------------
The website for Notmuch is:

	https://notmuchmail.org

The mailing list address for the notmuch community is:

	notmuch@notmuchmail.org

We welcome any sort of questions, comments, kudos, or code there.

Subscription is not required, (but if you do subscribe you'll avoid
any delay due to moderation). See the website for subscription
information.

There is also an IRC channel dedicated to talk about using and
developing notmuch:

	IRC server:	irc.freenode.net
	Channel:	#notmuch