1. 11 Oct, 2018 1 commit
    • Kevin J. McCarthy's avatar
      Convert the rest of mh.c to use BUFFER for file paths. · b231f15a
      Kevin J. McCarthy authored
        * mh_read_sequences
        * mh_sequences_changed
        * mh_already_notified
        * mh_mkstemp
        * mh_update_sequences
        * mh_sequences_add_one
        * maildir_update_time
        * maildir_delayed_parsing
        * maildir_open_mailbox_append
        * mh_open_mailbox_append
        * maildir_mh_open_message
        * maildir_open_new_message
        * _mh_commit_message
        * mh_rewrite_message
        * mh_sync_mailbox
        * mh_check_mailbox
        * maildir_check_empty
        * mx_is_maildir
        * mx_is_mh()
      b231f15a
  2. 10 Oct, 2018 1 commit
  3. 09 Oct, 2018 2 commits
    • Kevin J. McCarthy's avatar
      Change gnutls certificate_file processing and interactive prompts. · d6581efc
      Kevin J. McCarthy authored
      Accept a saved cert at any point in the chain, except for those
      revoked or with invalid dates.
      
      The INSECUREALG processing was a bit goofed up.  It was skipping the
      prompt for every chain except the host, and was only displaying an
      error for entry 1 (the host being 0, root being len-1).  Instead
      prompt at any point, and display a warning as with the other errors.
      
      Add a CERTERR_OTHER type to capture other bits.  Recently GnuTLS has
      added additional certificate_status_t types.  We may want to improve
      the prompts in the future for those, but for now at least make sure
      it's recorded in certerr.
      d6581efc
    • Kevin J. McCarthy's avatar
      Fix gnutls (a)lways to properly save for all certerr values. · ea1ea1e5
      Kevin J. McCarthy authored
      For the case of SIGNERNOTCA, INSECUREALG, or a newer unhandled value,
      the "(a)ccept always" prompt was allowed, but the cert saving was
      prevented by a check only against NOTTRUSTED.  This ended up giving a
      strange error message saying the cert was not saved.
      
      Fix to save the cert for all errors except HOSTNAME (which is handled
      separately).
      ea1ea1e5
  4. 08 Oct, 2018 7 commits
  5. 07 Oct, 2018 2 commits
  6. 06 Oct, 2018 2 commits
  7. 05 Oct, 2018 1 commit
    • Kevin J. McCarthy's avatar
      Improve info install/uninstall checks. · caeda713
      Kevin J. McCarthy authored
      Make sure install-info exists before using it.
      
      Make sure target mutt.info exists before calling `install-info
      --delete`.  Add a few missing '-f' force flags to removals during
      uninstall.
      caeda713
  8. 04 Oct, 2018 1 commit
  9. 03 Oct, 2018 4 commits
  10. 30 Sep, 2018 3 commits
    • Kevin J. McCarthy's avatar
      Convert pgp_invoke_list_keys and mix_send_message to use BUFFERs. · f3e0742a
      Kevin J. McCarthy authored
      Both repetitively perform a lot of copying back in forth, which is
      much cleaner with a BUFFER.
      
      Note that in pgp_invoke_list_keys, if there are no hints uids->data
      would be NULL.  However, the pgp_invoke() checks and wraps all the
      format substitutions with NONULL.
      f3e0742a
    • Kevin J. McCarthy's avatar
      a97543c3
    • Kevin J. McCarthy's avatar
      Increase buffer sizes for some IMAP commands. · 51efb726
      Kevin J. McCarthy authored
      Use to ensure assembled IMAP commands fit in the resultant buffer to
      be imap_exec()'ed.
      
      RFC2683 suggested a limit of 1000, but asked servers to accept up to
      8000.  Furthermore, RFC7162 bumped the client limit suggestion up to
      8192.  So I don't believe any issues will be caused by this.
      
      Most of these are increases are just to remove theoretical truncation
      warned about by the compiler; I don't believe we've had reports of
      actual command truncation due to a mailbox 1024 characters long.
      51efb726
  11. 27 Sep, 2018 1 commit
  12. 26 Sep, 2018 1 commit
    • Kevin J. McCarthy's avatar
      Fix non-threaded $sort_aux "reverse-" sorting. · 999d85c6
      Kevin J. McCarthy authored
      The secondary sort was looking at (Sort & SORT_REVERSE) instead
      of (SortAux & SORT_REVERSE), so wasn't even performing the reverse
      based on the correct flag.
      
      Additionally, afterwards, the primary sort was improperly applying a
      reverse when the secondary sort returned non-zero.
      
      Change SORTCODE() to look at SortAux when we are inside a secondary
      sort.
      
      Change AUXSORT() to return the result if the secondary sort returns
      non-zero.  It is ugly to put a return inside the macro, but the check
      for non-zero needs to be performed inside the AUXSORT if branch.
      
      If the secondary sort returns 0, then the primary sort can still
      compare index and apply a reverse as needed.
      999d85c6
  13. 22 Sep, 2018 3 commits
  14. 18 Sep, 2018 1 commit
    • Kevin J. McCarthy's avatar
      Send imap keepalives for interactive filters. · 4350694b
      Kevin J. McCarthy authored
      When viewing attachments externally with a (non-copiousoutput) mailcap
      entry missing %s, the command is invoked as a filter, with the
      attachment piped into stdin.  However, unlike a filter, the user
      interacts with the command, instead of just displaying the output in
      the pager.
      
      Just as with the mutt_system() command, Mutt needs to send imap
      keepalives to keep those connections from closing during the
      potentially extended invocation.
      
      Thanks to John Hawkinson for the bug report, and his suggested patch,
      which this commit is based upon.
      4350694b
  15. 14 Sep, 2018 2 commits
  16. 13 Sep, 2018 1 commit
    • Kevin J. McCarthy's avatar
      Change imap_conn_find() to always return an authenticated conn. · 488e9cd7
      Kevin J. McCarthy authored
      With the flag MUTT_IMAP_CONN_NONEW, it was already ensured the
      connection would be authenticated.  However, without that flag, an
      error in opening the connection or authentication would still return
      an idata.
      
      The callers that didn't bother to check the state were still assuming
      authenticated, because they were all subseqeuently issuing an
      "authenticated state" command to the server.
      
      Rather than add state checks to every caller, just change the function
      to return NULL if the idata did not end up in an authenticated state.
      
      Remove the now redundant state checks in imap_open_mailbox() and
      imap_get_mailbox().
      488e9cd7
  17. 02 Sep, 2018 3 commits
  18. 01 Sep, 2018 2 commits
  19. 29 Aug, 2018 2 commits
    • Kevin J. McCarthy's avatar
      Rename pgpring to mutt_pgpring. · a2b28936
      Kevin J. McCarthy authored
      pgpring is used by another common package, signing-party.  At the
      request of ArchLinux, I am renaming our version to be prefixed by
      "mutt_" in order to remove a naming conflict.
      
      This is a minor inconvenience for pgp2, pgp5, and pgp6 users, but I
      believe this constitutes an extremely small number of users at this
      point.
      
      I am keeping pgpewrap as-is because it is also used by GnuPG, and has
      no such naming conflict.
      a2b28936
    • Kevin J. McCarthy's avatar
      Remove extra lstats() in safe_rename() upon link success. · 6216a753
      Kevin J. McCarthy authored
      I originally kept the lstat()'s in order to make as few changes as
      possible to the function.  However, Derek Martin argues correctly that
      if we are trusting the link() 0-retval, the lstats are unnecessary and
      in fact can cause a performance impact over NFS.
      6216a753