]> granicus.if.org Git - neomutt/log
neomutt
5 years agomerge: update translations
Richard Russon [Tue, 20 Aug 2019 10:24:06 +0000 (11:24 +0100)]
merge: update translations

 * Update lt_LT translatons
 * Update pt_BR translation
 * Update pt_BR translation
 * Polish translate update
 * sync translations

5 years agosync translations
Richard Russon [Tue, 20 Aug 2019 10:19:23 +0000 (11:19 +0100)]
sync translations

5 years agoPolish translate update
Marcin Rajner [Sat, 10 Aug 2019 20:03:37 +0000 (22:03 +0200)]
Polish translate update

5 years agoUpdate pt_BR translation
Thiago Costa de Paiva [Sun, 4 Aug 2019 14:28:48 +0000 (10:28 -0400)]
Update pt_BR translation

5 years agoUpdate pt_BR translation
Thiago Costa de Paiva [Sun, 4 Aug 2019 14:26:28 +0000 (10:26 -0400)]
Update pt_BR translation

5 years agoUpdate lt_LT translatons
Marius Gedminas [Tue, 23 Jul 2019 13:25:44 +0000 (16:25 +0300)]
Update lt_LT translatons

Fix the fuzzies.

5 years agomerge: upstream autocrypt feature
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

5 years agoMention base64 keydata being stored in the autocrypt database
Kevin McCarthy [Tue, 13 Aug 2019 21:20:33 +0000 (14:20 -0700)]
Mention base64 keydata being stored in the autocrypt database

5 years agoAdd L10N comment about autocrypt menu help line abbreviations
Kevin McCarthy [Fri, 9 Aug 2019 21:15:18 +0000 (14:15 -0700)]
Add L10N comment about autocrypt menu help line abbreviations

5 years agoAdd a note about autocrypt first-run and macros
Kevin McCarthy [Fri, 9 Aug 2019 20:58:55 +0000 (13:58 -0700)]
Add a note about autocrypt first-run and macros

5 years agoAdd autocrypt documentation about shared key and keyring strategies
Kevin McCarthy [Fri, 9 Aug 2019 20:37:08 +0000 (13:37 -0700)]
Add autocrypt documentation about shared key and keyring strategies

5 years agoMinor autocrypt manual section updates
Kevin McCarthy [Fri, 9 Aug 2019 03:49:32 +0000 (20:49 -0700)]
Minor autocrypt manual section updates

Mention key selection during account creation and $autocrypt_reply for
controlling autocrypt mode setting during replies.

Co-authored-by: Richard Russon <rich@flatcap.org>
5 years agoEnabled writing protected subject with autocrypt too
Kevin McCarthy [Thu, 8 Aug 2019 16:18:53 +0000 (09:18 -0700)]
Enabled writing protected subject with autocrypt too

Co-authored-by: Richard Russon <rich@flatcap.org>
5 years agoTurn off macro processing during autocrypt initialization
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.

Co-authored-by: Richard Russon <rich@flatcap.org>
5 years agoAllow nested setting of OptIgnoreMacroEvents
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.

Co-authored-by: Richard Russon <rich@flatcap.org>
5 years agoAdd $autocrypt_reply
Kevin McCarthy [Wed, 7 Aug 2019 21:31:53 +0000 (14:31 -0700)]
Add $autocrypt_reply

This allows turning off the force-autocrypt mode when replying to an
autocrypt email.

Co-authored-by: Richard Russon <rich@flatcap.org>
5 years agoAutomatically clear screen when popping the last menu
Kevin McCarthy [Wed, 7 Aug 2019 21:17:28 +0000 (14:17 -0700)]
Automatically clear screen when popping the last menu

This removes the need to manually clear the screen during pre-menu
operations, such as autocrypt first run initialization.

Co-authored-by: Richard Russon <rich@flatcap.org>
5 years agoAdd ability to create autocrypt account from an existing key
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>
5 years agotidy code
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

