Commit ced0cbb5 authored by Steve Holme's avatar Steve Holme
Browse files

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.
parent 4edcfc6b
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -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);
+3 −2
Original line number Diff line number Diff line
@@ -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;

+3 −1
Original line number Diff line number Diff line
@@ -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;

+1 −0
Original line number Diff line number Diff line
@@ -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,