summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Holme <steve_holme@hotmail.com>2016-04-02 06:15:29 +0100
committerSteve Holme <steve_holme@hotmail.com>2016-04-02 06:15:29 +0100
commitced0cbb5b72bab6ad1a8393a22e6443cdbf611f1 (patch)
tree9865dfafcc21746b65eccd2595ba564765bcf0b9
parent4edcfc6bf07f0703b8cbccf823725e6e7356aaba (diff)
downloadgnurl-ced0cbb5b72bab6ad1a8393a22e6443cdbf611f1.tar.gz
gnurl-ced0cbb5b72bab6ad1a8393a22e6443cdbf611f1.tar.bz2
gnurl-ced0cbb5b72bab6ad1a8393a22e6443cdbf611f1.zip
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.
-rw-r--r--lib/curl_sasl.c6
-rw-r--r--lib/vauth/krb5_gssapi.c5
-rw-r--r--lib/vauth/krb5_sspi.c4
-rw-r--r--lib/vauth/vauth.h1
4 files changed, 12 insertions, 4 deletions
diff --git a/lib/curl_sasl.c b/lib/curl_sasl.c
index 32c8534e7..a4568d6d3 100644
--- a/lib/curl_sasl.c
+++ b/lib/curl_sasl.c
@@ -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);
diff --git a/lib/vauth/krb5_gssapi.c b/lib/vauth/krb5_gssapi.c
index 87accd13e..56cfc3621 100644
--- a/lib/vauth/krb5_gssapi.c
+++ b/lib/vauth/krb5_gssapi.c
@@ -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;
diff --git a/lib/vauth/krb5_sspi.c b/lib/vauth/krb5_sspi.c
index a1d438f50..6afd83dde 100644
--- a/lib/vauth/krb5_sspi.c
+++ b/lib/vauth/krb5_sspi.c
@@ -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;
diff --git a/lib/vauth/vauth.h b/lib/vauth/vauth.h
index 161cb14b7..0047b3cf7 100644
--- a/lib/vauth/vauth.h
+++ b/lib/vauth/vauth.h
@@ -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,