5 years agoadd whitespace for clarity
Richard Russon [Wed, 7 Aug 2019 21:14:09 +0000 (22:14 +0100)]
add whitespace for clarity

5 years agoexplicitly check retval for strcmp, buffer_len
Richard Russon [Wed, 7 Aug 2019 21:02:04 +0000 (22:02 +0100)]
explicitly check retval for strcmp, buffer_len

5 years agoadd braces to unclear 'if' statements
Richard Russon [Wed, 7 Aug 2019 20:57:06 +0000 (21:57 +0100)]
add braces to unclear 'if' statements

5 years agorename local variable msg to e
Richard Russon [Wed, 7 Aug 2019 20:53:54 +0000 (21:53 +0100)]
rename local variable msg to e

5 years agorename local variable hdr to e
Richard Russon [Wed, 7 Aug 2019 20:52:17 +0000 (21:52 +0100)]
rename local variable hdr to e

5 years agodoxy: add comment blocks
Richard Russon [Wed, 7 Aug 2019 20:35:32 +0000 (21:35 +0100)]
doxy: add comment blocks

5 years agorename local variable rv to rc
Richard Russon [Wed, 7 Aug 2019 20:27:52 +0000 (21:27 +0100)]
rename local variable rv to rc

5 years agoiwyu: tidy #includes
Richard Russon [Wed, 7 Aug 2019 20:23:24 +0000 (21:23 +0100)]
iwyu: tidy #includes

5 years agofix test cases
Richard Russon [Tue, 6 Aug 2019 23:26:22 +0000 (00:26 +0100)]
fix test cases

5 years agoDon't try to decrypt autocrypt messages if the option is off
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>
5 years agoAdd autocrypt README file
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>
5 years agoAdd documentation for the autocrypt feature
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>
5 years agoAdd option to scan mailboxes during first run
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>
5 years agoAdd more translation string comments for autocrypt
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>
5 years agoBasic autocrypt account menu
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>
5 years agoConvert peer_update to just pass the peer object
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>
5 years agoImprove gen-map-doc work on multi-word maps
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>
5 years agoAdd account->enabled checks
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>
5 years agoAdd prefer-encrypt prompt during account creation
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>
5 years agoAdd AUTOCRYPT header to imap fetch list
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>
5 years agoAdd L10N translation message comments
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>
5 years agoAdd autocrypt source files to POTFILES.in
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>
5 years agoPrint an error message if an autocrypt key can't be found
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>
5 years agoHandle autocrypt message decryption
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>
5 years agoSlightly improve the gossip header key update
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>
5 years agoFix process_gossip_headers() to look at the right envelope
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>
5 years agoAutocrypt outgoing emails
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>
5 years agoAdd autocrypt line to the compose menu
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>
5 years agoAdd another struct Email security bit for autocrypt
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>
5 years agoChange gossip header address comparison to use normalized addresses
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>
5 years agoChange autocrypt_db normalization to return struct Address
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>
5 years agoAdd gossip header processing
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>
5 years agoConvert to use sqlite3_prepare_v3()
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>
5 years agoProcess autocrypt headers
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>
5 years agoAdd autocrypt header parsing to mutt_parse_rfc822_line()
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>
5 years agoAdd initial autocrypt account setup
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>
5 years agoFactor out mutt_edit_address() in send.c
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>
5 years agoStart autocrypt gpgme
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>
5 years agoAdd database and schema initialization
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>
5 years agoAdd autocrypt config vars
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>
5 years agoInitial autoconf and makefile setup for autocrypt
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>
5 years agobuild: add autocrypt option
Richard Russon [Sun, 4 Aug 2019 18:00:34 +0000 (19:00 +0100)]
build: add autocrypt option

5 years agoaddress: add mutt_addr_to_intl()
Richard Russon [Tue, 6 Aug 2019 14:46:50 +0000 (15:46 +0100)]
address: add mutt_addr_to_intl()

5 years agomerge: upstream fixes
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

5 years agoAdd $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>
5 years agotest: remove mutt_str_pretty_size()
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.

