Richard Russon [Thu, 22 Aug 2019 10:22:21 +0000 (11:22 +0100)]
check for empty Context
We'd already checked for an empty Context at the beginning of the `case`
statement, but we didn't check after any functions that might have
closed the Context.
This ensures using %W in index_format while having
header cache enabled works as expected.
Note that as we don't modify the header files that
hcachever.sh is looking for, but the serial_dump_envelope
and serial_restore_envelope functions instead, we have
to increment BASEVERSION to ensure that cache built with
previous versions gets invalidated in all cases.
Kevin McCarthy [Tue, 20 Aug 2019 22:17:31 +0000 (15:17 -0700)]
Update autocrypt keyring documentation
Recommend setting $autocrypt_dir to your normal keyring directory if
you want to use your existing key.
Trying to copy it over leads to signature verification issues. Even
if I reversed the order (which is much less clean), that would just
lead to missing key signature errors for Autocrypt messages instead.
Richard Russon [Mon, 19 Aug 2019 23:15:00 +0000 (00:15 +0100)]
merge: upstream autocrypt feature
* address: add mutt_addr_to_intl()
* build: add autocrypt option
* Initial autoconf and makefile setup for autocrypt
* Add autocrypt config vars
* Add database and schema initialization
* Start autocrypt gpgme
* Factor out mutt_edit_address() in send.c
* Add initial autocrypt account setup
* Add autocrypt header parsing to mutt_parse_rfc822_line()
* Process autocrypt headers
* Convert to use sqlite3_prepare_v3()
* Add gossip header processing
* Change autocrypt_db normalization to return struct Address
* Change gossip header address comparison to use normalized addresses
* Add another struct Email security bit for autocrypt
* Add autocrypt line to the compose menu
* Autocrypt outgoing emails
* Fix process_gossip_headers() to look at the right envelope
* Slightly improve the gossip header key update
* Handle autocrypt message decryption
* Print an error message if an autocrypt key can't be found
* Add autocrypt source files to POTFILES.in
* Add L10N translation message comments
* Add AUTOCRYPT header to imap fetch list
* Add prefer-encrypt prompt during account creation
* Add account->enabled checks
* Improve gen-map-doc work on multi-word maps
* Convert peer_update to just pass the peer object
* Basic autocrypt account menu
* Add more translation string comments for autocrypt
* Add option to scan mailboxes during first run
* Add documentation for the autocrypt feature
* Add autocrypt README file
* Don't try to decrypt autocrypt messages if the option is off
* fix test cases
* iwyu: tidy #includes
* rename local variable rv to rc
* doxy: add comment blocks
* rename local variable hdr to e
* rename local variable msg to e
* add braces to unclear 'if' statements
* explicitly check retval for strcmp, buffer_len
* add whitespace for clarity
* tidy code
* Add ability to create autocrypt account from an existing key
* Automatically clear screen when popping the last menu
* Add $autocrypt_reply
* Allow nested setting of OptIgnoreMacroEvents
* Turn off macro processing during autocrypt initialization
* Enabled writing protected subject with autocrypt too
* Minor autocrypt manual section updates
* Add autocrypt documentation about shared key and keyring strategies
* Add a note about autocrypt first-run and macros
* Add L10N comment about autocrypt menu help line abbreviations
* Mention base64 keydata being stored in the autocrypt database
Kevin McCarthy [Thu, 8 Aug 2019 01:34:58 +0000 (18:34 -0700)]
Turn off macro processing during autocrypt initialization
The muttrc can push events into the macro buffer, with the assumption
that mailbox will be opened next. This will interfere with the
prompts uses during first run. The only issue is that macros won't
work inside the folder browser, if invoked.
Kevin McCarthy [Thu, 8 Aug 2019 01:24:15 +0000 (18:24 -0700)]
Allow nested setting of OptIgnoreMacroEvents
This will be needed for the first-run of autocrypt initialization.
The initialization involves a number of prompts, and can even use the
folder browser. The browser could in turn connect to IMAP which might
invoke a certificate prompt, login prompt, etc.
Kevin McCarthy [Fri, 19 Jul 2019 19:54:32 +0000 (12:54 -0700)]
Add autocrypt line to the compose menu
Remove the hardcoded HDR_ATTACH offset calcuation, and add an explicit
enum for the "-- Attachments" line to make loops and padding array
sizes easier.
Add security and recommendataion fields on the line.
Add mutt_autocrypt_ui_recommendation, following the autocrypt spec
guidelines.
Kevin McCarthy [Fri, 12 Jul 2019 01:06:56 +0000 (18:06 -0700)]
Add autocrypt header parsing to mutt_parse_rfc822_line()
Convert parse_parameters() for autocrypt header usage:
* change to use a struct Buffer to accomodate large autocrypt keydata
attribute values.
* Autocrypt header parameters are not rfc2231 compliant. Rather
than rolling another very similar function, just change the
existing one to allow space separation.
Richard Russon [Mon, 19 Aug 2019 22:42:06 +0000 (23:42 +0100)]
test: remove mutt_str_pretty_size()
mutt_str_pretty_size() now relies on four config variables, so it's been
demoted to muttlib.c. When it's been converted to use flags instead of
config variables, it can be returned to the library.
Kevin McCarthy [Fri, 28 Jun 2019 22:09:51 +0000 (15:09 -0700)]
Add size display configuration variables
Although it would be nice to "open this up" more, performance and
security/stability issues would arise.
Based on the thread in mutt-dev, I hope these vars will satisfy most
customization needs:
$size_show_bytes
$size_show_mb
$size_show_fractions
$size_units_on_left