1. 17 Jul, 2018 1 commit
    • Brandon Long's avatar
      Improve OAUTHBEARER support. · 98cc4236
      Brandon Long authored
      Move token refresh commands to their own config variables. Consolidate
      code for refreshing tokens and generating the SASL OAUTHBEARER
      argument in account.c. Add support for OAUTHBEARER to pop.
      
      Fix pop_auth_oauth() mutt_from_base64() call from 1.10.1 release.
      98cc4236
  2. 16 Jul, 2018 2 commits
  3. 15 Jul, 2018 1 commit
  4. 13 Jul, 2018 9 commits
  5. 08 Jul, 2018 4 commits
  6. 02 Jul, 2018 4 commits
  7. 29 Jun, 2018 1 commit
  8. 27 Jun, 2018 3 commits
  9. 26 Jun, 2018 1 commit
    • Kevin J. McCarthy's avatar
      Work around open mailbox monitor code check issue. · 550771fd
      Kevin J. McCarthy authored
      The monitor code is too fast, and can result in all the changes for a
      single directory stat update being missed.
      
      Work around this issue by not recording stat time updates when the
      check_mailbox() is triggered by the monitor.  This will cause the next
      subsequent check to take another look.
      550771fd
  10. 25 Jun, 2018 1 commit
    • Kevin J. McCarthy's avatar
      Generate error if makedoc is missing a type. · fc040a5b
      Kevin J. McCarthy authored
      Add a comment in init.h to remind devs to update makedoc.c when adding
      a new type.
      
      Change makedoc to fail on a missing type.  Otherwise it's too easy to
      miss the resulting problem in the documentation.
      
      Credit goes to Eike Rathke for noting that it was too easy to forget
      to do this, and something should be fixed.  I found his solution a bit
      too complicated though, and opted for just adding comment and program
      failure.
      fc040a5b
  11. 23 Jun, 2018 1 commit
    • Eike Rathke's avatar
      Make make ctags actually work · f24a1bca
      Eike Rathke authored
      make ctags broke with
      
      Making ctags in po
      make[1]: Entering directory '.../mutt/po'
      make[1]: *** No rule to make target 'ctags'.  Stop.
      make[1]: Leaving directory '.../mutt/po'
      Makefile:867: recipe for target 'ctags-recursive' failed
      make: *** [ctags-recursive] Error 1
      
      and once fixed the same in intl/
      
      Note that this ctags target scatters tags files over directories.
      If you use exuberant ctags then simply run
      ctags -R
      once in mutt's root dir instead.
      f24a1bca
  12. 22 Jun, 2018 1 commit
  13. 19 Jun, 2018 3 commits
  14. 18 Jun, 2018 5 commits
    • Eike Rathke's avatar
      Allow larger passphrase timeout values · 4bc76c2f
      Eike Rathke authored
      This came up in the comp.mail.mutt newsgroup where a user wasn't
      satisfied with the SHORT_MAX seconds ~9 hours limit on passphrase
      timeouts.
      
      For the first time made it necessary for the options parser to be
      able to parse numbers as long values. Also, introduced
      mutt_add_timeout() to detect possible overflow before adding a
      timeout to a time_t value and truncate to TIME_T_MAX instead.
      4bc76c2f
    • Vincent Lefevre's avatar
      Updated French translation. · 508ff237
      Vincent Lefevre authored
      508ff237
    • Kevin J. McCarthy's avatar
      Merge branch 'stable' · e26e5664
      Kevin J. McCarthy authored
      e26e5664
    • Ph. Gesang's avatar
      crypt-gpgme: prevent crash on bad S/MIME signature · df4affd1
      Ph. Gesang authored
      Inform the user about the fingerprint being unavailable instead
      of crashing if the S/MIME signature is bad.
      df4affd1
    • Kevin J. McCarthy's avatar
      Convert context and buffy to use nanosecond timestamps. · 120f63a9
      Kevin J. McCarthy authored
      The inotify interface has an unfortunate side effect of making Mutt
      react too quickly to new mail.  Sometimes, the mail is only
      half-delivered when the mailbox is checked.  Because Mutt is using the
      stat mtime - seconds resolution - this means it won't realize there
      are more messages delivered during the same second.
      
      Nanosecond resolution fields were standardized in POSIX.1-2008, so
      check for and use those if they are available.
      120f63a9
  15. 14 Jun, 2018 3 commits
    • Vincent Lefevre's avatar
      Updated French translation. · 7ec17b81
      Vincent Lefevre authored
      7ec17b81
    • Brandon Long's avatar
      Support for using OAUTHBEARER for smtp. · fcd33398
      Brandon Long authored
      This also means a bunch of smtp auth stuff is now compiled in by
      default (with --enable-smtp) without having sasl
      fcd33398
    • Brandon Long's avatar
      Initial support for OAUTHBEARER for IMAP. · 798f749e
      Brandon Long authored
      Gmail supports RFC 7628 for using OAUTH with IMAP, and they really don't
      like you using password based auth.  You can still enable "less secure
      apps" and then generate an application specific password, but I figured it
      was time to support it.
      
      Being mutt, I punted on some of the "hard" work to an external script, ie
      getting/refreshing the OAUTH tokens.  This avoids the issue of how do you
      have a client-id and client-secret for an open source project, and the fact
      that OAUTH discovery is still nascent, so you'd likely need separate things
      for each of the providers.
      
      At least for Gmail, you can use the oauth2.py script from Google's
      gmail-oauth2-tools:
      https://github.com/google/gmail-oauth2-tools/blob/master/python/oauth2.py
      
      You'd need to get your own oauth client credentials for Gmail here:
      https://console.developers.google.com/apis/credentials
      
      Then, you'd use oauth2.py with --generate_oauth2_token to get a refresh
      token, and configure mutt with:
      
      set imap_authenticators="oauthbearer"
      set imap_user="<email_address>"
      set imap_pass=`/path/to/oauth2.py --quiet --user=<email_address>
      --client_id=<client_id> --client_secret=<client_secret>
      --refresh_token=<refresh_token>`
      
      For this patch, I didn't add any new configuration, but I'm open to
      suggestions on that.
      
      The patch also only support SASL-IR to reduce round-trips to the server,
      but it's certainly possible to change that if we think there are
      OAUTHBEARER IMAP servers that don't support SASL-IR.  It also requires the
      connection to be encrypted as the access token is re-usable for an hour or
      so.  Again, Gmail only allows encrypted IMAP connections, not sure if any
      OAUTHBEARER services allow non-encrypted.
      
      Turns out that auth failure leaves you in SASL mode, so I have a hack to
      issue a noop command on error.  Not sure if that's just OAUTHBEARER
      oddness, or whether I should be using lower level mutt imap functions.
      798f749e