summaryrefslogtreecommitdiffstats
path: root/imap/auth.c
AgeCommit message (Collapse)Author
2018-12-31Remove trailing whitespace.Kevin McCarthy
The result of find . -name "*.[ch]" -exec emacs -batch {} \ --eval="(progn (delete-trailing-whitespace) (and (buffer-modified-p) (save-buffer)))" \;
2018-06-14Initial support for OAUTHBEARER for IMAP.Brandon Long
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.
2016-01-01Convert copyright years to all use 4 digit years.Kevin McCarthy
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.
2011-12-03Declare many structures const (closes #3552)Dan Fandrich
Many structs used in mutt are actually constant but are defined without the 'const' keyword. This can slow initialization (slightly) in some environments due to extra copying and increases the amount of writable RAM required at run-time, which can be significant on non-MMU systems. Using const can also increase the opportunities for compiler optimization. The attached patch marks many such structures as const. On my test x86 build, this reduces the size of .data by over 50%.
2009-03-17Fix some warnings with -W about missing initializers in structsRocco Rutte
2005-09-17Gah, forgot the zip code when updating the FSF address...Brendan Cully
2005-09-17Update FSF address (via sed, I hope nothing got mangled). Closes: #2071.Brendan Cully
2005-02-03Add config.h to the top of every C file that could possibly want it.Brendan Cully
Remove it from mutt.h
2005-02-01Pull config.h out of protos.h, add to top of every IMAP C file. This shouldBrendan Cully
probably be done to every C file, but the results need testing in case some files depend on the current (broken) includes.
2002-12-11Fix Mike's and my e-mail addresses in copyright lines.Thomas Roessler
2001-06-11patch-bac.flags-20010611.1Thomas Roessler
2001-06-05Change the delimiter for imap_authenticators to a colon.Thomas Roessler
2001-06-05The attached patch should be the last feature I want to get inThomas Roessler
before 1.4. It creates a new config variable $imap_authenticators, which is a comma-separated list of authentication methods for mutt to try to use to authenticate to an IMAP server. If it is unspecified you get the old behaviour - any method is tried, the first to succeed or fail ends the auth loop. (From Brendan Cully.)
2001-05-29GSSAPI fixes, tunnel driver. From Brendan Cully.Thomas Roessler
2001-02-14STARTTLS patch from Brendan Cully.Thomas Roessler
2000-08-01Brendan's latest patches.Thomas Roessler
2000-07-31Brendan Cully's SASL patch. I hope I didn't miss any files.Thomas Roessler
2000-07-19IMAP socket moves by Brendan Cully, with a fix from TommiThomas Roessler
Komulainen, and most likely based on input from Vsevolod Voykov (sp?).
2000-07-18More IMAP clean-up from Brendan Cully.Thomas Roessler
2000-07-06More IMAP clean-up.Thomas Roessler
2000-07-05IMAP cosmetics from Brendan Cully.Thomas Roessler
2000-03-03The FSF apparently has moved.Thomas Roessler
2000-02-14Brendan Cully's patch from <20000212185021.A7365@xanadu.kublai.com>.Thomas Roessler
2000-01-25Fix GSSAPI support. From Lawrence Greenfield <leg+@andrew.cmu.edu>.Thomas Roessler
1999-12-09Tommi Komulainen's multiple IMAP usernames patch.Thomas Roessler
1999-10-26* stops mutt from logging CRAM secrets in debug mode.Thomas Roessler
* should fix mutt segfaulting when trying to open {} * helps with the problem of mutt detecting new mail in the wrong folder. Now, IMAP commands from the SELECTED state should call imap_cmd_finish after they've executed commands. I've only put this is imap_buffy_check for now - in my opinion the command execution path is still not stable, and rewrites may obviate the need for this... (From: Brendan Cully <brendan@kublai.com>)
1999-10-20Let the user skip CRAM-MD5 by entering an empty secret.Thomas Roessler
1999-10-19Fix some sloppiness-induced, but harmless, nonsense.Thomas Roessler
1999-10-19Add AUTHENTICATE=ANONYMOUS support to the IMAP authenticationThomas Roessler
methods. This is, for instance, needed to access the cyrus-related mailing lists' archives at CMU.
1999-10-04Some fixes from Brendan Cully.Thomas Roessler
1999-09-12The attached patch (imap-turbocharge.diff):Thomas Roessler
* changes mutt_buffy_check to only poll the selected folder when it is opened, not all mailboxes (unless the timeout has expired). This is a noticeable win if you have a few IMAP mailboxes. * sets the default checkinterval to 60 seconds from 0. Things are much much slower with 0. * makes some cosmetic renames * moves lots of generic imap stuff into a separate file, imap/util.c * abstracts the process of sending a command to an IMAP server a bit better (lots more to do here, though). * moves the message-set creation code used by the new fastdelete code into its own function, since it is generally useful. * implements server-side copy of messages. Tagged messages are copied in one command, thanks to the message-set function. Speedy! (From: Brendan Cully; modifications by tlr.)
1999-09-02Fix a tiny signedness warning.Thomas Roessler
1999-08-23Inclue GSS authentization for IMAP.Thomas Roessler
1999-08-20Brendan Cully's latest IMAP clean-up.Thomas Roessler