From eaa98cef8d31e40327c4db672d401578733140d2 Mon Sep 17 00:00:00 2001 From: Steve Holme Date: Fri, 4 Sep 2015 07:11:09 +0100 Subject: [PATCH] oauth2: Don't use XOAUTH2 in OAuth 2.0 variables --- lib/curl_sasl.c | 7 ++++--- lib/url.c | 6 +++--- lib/urldata.h | 2 +- src/tool_cfgable.c | 2 +- src/tool_cfgable.h | 2 +- src/tool_getparam.c | 2 +- src/tool_operate.c | 4 ++-- src/tool_paramhlp.c | 2 +- 8 files changed, 14 insertions(+), 13 deletions(-) diff --git a/lib/curl_sasl.c b/lib/curl_sasl.c index 8c97c10f1..ad3b3721f 100644 --- a/lib/curl_sasl.c +++ b/lib/curl_sasl.c @@ -24,6 +24,7 @@ * RFC4422 Simple Authentication and Security Layer (SASL) * RFC4616 PLAIN authentication * RFC6749 OAuth 2.0 Authorization Framework + * RFC7628 A Set of SASL Mechanisms for OAuth * Draft LOGIN SASL Mechanism * ***************************************************************************/ @@ -1443,14 +1444,14 @@ CURLcode Curl_sasl_start(struct SASL *sasl, struct connectdata *conn, } else #endif - if((enabledmechs & SASL_MECH_XOAUTH2) || conn->xoauth2_bearer) { + if((enabledmechs & SASL_MECH_XOAUTH2) || conn->oauth_bearer) { mech = SASL_MECH_STRING_XOAUTH2; state1 = SASL_XOAUTH2; sasl->authused = SASL_MECH_XOAUTH2; if(force_ir || data->set.sasl_ir) result = sasl_create_xoauth2_message(data, conn->user, - conn->xoauth2_bearer, + conn->oauth_bearer, &resp, &len); } else if(enabledmechs & SASL_MECH_LOGIN) { @@ -1629,7 +1630,7 @@ CURLcode Curl_sasl_continue(struct SASL *sasl, struct connectdata *conn, case SASL_XOAUTH2: /* Create the authorisation message */ result = sasl_create_xoauth2_message(data, conn->user, - conn->xoauth2_bearer, &resp, &len); + conn->oauth_bearer, &resp, &len); break; case SASL_CANCEL: /* Remove the offending mechanism from the supported list */ diff --git a/lib/url.c b/lib/url.c index 89274f769..feb4517fc 100644 --- a/lib/url.c +++ b/lib/url.c @@ -2725,7 +2725,7 @@ static void conn_free(struct connectdata *conn) Curl_safefree(conn->user); Curl_safefree(conn->passwd); - Curl_safefree(conn->xoauth2_bearer); + Curl_safefree(conn->oauth_bearer); Curl_safefree(conn->options); Curl_safefree(conn->proxyuser); Curl_safefree(conn->proxypasswd); @@ -5535,8 +5535,8 @@ static CURLcode create_conn(struct SessionHandle *data, } if(data->set.str[STRING_BEARER]) { - conn->xoauth2_bearer = strdup(data->set.str[STRING_BEARER]); - if(!conn->xoauth2_bearer) { + conn->oauth_bearer = strdup(data->set.str[STRING_BEARER]); + if(!conn->oauth_bearer) { result = CURLE_OUT_OF_MEMORY; goto out; } diff --git a/lib/urldata.h b/lib/urldata.h index 4500623c1..fbed8f823 100644 --- a/lib/urldata.h +++ b/lib/urldata.h @@ -915,7 +915,7 @@ struct connectdata { char *passwd; /* password string, allocated */ char *options; /* options string, allocated */ - char *xoauth2_bearer; /* bearer token for OAuth 2.0, allocated */ + char *oauth_bearer; /* bearer token for OAuth 2.0, allocated */ char *proxyuser; /* proxy user name string, allocated */ char *proxypasswd; /* proxy password string, allocated */ diff --git a/src/tool_cfgable.c b/src/tool_cfgable.c index 64f15ca27..6cd22815a 100644 --- a/src/tool_cfgable.c +++ b/src/tool_cfgable.c @@ -114,7 +114,7 @@ static void free_config_fields(struct OperationConfig *config) Curl_safefree(config->customrequest); Curl_safefree(config->krblevel); - Curl_safefree(config->xoauth2_bearer); + Curl_safefree(config->oauth_bearer); Curl_safefree(config->unix_socket_path); Curl_safefree(config->writeout); diff --git a/src/tool_cfgable.h b/src/tool_cfgable.h index c3db4c191..85b8bcfee 100644 --- a/src/tool_cfgable.h +++ b/src/tool_cfgable.h @@ -208,7 +208,7 @@ struct OperationConfig { #ifdef CURLDEBUG bool test_event_based; #endif - char *xoauth2_bearer; /* OAuth 2.0 bearer token */ + char *oauth_bearer; /* OAuth 2.0 bearer token */ bool nonpn; /* enable/disable TLS NPN extension */ bool noalpn; /* enable/disable TLS ALPN extension */ char *unix_socket_path; /* path to Unix domain socket */ diff --git a/src/tool_getparam.c b/src/tool_getparam.c index c84cc2646..fd20cdc26 100644 --- a/src/tool_getparam.c +++ b/src/tool_getparam.c @@ -496,7 +496,7 @@ ParameterError getparameter(char *flag, /* f or -long-flag */ GetStr(&config->egd_file, nextarg); break; case 'B': /* OAuth 2.0 bearer token */ - GetStr(&config->xoauth2_bearer, nextarg); + GetStr(&config->oauth_bearer, nextarg); break; case 'c': /* connect-timeout */ err = str2udouble(&config->connecttimeout, nextarg); diff --git a/src/tool_operate.c b/src/tool_operate.c index 41a71dd73..4a67c0967 100644 --- a/src/tool_operate.c +++ b/src/tool_operate.c @@ -851,8 +851,8 @@ static CURLcode operate_do(struct GlobalConfig *global, else if(!config->use_metalink) my_setopt(curl, CURLOPT_HEADER, config->include_headers?1L:0L); - if(config->xoauth2_bearer) - my_setopt_str(curl, CURLOPT_XOAUTH2_BEARER, config->xoauth2_bearer); + if(config->oauth_bearer) + my_setopt_str(curl, CURLOPT_XOAUTH2_BEARER, config->oauth_bearer); #if !defined(CURL_DISABLE_PROXY) { diff --git a/src/tool_paramhlp.c b/src/tool_paramhlp.c index 28872e678..c26754aeb 100644 --- a/src/tool_paramhlp.c +++ b/src/tool_paramhlp.c @@ -519,7 +519,7 @@ CURLcode get_args(struct OperationConfig *config, const size_t i) bool last = (config->next ? FALSE : TRUE); /* Check we have a password for the given host user */ - if(config->userpwd && !config->xoauth2_bearer) { + if(config->userpwd && !config->oauth_bearer) { result = checkpasswd("host", i, last, &config->userpwd); if(result) return result;