aboutsummaryrefslogtreecommitdiff
path: root/lib/imap.c
diff options
context:
space:
mode:
authorPatrick Monnerat <pm@datasphere.ch>2015-01-27 17:24:55 +0100
committerPatrick Monnerat <pm@datasphere.ch>2015-01-27 17:24:55 +0100
commit0d24f644735924524bcffff75ace4bd7b7a2e05a (patch)
tree7021e64d949bb2bcec90a3adc8f9c2314c94cec6 /lib/imap.c
parente1bb13c09f8d4cb8d1499fc9f51734729cdcdf2c (diff)
sasl: implement EXTERNAL authentication mechanism.
Its use is only enabled by explicit requirement in URL (;AUTH=EXTERNAL) and by not setting the password.
Diffstat (limited to 'lib/imap.c')
-rw-r--r--lib/imap.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/imap.c b/lib/imap.c
index c5c8e4aea..2d037eeb3 100644
--- a/lib/imap.c
+++ b/lib/imap.c
@@ -612,9 +612,9 @@ static CURLcode imap_perform_authentication(struct connectdata *conn)
struct imap_conn *imapc = &conn->proto.imapc;
saslprogress progress;
- /* Check we have a username and password to authenticate with and end the
+ /* Check we have enough data to authenticate with and end the
connect phase if we don't */
- if(!conn->bits.user_passwd) {
+ if(!Curl_sasl_can_authenticate(&imapc->sasl, conn)) {
state(conn, IMAP_STOP);
return result;
}
@@ -1962,7 +1962,7 @@ static CURLcode imap_parse_url_options(struct connectdata *conn)
case SASL_AUTH_NONE:
imapc->preftype = IMAP_TYPE_NONE;
break;
- case SASL_AUTH_ANY:
+ case SASL_AUTH_DEFAULT:
imapc->preftype = IMAP_TYPE_ANY;
break;
default: