]>
granicus.if.org Git - neomutt/log
Kevin McCarthy [Wed, 7 Aug 2019 21:12:43 +0000 (14:12 -0700)]
Add ability to create autocrypt account from an existing key
This is useful when adding accounts, or for users who want to use an
existing key from the keyring during initial account creation.
Co-authored-by: Richard Russon <rich@flatcap.org>
Richard Russon [Wed, 7 Aug 2019 21:20:12 +0000 (22:20 +0100)]
tidy code
- boolify variables, members
- reduce variable scope
- initialise pointers
- bracket logic
- name parameters in prototypes
Richard Russon [Wed, 7 Aug 2019 21:14:09 +0000 (22:14 +0100)]
add whitespace for clarity
Richard Russon [Wed, 7 Aug 2019 21:02:04 +0000 (22:02 +0100)]
explicitly check retval for strcmp, buffer_len
Richard Russon [Wed, 7 Aug 2019 20:57:06 +0000 (21:57 +0100)]
add braces to unclear 'if' statements
Richard Russon [Wed, 7 Aug 2019 20:53:54 +0000 (21:53 +0100)]
rename local variable msg to e
Richard Russon [Wed, 7 Aug 2019 20:52:17 +0000 (21:52 +0100)]
rename local variable hdr to e
Richard Russon [Wed, 7 Aug 2019 20:35:32 +0000 (21:35 +0100)]
doxy: add comment blocks
Richard Russon [Wed, 7 Aug 2019 20:27:52 +0000 (21:27 +0100)]
rename local variable rv to rc
Richard Russon [Wed, 7 Aug 2019 20:23:24 +0000 (21:23 +0100)]
iwyu: tidy #includes
Richard Russon [Tue, 6 Aug 2019 23:26:22 +0000 (00:26 +0100)]
fix test cases
Kevin McCarthy [Sun, 4 Aug 2019 14:55:26 +0000 (07:55 -0700)]
Don't try to decrypt autocrypt messages if the option is off
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Sat, 3 Aug 2019 20:53:40 +0000 (13:53 -0700)]
Add autocrypt README file
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Fri, 2 Aug 2019 16:03:41 +0000 (09:03 -0700)]
Add documentation for the autocrypt feature
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Thu, 1 Aug 2019 01:56:29 +0000 (18:56 -0700)]
Add option to scan mailboxes during first run
The scanner will disable the header cache, allowing scanning all
messages in the mailbox.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Wed, 31 Jul 2019 22:42:09 +0000 (15:42 -0700)]
Add more translation string comments for autocrypt
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Mon, 29 Jul 2019 02:24:11 +0000 (19:24 -0700)]
Basic autocrypt account menu
Provide ability to create, delete, and toggle the prefer-encrypt and
enabled flag for an account.
Hook into the index via 'A' <autocrypt-acct-menu>.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Wed, 31 Jul 2019 02:14:56 +0000 (19:14 -0700)]
Convert peer_update to just pass the peer object
Unlike get and insert, there is no need for an addres parameter that
needs to be normalized, since the address is already in the peer
object.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Mon, 29 Jul 2019 02:23:12 +0000 (19:23 -0700)]
Improve gen-map-doc work on multi-word maps
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Sat, 27 Jul 2019 22:34:51 +0000 (15:34 -0700)]
Add account->enabled checks
Add to ui recommendation, keylist generator, and autocrypt header
writing routines.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Sat, 27 Jul 2019 22:11:38 +0000 (15:11 -0700)]
Add prefer-encrypt prompt during account creation
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Sat, 27 Jul 2019 20:44:36 +0000 (13:44 -0700)]
Add AUTOCRYPT header to imap fetch list
If $autocrypt is set, add the header to make IMAP behave the same as
other formats (parsing on initial mailbox opening).
This will also be useful if we perform an initial scan during account
creation, to make that work for IMAP too.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Fri, 26 Jul 2019 23:27:04 +0000 (16:27 -0700)]
Add L10N translation message comments
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Fri, 26 Jul 2019 23:00:22 +0000 (16:00 -0700)]
Add autocrypt source files to POTFILES.in
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Fri, 26 Jul 2019 22:59:47 +0000 (15:59 -0700)]
Print an error message if an autocrypt key can't be found
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Fri, 26 Jul 2019 20:55:46 +0000 (13:55 -0700)]
Handle autocrypt message decryption
Try autocrypt first for crypt_pgp_decrypt_mime() and
pgp_gpgme_encrypted_handler().
Propagate the autocrypt bit if successful. This is used when replying
to an autocrypt message, to force a reply using autocrypt.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Fri, 26 Jul 2019 02:12:32 +0000 (19:12 -0700)]
Slightly improve the gossip header key update
Don't set an empty peer.gossip_keydata with a value that matches the
current peer.keydata. This just wastes space.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Thu, 25 Jul 2019 01:59:07 +0000 (18:59 -0700)]
Fix process_gossip_headers() to look at the right envelope
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Sun, 21 Jul 2019 22:15:06 +0000 (15:15 -0700)]
Autocrypt outgoing emails
Change crypt_get_keys() to query autocrypt.
When oppenc_mode is set, we still query the original keyring
regardless, because the compose menu can still run oppenc even if
autocrypt is on.
Since mutt_autocrypt_ui_recommendation() checks each key as part of
making the recommendation, add a keylist parameter and use that
function.
Add gpgme changes to use the autocrypt context for encryption.
Postpone work:
* Change mutt_protect() to have a postpone parameter. Remove the
manual toggling of the SEC_SIGN bit outside the call when postponing.
* Since autocrypt doesn't set the SEC_SIGN bit, this allows us to turn off
signing inside mutt_protect() for both normal and autocrypt mode.
* Set the autocrypt postpone key in AutocryptDefaultKey.
Write autocrypt and gossip headers in outgoing emails.
Co-authored-by: Richard Russon <rich@flatcap.org>
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.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Sat, 20 Jul 2019 21:48:06 +0000 (14:48 -0700)]
Add another struct Email security bit for autocrypt
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Thu, 18 Jul 2019 20:22:52 +0000 (13:22 -0700)]
Change gossip header address comparison to use normalized addresses
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Thu, 18 Jul 2019 20:19:47 +0000 (13:19 -0700)]
Change autocrypt_db normalization to return struct Address
This makes reusing the code in autocrypt.c easier.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Tue, 16 Jul 2019 01:36:57 +0000 (18:36 -0700)]
Add gossip header processing
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Mon, 15 Jul 2019 01:59:28 +0000 (18:59 -0700)]
Convert to use sqlite3_prepare_v3()
The documentation suggests the SQLITE_PREPARE_PERSISTENT flag is
helpful for long-lived prepared statements, and Mutt is using.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Fri, 12 Jul 2019 01:45:45 +0000 (18:45 -0700)]
Process autocrypt headers
Create/update peer database accounts and gpg keys based on the headers.
Co-authored-by: Richard Russon <rich@flatcap.org>
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.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Tue, 9 Jul 2019 03:58:32 +0000 (20:58 -0700)]
Add initial autocrypt account setup
Generate gpg key and add account record to the database.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Mon, 8 Jul 2019 22:23:44 +0000 (15:23 -0700)]
Factor out mutt_edit_address() in send.c
For reuse by autocrypt for address prompts.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Sun, 7 Jul 2019 21:37:52 +0000 (14:37 -0700)]
Start autocrypt gpgme
Add a basic init function.
Bump up the required gpgme version to 1.8.0 if autocrypt is enabled.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Sat, 6 Jul 2019 21:01:13 +0000 (14:01 -0700)]
Add database and schema initialization
Add mutt_mkdir() library function supporting recursive mkdir.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Sat, 6 Jul 2019 18:35:22 +0000 (11:35 -0700)]
Add autocrypt config vars
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Thu, 4 Jul 2019 02:51:09 +0000 (19:51 -0700)]
Initial autoconf and makefile setup for autocrypt
Co-authored-by: Richard Russon <rich@flatcap.org>
Richard Russon [Sun, 4 Aug 2019 18:00:34 +0000 (19:00 +0100)]
build: add autocrypt option
Richard Russon [Tue, 6 Aug 2019 14:46:50 +0000 (15:46 +0100)]
address: add mutt_addr_to_intl()
Richard Russon [Mon, 19 Aug 2019 23:14:00 +0000 (00:14 +0100)]
merge: upstream fixes
* docs: Refer to NeoMutt
* Add checks for buffered OpenSSL or GnuTLS data when polling
* Fix LibreSSL build
* Add size display configuration variables
* test: remove mutt_str_pretty_size()
* Add $ssl_use_tlsv1_3 config variable, default set
Kevin McCarthy [Sat, 17 Aug 2019 22:38:34 +0000 (15:38 -0700)]
Add $ssl_use_tlsv1_3 config variable, default set
Co-authored-by: Richard Russon <rich@flatcap.org>
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
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Wed, 14 Aug 2019 04:03:51 +0000 (21:03 -0700)]
Fix LibreSSL build
Apparently LibreSSL doesn't implement SSL_has_pending(), even for
newer versions.
Co-authored-by: Richard Russon <rich@flatcap.org>
Kevin McCarthy [Sun, 28 Jul 2019 14:54:32 +0000 (07:54 -0700)]
Add checks for buffered OpenSSL or GnuTLS data when polling
I don't believe this has had an actual effect, because NeoMutt doesn't
support renegotiation, and we are only polling immediately after
sending NOOP.
However, it looks like checking is technically the correct thing to do
to avoid polling waiting for data that is already buffered.
Co-authored-by: Richard Russon <rich@flatcap.org>
Richard Russon [Mon, 19 Aug 2019 21:58:14 +0000 (22:58 +0100)]
docs: Refer to NeoMutt
Scott Kostyshak [Sun, 18 Aug 2019 17:07:26 +0000 (13:07 -0400)]
Fix parsing of GnuPG output
In GnuPG output there is a space after "[GNUPG:]". If the space is
not taken into account, the rest of the parsing fails, e.g., because
the variable "line" starts with " BEGIN_DECRYPTION" instead of the
expected "BEGIN_DECRYPTION".
This commit restores the previous parsing functionality. It appears
that the number of spaces does not differ among GnuPG versions.
However, if we wanted to make the code robust to varying amount of
space following "[GNUPG:]", we could either trim the whitespace from
the beginning or take it into account with mutt_str_lws_len().
This commit fixes a regression introduced at
c2aa0c06 .
Alyssa Ross [Sun, 18 Aug 2019 10:07:17 +0000 (10:07 +0000)]
Increase length of attachment pipe command
This matches the length of the pipe command for messages, and is much
less likely to be hit accidentally.
Austin Ray [Mon, 12 Aug 2019 21:42:47 +0000 (17:42 -0400)]
notmuch: sort headers on interrupted read
Commit
45639e4 breaks partial notmuch mailbox loads. If a notmuch mailbox is
interrupted while loading, the index will be empty. To resolve this, add back
the 'mutt_sort_headers()' for the interrupted read case.
Pietro Cerutti [Mon, 12 Aug 2019 13:08:49 +0000 (13:08 +0000)]
Use Buffer instead of raw char* in pop
Oneric [Fri, 26 Jul 2019 11:54:12 +0000 (13:54 +0200)]
Change OptIgnoreMacroEvents to ignore macros
Change OptIgnoreMacroEvents to actuallly ignore macros instead of
throwing errors.
Add a comment to the OptIgnoreMacroEvents km_dokey() change
The option was added in commit
53900afa , and its actual purpose was
to separate out an "unget" event buffer from the "macro" buffer, to
solve a problem with certificate prompts.
The safest approach in a low-level function like km_dokey() was to
return an error if new macros were generated when the option is set.
However, this results in an unbuffered username/password prompt being
aborted.
Currently the only users of unbuffered input are the SSL certificate
prompts, which use menu->dialog mode (and thus mutt_getch() directly)
and username/password prompts. So the only affected cases are
editor-menu prompts, and returning the pressed keys is likely less
surprising than aborting the prompt.
If other unbuffered menus are created in the future, we may want to
add a check for which menu mode is being used.
Co-authored-by: Richard Russon <rich@flatcap.org>
Andrew Marks [Fri, 5 Jul 2019 15:44:21 +0000 (08:44 -0700)]
Added * option to unattachments command
The * option clears all previous attachments settings.
Co-authored-by: Richard Russon <rich@flatcap.org>
Austin Ray [Sat, 3 Aug 2019 20:34:32 +0000 (16:34 -0400)]
notmuch: ensure message_id is correct
The notmuch-backend initializes a provided email struct with content
from notmuch. In rare instances, a provided email struct has a
message_id that does not match the one from notmuch. No validation to
ensure message_ids match is performed.
An issue occurs when running nm_mbox_check(), which stores all messages
in a hash table. The incorrect message_id is the key so our email is
considered missing, reloaded into the mailbox, and a duplicate appears
in the index. This triggers a warning from neomutt regarding external
modification.
Instead, validate the message_ids to ensure a match so our hash table
keys are correct. As a result, a reload is no longer performed and
neomutt's warning need not occur.
Fixes #1793
Pietro Cerutti [Fri, 2 Aug 2019 11:16:14 +0000 (11:16 +0000)]
Revert "mime_lookup: use compose mailcap entries when replying"
This reverts commit
672a84d9c4110343ab4d43d542b0c0933365d023 .
Richard Russon [Wed, 31 Jul 2019 12:05:47 +0000 (13:05 +0100)]
merge: preparation for window improvements
* pager: tidy code
* window: drop unused functions
* window: don't pass a Window when an int will do
* window: add new() and free()
Richard Russon [Wed, 24 Jul 2019 11:36:16 +0000 (12:36 +0100)]
window: add new() and free()
Richard Russon [Thu, 25 Jul 2019 14:22:33 +0000 (15:22 +0100)]
window: don't pass a Window when an int will do
Richard Russon [Sat, 27 Jul 2019 19:07:20 +0000 (20:07 +0100)]
window: drop unused functions
Richard Russon [Thu, 25 Jul 2019 14:52:32 +0000 (15:52 +0100)]
pager: tidy code
Richard Russon [Tue, 30 Jul 2019 12:57:33 +0000 (13:57 +0100)]
reflow multiline prompts correctly
When asking the user a long question, NeoMutt can expand the message
window up to three lines.
This fixes two problems with multiline prompts:
- `mutt_window_reflow()` was resizing the windows when it shouldn't
- coloured (shortened) prompts weren't being measured correctly
(causing unnecessary wrapping)
Simon Symeonidis [Fri, 19 Jul 2019 19:02:28 +0000 (15:02 -0400)]
Refactor regex with custom wrapper
Pietro Cerutti [Thu, 25 Jul 2019 07:45:24 +0000 (07:45 +0000)]
mutt_sort_headers appens in ctx_update, no need to call it again
Richard Russon [Wed, 24 Jul 2019 20:07:07 +0000 (21:07 +0100)]
fix printf format strings
The logging functions use a printf formatting string, but unfortunately
the compiler can't automatically detect errors because of our use of
macros.
Zero King [Wed, 24 Jul 2019 18:27:43 +0000 (18:27 +0000)]
Remove uninitialized char array buf
Richard Russon [Tue, 23 Jul 2019 22:40:26 +0000 (23:40 +0100)]
drop unused summary menu
Zero King [Wed, 24 Jul 2019 17:24:32 +0000 (17:24 +0000)]
Remove duplicate conditional expressions
Zero King [Wed, 24 Jul 2019 16:51:12 +0000 (16:51 +0000)]
Fix struct Buffer used as %s
cmd is a Buffer struct, it does not correspond to %s in the format
string.
Pietro Cerutti [Tue, 23 Jul 2019 13:22:38 +0000 (13:22 +0000)]
Honour a Mailbox's hidden flag in the browser
Pietro Cerutti [Tue, 23 Jul 2019 08:10:49 +0000 (08:10 +0000)]
Update to latest autosetup and bundled JimTcl
Pietro Cerutti [Tue, 23 Jul 2019 08:05:47 +0000 (08:05 +0000)]
Update to latest acutest.h
Pietro Cerutti [Mon, 22 Jul 2019 11:37:23 +0000 (11:37 +0000)]
Fix browsing an IMAP backend
Fixes #1783
Richard Russon [Sat, 20 Jul 2019 22:18:23 +0000 (23:18 +0100)]
merge: light refactoring
* test: sync mutt_extract_token()
* drop Buffer.destroy
* refactor: Mailbox in mutt_display_message()
* pager: reorganised the code
* context: tidy for clarity
* context: add notifications
* notify: use data to match specific callbacks
Richard Russon [Sat, 20 Jul 2019 12:48:19 +0000 (13:48 +0100)]
notify: use data to match specific callbacks
When removing a notification callback, check both the function and data
pointers.
This means we can reuse a single callback function with multiple data
objects.
Richard Russon [Fri, 19 Jul 2019 13:51:46 +0000 (14:51 +0100)]
context: add notifications
Prepare for more Context refactoring by supporting notifications on the
Context object.
Richard Russon [Fri, 19 Jul 2019 11:09:37 +0000 (12:09 +0100)]
context: tidy for clarity
- rename msgnotreadyet
- insert whitespace into header
Richard Russon [Fri, 19 Jul 2019 12:38:03 +0000 (13:38 +0100)]
pager: reorganised the code
Move all the data, defines and structs to the top of the file, where
they're more discoverable.
Richard Russon [Fri, 19 Jul 2019 10:54:11 +0000 (11:54 +0100)]
refactor: Mailbox in mutt_display_message()
Pass the Mailbox into mutt_display_message() rather than relying on
Context->mailbox.
Richard Russon [Fri, 19 Jul 2019 21:48:51 +0000 (22:48 +0100)]
drop Buffer.destroy
This member controlled whether, when destroyed, a Buffer should delete
its data. The member was only used in a couple of places, so it seems
better to duplicate the data in those cases and *always* destroy it
afterwards.
Richard Russon [Fri, 19 Jul 2019 17:29:56 +0000 (18:29 +0100)]
test: sync mutt_extract_token()
The test code needs a private copy of mutt_extract_token().
Update the copy to match the latest code.
Richard Russon [Thu, 18 Jul 2019 16:23:54 +0000 (17:23 +0100)]
nntp: fix leaks
Richard Russon [Thu, 18 Jul 2019 16:23:17 +0000 (17:23 +0100)]
nntp: remove old Context references
Richard Russon [Thu, 18 Jul 2019 13:02:48 +0000 (14:02 +0100)]
smime: factor out context
Richard Russon [Thu, 18 Jul 2019 12:41:24 +0000 (13:41 +0100)]
addrlist: fix empty string
Richard Russon [Thu, 18 Jul 2019 14:58:00 +0000 (15:58 +0100)]
notify: fix shutdown order
Free the Notify object after we free anyone who might use it.
Richard Russon [Wed, 17 Jul 2019 22:01:06 +0000 (23:01 +0100)]
boolify monitor
Richard Russon [Wed, 17 Jul 2019 13:33:19 +0000 (14:33 +0100)]
context: crypt_extract_keys_from_messages()
Change crypt_extract_keys_from_messages() to use a Context parameter
rather than the global.
Richard Russon [Wed, 17 Jul 2019 15:36:04 +0000 (16:36 +0100)]
nntp: fix refactoring bugs
- fix cli startup
- fix mailbox ptr
- fix change-folder
Richard Russon [Mon, 15 Jul 2019 10:49:53 +0000 (11:49 +0100)]
email: add events
Richard Russon [Wed, 17 Jul 2019 01:10:53 +0000 (02:10 +0100)]
iwyu: tidy more #includes
Richard Russon [Tue, 16 Jul 2019 21:43:12 +0000 (22:43 +0100)]
merge: trivial tidying
* doxygen: fix comments
* fix whitespace
* rename mutt_emaillist_free() to _clear()
* drop unused maildir_update_tables()
* de-Context nntp_check_msgid()
* de-Context nntp_check_children()
* boolify imap_next_word()
* rename dreadful local
* email: shorten function names
* rename ParameterList variables
* unify private data free functions
* hash: pick some better variable names
* iwyu: tidy #includes
Richard Russon [Tue, 16 Jul 2019 21:04:02 +0000 (22:04 +0100)]
iwyu: tidy #includes
Richard Russon [Tue, 16 Jul 2019 20:14:50 +0000 (21:14 +0100)]
hash: pick some better variable names
Richard Russon [Tue, 16 Jul 2019 19:44:32 +0000 (20:44 +0100)]
unify private data free functions
Richard Russon [Tue, 16 Jul 2019 18:33:14 +0000 (19:33 +0100)]
rename ParameterList variables