5 years agoAdd size display configuration variables
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>
5 years agoFix LibreSSL build
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>
5 years agoAdd checks for buffered OpenSSL or GnuTLS data when polling
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>
5 years agodocs: Refer to NeoMutt
Richard Russon [Mon, 19 Aug 2019 21:58:14 +0000 (22:58 +0100)]
docs: Refer to NeoMutt

5 years agoFix parsing of GnuPG output
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.

5 years agoIncrease length of attachment pipe command
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.

5 years agonotmuch: sort headers on interrupted read
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.

5 years agoUse Buffer instead of raw char* in pop
Pietro Cerutti [Mon, 12 Aug 2019 13:08:49 +0000 (13:08 +0000)]
Use Buffer instead of raw char* in pop

5 years agoChange OptIgnoreMacroEvents to ignore macros
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>
5 years agoAdded * option to unattachments command
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>
5 years agonotmuch: ensure message_id is correct 1797/head
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

5 years agoRevert "mime_lookup: use compose mailcap entries when replying"
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.

5 years agomerge: preparation for window improvements
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()

5 years agowindow: add new() and free()
Richard Russon [Wed, 24 Jul 2019 11:36:16 +0000 (12:36 +0100)]
window: add new() and free()

5 years agowindow: don't pass a Window when an int will do
Richard Russon [Thu, 25 Jul 2019 14:22:33 +0000 (15:22 +0100)]
window: don't pass a Window when an int will do

5 years agowindow: drop unused functions
Richard Russon [Sat, 27 Jul 2019 19:07:20 +0000 (20:07 +0100)]
window: drop unused functions

5 years agopager: tidy code
Richard Russon [Thu, 25 Jul 2019 14:52:32 +0000 (15:52 +0100)]
pager: tidy code

5 years agoreflow multiline prompts correctly
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)

5 years agoRefactor regex with custom wrapper 1780/head
Simon Symeonidis [Fri, 19 Jul 2019 19:02:28 +0000 (15:02 -0400)]
Refactor regex with custom wrapper

5 years agomutt_sort_headers appens in ctx_update, no need to call it again
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

5 years agofix printf format strings
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.

5 years agoRemove uninitialized char array buf
Zero King [Wed, 24 Jul 2019 18:27:43 +0000 (18:27 +0000)]
Remove uninitialized char array buf

5 years agodrop unused summary menu
Richard Russon [Tue, 23 Jul 2019 22:40:26 +0000 (23:40 +0100)]
drop unused summary menu

5 years agoRemove duplicate conditional expressions
Zero King [Wed, 24 Jul 2019 17:24:32 +0000 (17:24 +0000)]
Remove duplicate conditional expressions

5 years agoFix struct Buffer used as %s 1787/head
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.

5 years agoHonour a Mailbox's hidden flag in the browser
Pietro Cerutti [Tue, 23 Jul 2019 13:22:38 +0000 (13:22 +0000)]
Honour a Mailbox's hidden flag in the browser

5 years agoUpdate to latest autosetup and bundled JimTcl
Pietro Cerutti [Tue, 23 Jul 2019 08:10:49 +0000 (08:10 +0000)]
Update to latest autosetup and bundled JimTcl

5 years agoUpdate to latest acutest.h
Pietro Cerutti [Tue, 23 Jul 2019 08:05:47 +0000 (08:05 +0000)]
Update to latest acutest.h

5 years agoFix browsing an IMAP backend
Pietro Cerutti [Mon, 22 Jul 2019 11:37:23 +0000 (11:37 +0000)]
Fix browsing an IMAP backend

Fixes #1783

5 years agomerge: light refactoring
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

5 years agonotify: 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.

5 years agocontext: add notifications
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.

5 years agocontext: tidy for clarity
Richard Russon [Fri, 19 Jul 2019 11:09:37 +0000 (12:09 +0100)]
context: tidy for clarity

- rename msgnotreadyet
- insert whitespace into header

5 years agopager: reorganised the code
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.

5 years agorefactor: Mailbox in mutt_display_message()
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.