1. 11 Mar, 2018 1 commit
  2. 11 Jan, 2018 1 commit
    • Kevin J. McCarthy's avatar
      Create pgp and s/mime default and sign_as key vars. (see #3983) · db252e61
      Kevin J. McCarthy authored
      The $postpone_encrypt and $(pgp/smime)_self_encrypt configuration
      variables have created a somewhat messier situation for users.  Many
      of them now have to specify their keys across multiple configuration
      variables.
      
      (Trac) Ticket #3983 had a reasonable request: "if my encrypt and
      signing keys are the same, why can't I just specify my key once in my
      .muttrc?"
      
      The problem currently is that $smime_default_key and $pgp_sign_as are
      both used to specify signing keys, and are set by the "sign (a)s"
      security menu choice.  So we can't store encryption keys there because
      some users have separate sign-only capability keys.
      
      Create $pgp_default_key to store the default encryption key.  Change
      signing to use $pgp_default_key, unless overridden by $pgp_sign_as.
      The pgp "sign (a)s" will continue setting $pgp_sign_as.
      
      Create $smime_sign_as.  Change signing to use $smime_default_key
      unless overridden by $smime_sign_as.  Change s/mime "sign (a)s" menu
      to set $smime_sign_as instead.
      
      Change $postpone_encrypt and $(pgp/smime)_self_encrypt to use
      $(pgp/smime)_default_key by default.
      
      Mark $(pgp/smime)_self_encrypt_as deprecated.  They are now aliases
      for the $(pgp/smime)_default_key config vars.
      
      Change $(pgp/smime)_self_encrypt default to set.
      
      The intent is that most users now need only set
      $(pgp/smime)_default_key.  If they have a sign-only key, or have
      separate signing and encryption keys, they can put that in
      $(pgp/smime)_sign_as.  This also enables to default self_encrypt on
      and solve a very common request.
      
      Thanks to Michele Marcionelli and Vincent Lefèvre for gently pushing
      me towards a solution.
      db252e61
  3. 31 Dec, 2017 1 commit
    • Kevin J. McCarthy's avatar
      Disable message security if the backend is not available. · 561e106c
      Kevin J. McCarthy authored
      Gitlab issue #3 exposed an awkward corner case: if mutt is configured
      without PGP or S/MIME, and with GPGME, but $crypt_use_gpgme is unset.
      In this case, no backend will be available, but WithCrypto will be set
      with both APPLICATION_PGP and APPLICATION_SMIME bits.
      
      That will allow various config vars to enable encryption or signing,
      even though there will be no backend available to perform them.  The
      message security flag might then be set, but when the user hits send,
      will end up back at the compose menu due to the error.
      
      The pgp or smime menu might not even be available to clear the
      security setting!
      
      Add a check in send.c before the compose menu is invoked, and give a
      warning message for the menu ops inside the compose menu.
      
      I believe this should prevent the issue.  However this is a corner
      case combined with user misconfiguration, so I don't believe is worth
      a large effort to completely eradicate.
      561e106c
  4. 28 Sep, 2017 1 commit
    • Roger Pau Monne's avatar
      Enable $reply_self for group-reply, even with $metoo unset. · cfcd8787
      Roger Pau Monne authored
      For a (r)eply, the $metoo variable does not have any effect because
      there is a single recipient.
      
      However with (g)roup reply, the To was initially set to the sender,
      but subsequently removed my $nometoo.  The empty To line is then
      replaced with the Cc line, resulting in a (logically correct but)
      surprising outcome.
      
      Change the behavior such that $nometoo will not strip a single To
      recipient when $reply_self is set.
      cfcd8787
  5. 02 Jul, 2017 1 commit
  6. 14 Jun, 2017 1 commit
    • Kevin J. McCarthy's avatar
      Enable all header fields in the compose menu to be translated. · 907b43f3
      Kevin J. McCarthy authored
      While it is suggested they need not be, for some locales it might be
      preferable to be able to localize the fields.
      
      For instance, fr_FR may want to change the punctuation to have a space
      in front of the colon.  ja_JP may be more comfortable with a native
      character set description of the field when using it every day.
      907b43f3
  7. 29 May, 2017 1 commit
    • Kevin J. McCarthy's avatar
      Change $postpone_encrypt to use self-encrypt variables first. · 41050122
      Kevin J. McCarthy authored
      The concept of postpone encryption is similar to self-encrypting on
      send.  The problem is the $postpone_encrypt_as option doesn't take
      into account whether PGP or S/MIME is being used.
      
      Since we need to add the new options for self-encryption, modify
      $postpone_encrypt to use them by default instead, falling back to
      $postpone_encrypt_as if they are unset.  Note $postpone_encrypt_as is
      deprecated in the documentation.
      41050122
  8. 24 Jan, 2017 1 commit
    • Kevin J. McCarthy's avatar
      Improve Reply-to vs From comparison when replying. (closes #3909) · 5e3ac08d
      Kevin J. McCarthy authored
      Prior to this patch, if the Reply-to mailbox matched the From mailbox,
      mutt would always use the From address.  This was probably done to
      preserve the display name, as the Reply-to address is often missing one.
      
      Unfortunately, there are circumstances where the Reply-to display-name
      has significance, such as in ticket 3909.
      
      Change mutt so that it only uses the From address if the Reply-To has
      no display-name.
      5e3ac08d
  9. 30 Aug, 2016 1 commit
  10. 23 Aug, 2016 2 commits
  11. 01 Jul, 2016 1 commit
    • Kevin J. McCarthy's avatar
      Check $pgp_autoinline and $pgp_replyinline if oppenc is set. (closes #3846) · de43d690
      Kevin J. McCarthy authored
      The first oppenc call takes place after the initial checks of
      $pgp_autoline and $pgp_replyinline, and doesn't go through the pgp
      menu.
      
      Therefore, check for $pgp_autoline and $pgp_replyinline if oppenc is
      set too, to avoid oppenc enabling encryption without INLINE being set
      in those cases.
      
      a6a4d6ed0f19 previously cleaned things up so that it is safe
      to set INLINE even if encryption isn't enabled.
      de43d690
  12. 09 May, 2016 1 commit
    • Derek Martin's avatar
      Change M_* symbols to MUTT_* · 9cafb05c
      Derek Martin authored
      Changeset 23334e967dd7 created a workaround for a namespace conflict
      with Solaris and derivatives.  After some discussion, the team decided
      it would be best to move away from using the "M_" prefix for macros.
      
      This patch was automatically generated by running:
        perl -wpi -e 's/\bM_(\w+)\b/MUTT_$1/g' `find . -name '*.[ch]' -print`
      with the exception that sys_socket.h was exempted.  (That file will
      be backed out subsequent to this commit.)
      
      Thanks to Andras Salamon for supplying the perl script used to make
      this change.
      9cafb05c
  13. 10 Apr, 2016 1 commit
    • Kevin J. McCarthy's avatar
      Fix mutt_protect() when INLINE is set. (closes #3828) · 80e314f2
      Kevin J. McCarthy authored
      The oppenc changes allow security bits to be set even when not
      encrypting or signing (for instance, OPPENCRYPT and INLINE).
      
      mutt_protect() assumed that if INLINE is set, then either ENCRYPT or
      SIGN must also be set.  Specifically, it would end up inline-signing
      the message even though neither was set.
      
      Ensure mutt_protect() is a noop if neither SIGN or ENCRYPT are set.
      
      In ci_send_message(), check for sign or encrypt before calling the
      crypt_get_keys() / mutt_protect() block, and also in the fcc section
      (since clear_content would be NULL if not).
      
      The second change to the fcc part is somewhat redundant, but better to
      be explicit and avoid the case where the subtype is somehow
      "encrypted" or "signed" even though msg->security wasn't set thus.
      80e314f2
  14. 08 Mar, 2016 1 commit
    • Kevin J. McCarthy's avatar
      Add $resume_draft_files option. · f2811367
      Kevin J. McCarthy authored
      When set, draft files are processed the same as when resuming
      postponed messages.  One use of this option is to avoid multiple
      user-defined headers and signatures being added to the message.
      (e.g. when -E is used repeatedly on the draft files).
      f2811367
  15. 29 Feb, 2016 1 commit
  16. 07 Feb, 2016 1 commit
  17. 01 Jan, 2016 2 commits
    • Kevin J. McCarthy's avatar
      Convert copyright years to all use 4 digit years. · 8ce41525
      Kevin J. McCarthy authored
      Vincent Lefèvre pointed out the common shortcut, e.g 1996-9, is
      actually not allowed for copyright years.  Convert all the copyright
      years (for mutt files) to use 4 digits.
      8ce41525
    • Kevin J. McCarthy's avatar
      Update copyright notices. · 1b329ffe
      Kevin J. McCarthy authored
      This patch only updates existing copyright notices in the source
      files, using commit dates since the last copyright update in commits
      e3af935cdb1a and f8fd60d8d3f2.
      
      Add a notice to the COPYRIGHT file to refer to our mercurial
      repository for the full commit history.
      
      Add myself to the COPYRIGHT file and smime_keys.pl file.
      1b329ffe
  18. 24 Nov, 2015 1 commit
    • Kevin J. McCarthy's avatar
      Rename idna functions and bits for smtputf8 changes. · 0e0520fa
      Kevin J. McCarthy authored
      This is patch 1 of 4 implementing support for SMTPUTF8 (RFC 6531).
      
      Change mutt_idna.c to be always compiled.  Remove the stub functions in
      mutt_idna.h.  Instead, put #ifdefs around the idna function calls.  The
      conversion functions will be fixed up in the next patch.
      
      Rename the conversion functions to mutt_addrlist_to_intl() and
      mutt_env_to_intl().  Rename the ADDRESS idna status bits to "intl"
      status bits.
      0e0520fa
  19. 21 Sep, 2015 1 commit
  20. 13 Sep, 2015 1 commit
  21. 30 Mar, 2015 3 commits
    • Kevin J. McCarthy's avatar
      Add a security bit to the message for oppenc mode. · 15b61571
      Kevin J. McCarthy authored
      This allows oppenc to be enabled/disabled on a message level.  If
      something initially enables encryption, such as crypt_autoencrypt or
      crypt_replyencrypt, oppenc is turned off for the message.
      
      Change the postpone/resume code to persist the oppenc bit.
      
      Also change resend message to enable and invoke oppenc if the option is
      set.
      15b61571
    • Kevin J. McCarthy's avatar
      Add the crypt_opportunistic_encrypt option and calls. · 1d72a322
      Kevin J. McCarthy authored
      This patch creates the OPTCRYPTOPPORTUNISTICENCRYPT option and
      documentation.
      
      It also adds calls to crypt_opportunistic_encrypt() during initial
      message composition, after updating to, cc, or bcc, and after editing
      the message (if edit_headers is enabled).
      1d72a322
    • Kevin J. McCarthy's avatar
      Implement crypt_opportunistic_encrypt(). · fb0f9c8b
      Kevin J. McCarthy authored
      This function will be called to flip encryption on and off based on
      message recipients.
      fb0f9c8b
  22. 04 Feb, 2015 1 commit
    • Kevin J. McCarthy's avatar
      Protect SmimeDefaultKey for postpone/resume. · 68e1fdd6
      Kevin J. McCarthy authored
      PgpSignAs is saved and restored in ci_send_message(), but
      SmimeDefaultKey was not.
      
      Also, fix a bug where an empty PgpSignAs was not restored back to empty
      if the postponed email contained a SignAs value.
      68e1fdd6
  23. 06 Nov, 2013 1 commit
    • Kevin J. McCarthy's avatar
      Add option to encrypt postponed messages. (closes #3665) · b36a729b
      Kevin J. McCarthy authored
      This patch is based on Christian Brabandt's patch sent
      to mutt-users.
      
      Add two new configuration variables: $postpone_encrypt and
      $postpone_encrypt_as.  When $postpone_encrypt is set and a message is
      marked for encryption, the message will be encrypted using the key
      specified in $postpone_encrypt_as before saving the message.
      
      In this patch, $postpone_encrypt_as must be specified.  I experimented
      with passing safe_strdup( NONULL (PostponeEncryptAs)) when unspecified,
      but although gpg.conf has a default-key setting, I could not get it to
      work properly. (pgpclassic gave an error message and gpgme sefaulted.)
      
      Although not necessary, this patch turns off signing during encryption
      of the postponed message (and turns it back on before saving), since
      there is no need to sign the message yet.
      b36a729b
  24. 04 Oct, 2013 1 commit
  25. 23 Jul, 2013 1 commit
  26. 18 Dec, 2012 1 commit
    • Michael Elkins's avatar
      rename iswsp() to is_email_wsp() · 90eb6a39
      Michael Elkins authored
      add new inline funtion skip_email_wsp() to be used in lieu of SKIPWS() when parsing ASCII protocols rather than user input.
      
      change use of SKIPWS() to skip_email_wsp() in places where it is likely to be a problem.
      90eb6a39
  27. 01 Dec, 2012 1 commit
  28. 09 Jul, 2012 1 commit
  29. 11 Sep, 2010 1 commit
    • Michael Elkins's avatar
      Allow setting message security in send2-hook · f91aee96
      Michael Elkins authored
      This patch delays checking the message security options until after the user has an initial chance to edit the message.  This allows the security options to be set in a send2-hook when using $edit_headers.  Without this patch, the user has no way of automatically setting security based on recipients since the to/cc prompts are bypassed.
      
      The other change in behavior is if the user happened to use a send2-hook to see if the message had security applied *prior* to editing the message, that no longer works.
      f91aee96
  30. 09 Aug, 2010 1 commit
  31. 18 May, 2010 1 commit
  32. 01 Apr, 2010 1 commit
  33. 15 Jul, 2009 1 commit
  34. 21 Jun, 2009 1 commit
  35. 12 Jun, 2009 2 commits