imap/smtp: Fixed incorrect SASL mechanism selection with XOAUTH2 servers
authorSteve Holme <steve_holme@hotmail.com>
Wed, 4 Sep 2013 20:27:01 +0000 (21:27 +0100)
committerSteve Holme <steve_holme@hotmail.com>
Wed, 4 Sep 2013 20:27:01 +0000 (21:27 +0100)
commit9e8ced98906b50dfa5864f2e609ec603e5342c0e
tree5e1e2f700e9ba7847cda7f300a0c5639125e68a3
parent698e3bdf82b3db038387bbf5fa42be99e60b7338
imap/smtp: Fixed incorrect SASL mechanism selection with XOAUTH2 servers

XOAUTH2 would be selected in preference to LOGIN and PLAIN if the IMAP
or SMTP server advertised support for it even though a user's password
was supplied but bearer token wasn't.

Modified the selection logic so that XOAUTH2 will only be selected if
the server supports it and A) The curl user/libcurl programmer has
specifically asked for XOAUTH via the ;AUTH=XOAUTH login option or 2)
The bearer token is specified. Obviously if XOAUTH is asked for via
the login option but no token is specified the user will receive a
authentication failure which makes more sense than no known
authentication mechanisms supported!
lib/imap.c
lib/smtp.c