From: Steve Holme Date: Sat, 5 Sep 2015 16:29:49 +0000 (+0100) Subject: sasl: Don't choose OAuth 2.0 if mechanism not advertised X-Git-Tag: curl-7_46_0~79 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d6d58dd558;p=thirdparty%2Fcurl.git sasl: Don't choose OAuth 2.0 if mechanism not advertised Regression from commit 9e8ced9890 which meant if --oauth2-bearer was specified but the SASL mechanism wasn't supported by the server then the mechanism would be chosen. --- diff --git a/lib/curl_sasl.c b/lib/curl_sasl.c index a0c9899152..8ccfac84a1 100644 --- a/lib/curl_sasl.c +++ b/lib/curl_sasl.c @@ -1455,7 +1455,8 @@ CURLcode Curl_sasl_start(struct SASL *sasl, struct connectdata *conn, } else #endif - if((enabledmechs & SASL_MECH_XOAUTH2) || conn->oauth_bearer) { + if((enabledmechs & SASL_MECH_XOAUTH2) && ((conn->oauth_bearer) || + (!conn->passwd))) { mech = SASL_MECH_STRING_XOAUTH2; state1 = SASL_XOAUTH2; sasl->authused = SASL_MECH_XOAUTH2;