Commit 39d68b47 authored by Steve Holme's avatar Steve Holme
Browse files

http_negotiate: Calculate service name and proxy service name locally

Calculate the service name and proxy service names locally, rather than
in url.c which will allow for us to support overriding the service name
for other protocols such as FTP, IMAP, POP3 and SMTP.
parent 0e6ff33b
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -53,14 +53,16 @@ CURLcode Curl_input_negotiate(struct connectdata *conn, bool proxy,
  if(proxy) {
    userp = conn->proxyuser;
    passwdp = conn->proxypasswd;
    service = data->set.str[STRING_PROXY_SERVICE_NAME];
    service = data->set.str[STRING_PROXY_SERVICE_NAME] ?
              data->set.str[STRING_PROXY_SERVICE_NAME] : "HTTP";
    host = conn->proxy.name;
    neg_ctx = &data->state.proxyneg;
  }
  else {
    userp = conn->user;
    passwdp = conn->passwd;
    service = data->set.str[STRING_SERVICE_NAME];
    service = data->set.str[STRING_SERVICE_NAME] ?
              data->set.str[STRING_SERVICE_NAME] : "HTTP";
    host = conn->host.name;
    neg_ctx = &data->state.negotiate;
  }
+0 −12
Original line number Diff line number Diff line
@@ -576,18 +576,6 @@ CURLcode Curl_init_userdefined(struct UserDefined *set)
                     CURL_DEFAULT_SOCKS5_GSSAPI_SERVICE);
  if(result)
    return result;

  /* set default negotiate proxy service name */
  result = setstropt(&set->str[STRING_PROXY_SERVICE_NAME],
                     CURL_DEFAULT_PROXY_SERVICE_NAME);
  if(result)
    return result;

  /* set default negotiate service name */
  result = setstropt(&set->str[STRING_SERVICE_NAME],
                     CURL_DEFAULT_SERVICE_NAME);
  if(result)
    return result;
#endif

  /* This is our preferred CA cert bundle/path since install time */
+0 −3
Original line number Diff line number Diff line
@@ -69,9 +69,6 @@ void Curl_close_connections(struct SessionHandle *data);
#define CURL_DEFAULT_PROXY_PORT 1080 /* default proxy port unless specified */
#define CURL_DEFAULT_SOCKS5_GSSAPI_SERVICE "rcmd" /* default socks5 gssapi
                                                     service */
#define CURL_DEFAULT_PROXY_SERVICE_NAME "HTTP" /* default negotiate proxy
                                                  service */
#define CURL_DEFAULT_SERVICE_NAME "HTTP"  /* default negotiate service */

CURLcode Curl_connected_proxy(struct connectdata *conn, int sockindex);