From d6d58dd5580f5737432cae1e65f2023dff2804b6 Mon Sep 17 00:00:00 2001 From: Steve Holme Date: Sat, 5 Sep 2015 17:29:49 +0100 Subject: [PATCH] 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. --- lib/curl_sasl.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/curl_sasl.c b/lib/curl_sasl.c index a0c989915..8ccfac84a 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; -- 2.40.0