krb5: Moved host from Curl_auth_create_gssapi_user_message() to be argument

For consistency with the spnego and oauth2 code moved the setting of
the host name outside of the Curl_auth_create_gssapi_user_messag()
function.

This will allow us to more easily override it in the future.
This commit is contained in:
Steve Holme 2016-04-02 06:15:29 +01:00
parent 4edcfc6bf0
commit ced0cbb5b7
4 changed files with 12 additions and 4 deletions

View File

@ -295,6 +295,8 @@ CURLcode Curl_sasl_start(struct SASL *sasl, struct connectdata *conn,
result = Curl_auth_create_gssapi_user_message(data, conn->user,
conn->passwd,
sasl->params->service,
data->easy_conn->
host.name,
sasl->mutual_auth,
NULL, &conn->krb5,
&resp, &len);
@ -496,6 +498,7 @@ CURLcode Curl_sasl_continue(struct SASL *sasl, struct connectdata *conn,
result = Curl_auth_create_gssapi_user_message(data, conn->user,
conn->passwd,
sasl->params->service,
data->easy_conn->host.name,
sasl->mutual_auth, NULL,
&conn->krb5,
&resp, &len);
@ -506,7 +509,8 @@ CURLcode Curl_sasl_continue(struct SASL *sasl, struct connectdata *conn,
if(sasl->mutual_auth) {
/* Decode the user token challenge and create the optional response
message */
result = Curl_auth_create_gssapi_user_message(data, NULL, NULL, NULL,
result = Curl_auth_create_gssapi_user_message(data, NULL, NULL,
NULL, NULL,
sasl->mutual_auth,
serverdata, &conn->krb5,
&resp, &len);

View File

@ -53,6 +53,7 @@
* userp [in] - The user name.
* passdwp [in] - The user's password.
* service [in] - The service type such as www, smtp, pop or imap.
* host [in[ - The host name.
* mutual_auth [in] - Flag specifing whether or not mutual authentication
* is enabled.
* chlg64 [in] - Pointer to the optional base64 encoded challenge
@ -68,6 +69,7 @@ CURLcode Curl_auth_create_gssapi_user_message(struct SessionHandle *data,
const char *userp,
const char *passwdp,
const char *service,
const char *host,
const bool mutual_auth,
const char *chlg64,
struct kerberos5data *krb5,
@ -88,8 +90,7 @@ CURLcode Curl_auth_create_gssapi_user_message(struct SessionHandle *data,
if(krb5->context == GSS_C_NO_CONTEXT) {
/* Generate our SPN */
char *spn = Curl_auth_build_gssapi_spn(service,
data->easy_conn->host.name);
char *spn = Curl_auth_build_gssapi_spn(service, host);
if(!spn)
return CURLE_OUT_OF_MEMORY;

View File

@ -51,6 +51,7 @@
* userp [in] - The user name in the format User or Domain\User.
* passdwp [in] - The user's password.
* service [in] - The service type such as www, smtp, pop or imap.
* host [in] - The host name.
* mutual_auth [in] - Flag specifing whether or not mutual authentication
* is enabled.
* chlg64 [in] - The optional base64 encoded challenge message.
@ -65,6 +66,7 @@ CURLcode Curl_auth_create_gssapi_user_message(struct SessionHandle *data,
const char *userp,
const char *passwdp,
const char *service,
const char *host,
const bool mutual_auth,
const char *chlg64,
struct kerberos5data *krb5,
@ -103,7 +105,7 @@ CURLcode Curl_auth_create_gssapi_user_message(struct SessionHandle *data,
return CURLE_OUT_OF_MEMORY;
/* Generate our SPN */
krb5->spn = Curl_auth_build_spn(service, data->easy_conn->host.name);
krb5->spn = Curl_auth_build_spn(service, host);
if(!krb5->spn)
return CURLE_OUT_OF_MEMORY;

View File

@ -148,6 +148,7 @@ CURLcode Curl_auth_create_gssapi_user_message(struct SessionHandle *data,
const char *userp,
const char *passwdp,
const char *service,
const char *host,
const bool mutual,
const char *chlg64,
struct kerberos5data *krb5,