aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-03-19configure: Check GMime version properlyDaniel Kahn Gillmor
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2020-02-19Drop deprecated/unused crypto.gpg_pathDaniel Kahn Gillmor
crypto.gpg_path was only used when we built against gmime versions before 3.0. Since we now depend on gmime 3.0.3 or later, it is meaningless. The removal of the field from the _notmuch_config struct would be an ABI change if that struct were externally exposed, but it is not, so it's safe to unilaterally remove it. Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2020-02-13sprinter: change integer method to use int64_tPeter Wang
In particular, timestamps beyond 2038 could overflow the sprinter interface on systems where time_t is 64-bit but 'int' is a signed 32-bit integer type.
2020-02-13test: add known broken test with timestamp beyond 2038Peter Wang
2020-01-16doc: clean up manpage description of "notmuch-config list" outputDaniel Kahn Gillmor
The escaping in the description of the output of "notmuch-config list" appears to have been inherited from some previous attempts at documentation. It leaked out in the actual generated manpage documentation, where it looks like this: list Every configuration item is printed to stdout, each on a separate line of the form: *section*.\ *item*\ =\ *value* This simplification cleans up the overescaping. Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2020-01-09debian: add Build-Depends-Package for libnotmuch5.symbolsDaniel Kahn Gillmor
See lintian informational tag symbols-file-missing-build-depends-package-field for hints about this minor metadata update. Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2020-01-08emacs: don't start processes stoppedSteven Allen
It causes this function to fail with: let: Wrong type argument: null, t Support for this was removed from Emacs in April 2019 (5c5e309527e6b582e2c04b83e7af45f3144863ac) because it never worked correctly (apparently). This also shouldn't be necessary as sentinels will not be called unless emacs is idle or waiting for input. Therefore, the `process-put' calls immediately following the `make-process' call should always complete before the sentinel is first called.
2020-01-08legacy-display: drop tests that try to match headers in a Legacy Display partDaniel Kahn Gillmor
These tests were an attempt to establish that the content of the "Legacy Display" part is the same as the actual protected headers of the message. But this is more conservative than we need to be. https://www.ietf.org/id/draft-autocrypt-lamps-protected-headers-02.html section 5.3 makes clear that the Legacy Display part is purely decorative, and section 5.2.1 clarifies that the detection can be done purely by MIME structure and Content-Type alone. Furthermore, now that we're accepting text/plain Legacy Display parts, it's not clear the lines in the Legacy Display part should be interpreted as needing an exact string match (e.g. "real" headers are likely to be RFC 2047 encoded, but the text/plain Legacy Display part probably should not be). The concerns that motivated this test in the past were twofold: that we might accidentally hide some information from the reader of the message that they should have available to them, or that we could introduce a covert channel that would be invisible to other clients. I no longer think these are significant concerns: a) There will be no accidental misidentification of a Legacy Display part. The identification of the Legacy Display part is unambiguous due to MIME structure and Content-Type. MIME structure MUST be the first child part of a two-part multipart/mixed Cryptographic Payload. And the protected-headers=v1 content-type parameter must be present on both the cryptographic payload and the legacy display part, so no one would accidentally generate this structure and have it be accidentally matched. b) As for creating a covert channel, many such channels already exist. For example, non-standard e-mail headers, custom MIME types, unusual MIME structures, etc, all make it possible to ship some content in a message that will be visible in some MUAs but not in others. This doesn't make the situation demonstrably worse. Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2020-01-08legacy-display: accept text/plain legacy display partsDaniel Kahn Gillmor
https://www.ietf.org/id/draft-autocrypt-lamps-protected-headers-02.html Makes it clear that the "Legacy Display" part of an encrypted message with protected headers can (and indeed, should) be of content-type text/plain, though some clients still generate the Legacy Display part as content-type text/rfc822-headers. Notmuch should recognize the part whichever of the two content-types it uses. See also discussion in https://github.com/autocrypt/protected-headers/issues/23 for why the community of implementers is moving in the direction of text/plain. Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2019-12-25debian: Override lintian suggestion to move elpa-notmuch to Section: lispDaniel Kahn Gillmor
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2019-12-24python/notmuch2: fix typo for "destroyed"Daniel Kahn Gillmor
Another fix to the docstrings, this time for the English part of the docstrings, not the Python class name. No functional changes here. Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2019-12-24python/notmuch2: fix typo for ObjectDestroyedErrorDaniel Kahn Gillmor
There is no functional change here, just a fix to a typo in the docstrings. Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2019-12-21debian: move packaging to dh 12Daniel Kahn Gillmor
2019-12-21debian elpa-notmuch: ship elisp and .png from "make install"Daniel Kahn Gillmor
Rather than ship from the source directories, ship these files from where they're installed by "make install". This doesn't resolve all the dh_missing warnings yet (due to #946142), but it leaves the last bit of that problem in the hands of the dh-elpa package, and it's not due to notmuch's packaging any longer. Note that notmuch-pkg.el is only relevant for elpa, so it was not installed by "make install", and has to be extracted deliberately from the source tree. Note also that we now don't ship make-deps.el or rstdoc.el, as these are build tools and don't belong in the deployed package. Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2019-12-21debian: ship info files in the standard locationDaniel Kahn Gillmor
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2019-12-21debian: record upstream files which should not be installed by the packageDaniel Kahn Gillmor
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2019-12-21debian: Remove python2 detritusDaniel Kahn Gillmor
Since we removed python-notmuch, we do not need to retain this file any longer. Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2019-12-21debian: ship notmuch-setup(1) as a copy of notmuch(1)Daniel Kahn Gillmor
This was being shipped by "make install", but we weren't shipping it in the debian package. Thanks to dh_missing for noticing! Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2019-12-21debian: install notmuch(3) manpage in libnotmuch-devDaniel Kahn Gillmor
dh_missing noticed that we are building this manpage but not shipping it in debian. Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2019-12-21debian: ship notmuch-emacs-mua.desktop from "make install" copyDaniel Kahn Gillmor
This helps dh_missing know what's going on. Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2019-12-21debian: return an error if debian snapshot build failsDaniel Kahn Gillmor
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2019-12-14test: extend test of attachment warningsÖrjan Ekeberg
Check that attachment warnings are not raised when the word "attach" only occurs in a forwarded message.
2019-12-14emacs: limit search for attachment to stop at first mime-partÖrjan Ekeberg
This commit changes the behaviour of notmuch-mua-attachment-check so that it stops searching for notmuch-mua-attachment-regexp when a new mime-part is reached. This avoids false warnings when matching words occur inside forwarded messages.
2019-12-14test: add a known broken test for S/MIME decryptionDavid Bremner
This should serve to clarify this feature is not implimented in notmuch yet.
2019-12-14emacs: Improve the reporting of key activityDavid Edmondson
Improve the information provided about key retrieval and key validity.
2019-12-14emacs: Add notmuch-crypto-gpg-program and use itDavid Edmondson
Allow the user to specify the gpg program to use when retrieving keys, etc., defaulting to the value of `epg-gpg-program'.
2019-12-14emacs: Minor refactoring of crypto codeDavid Edmondson
2019-12-14emacs: Asynchronous retrieval of GPG keysDavid Edmondson
Rather than blocking emacs while gpg does its' thing, by default run key retrieval asynchronously, possibly updating the display of the message on successful completion.
2019-12-09configure: fix reference to possibly undefined $PKG_CONFIG_PATHTomi Ollila
In case zlib not found by pkg-config(1) the pkg-config information is resolved by attempting to print ZLIB_VERSION from from zlib installation if it exists anyway. If above done successfully compat/zlib.pc is written for forthcoming pkg-config execution. Since `set -u` is in effect (since 124a67e96, 2016-05-06), expanding unset $PKG_CONFIG_PATH (would have) failed whenever tried. Now it is changed to set as "$PKG_CONFIG_PATH:compat" if PKG_CONFIG_PATH is set and is non-empty string, plain "compat" otherwise.
2019-12-04wrap-and-sort -astDaniel Kahn Gillmor
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2019-12-03Add debian/upstream/metadata (for DEP-12)Daniel Kahn Gillmor
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2019-12-03debian/copyright: use secure git URLDaniel Kahn Gillmor
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2019-12-03Rules-Requires-Root: no (we do nothing as root during package build)Daniel Kahn Gillmor
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2019-12-03Standards-Version: bump to 4.4.1 (no changes needed)Daniel Kahn Gillmor
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2019-12-03configure: Install zsh completions where zsh will find them.Oliver Kiddle
Zsh searches in the $fpath array for completion functions. By default this includes $(prefix)/share/zsh/site-functions but not the existing value. The prefix for zsh and notmuch isn't guaranteed to be the same but it normally will be making this a better default for zsh_completion_dir.
2019-12-03python-cffi: use shutil.whichDavid Bremner
I was supposed to amend the original patch that added this function, but somehow I botched that. The original version runs, so make an extra commit for the tidying.
2019-12-03Move from _add_message to _index_file APIFloris Bruynooghe
This moves away from the deprecated notmuch_database_add_message API and instead uses the notmuch_database_index_file API. This means instroducing a class to manage the index options and bumping the library version requirement to 5.1.
2019-12-03Rename package to notmuch2Floris Bruynooghe
This is based on a previous discussion on the list where this was more or less seen as the least-bad option.
2019-12-03Show which notmuch command and version is being usedFloris Bruynooghe
This add the notmuch version and absolute path of the binary used in the pytest header. This is nice when running the tests interactively as you get confirmation you're testing the version you thought you were testing.
2019-12-03debian: add python3 dependencies for the new python bindingsDavid Bremner
These should generally match those in .travis.yml
2019-12-03switch travis to bionicDavid Bremner
This should solve the problem with pytest versions. Drop the notmuch PPA, as (hopefully) we don't need those packages in bionic
2019-12-03travis: add python3-{cffi,pytest,setuptools}, libpython3-all-devDavid Bremner
These are needed for building and testing the new python bindings.
2019-12-03tests: run python-cffi testsDavid Bremner
The entire python-cffi test suite is considered as a single test at the level of the notmuch test suite. This might or might not be ideal, but it gets them run.
2019-12-03build: optionally build python-cffi bindingsDavid Bremner
Put the build product (and tests) in a well known location so that we can find them e.g. from the tests.
2019-12-03configure: check for python cffi and pytest modulesDavid Bremner
This is needed to build the new python bindings, and run their tests.
2019-12-03bindings/python-cffi: preserve environment for testsDavid Bremner
We'll need this e.g. to pass PATH to the pytest tests Based on the suggested approach in id:87d0eljggj.fsf@powell.devork.be
2019-12-03Introduce CFFI-based python bindingsFloris Bruynooghe
This introduces CFFI-based Python3-only bindings. The bindings aim at: - Better performance on pypy - Easier to use Python-C interface - More "pythonic" - The API should not allow invalid operations - Use native object protocol where possible - Memory safety; whatever you do from python, it should not coredump.
2019-12-03emacs: bind M-RET to notmuch-tree-from-search-threadWilliam Casarin
This is an unbound function that is quite useful. It opens a selected thread in notmuch-tree from the current search query. Signed-off-by: William Casarin <jb55@jb55.com>
2019-12-03emacs: A prefix argument kills rather than browsing URLsDavid Edmondson
In `notmuch-show', the "B" key (notmuch-show-browse-urls) will kill the URL if called with a prefix argument rather than browsing directly.
2019-11-27Merge tag 'debian/0.29.3-1'David Bremner
notmuch release 0.29.3-1 for unstable (sid) [dgit] [dgit distro=debian no-split --quilt=linear]