Commit 6ac9e67b authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

made the intended one hour default timeout in the CONNECT loop actually work

parent 8726a6b6
Loading
Loading
Loading
Loading
+9 −12
Original line number Diff line number Diff line
@@ -1024,14 +1024,13 @@ CURLcode Curl_ConnectHTTPProxyTunnel(struct connectdata *conn,
  struct Curl_transfer_keeper *k = &conn->keep;
  CURLcode result;
  int res;

  size_t nread;   /* total size read */
  int perline; /* count bytes per line */
  bool keepon=TRUE;
  ssize_t gotbytes;
  char *ptr;
  long timeout = 3600; /* default timeout in seconds */

  long timeout =
    data->set.timeout?data->set.timeout:3600; /* in seconds */
  char *line_start;
  char *host_port;
  curl_socket_t tunnelsocket = conn->sock[sockindex];
@@ -1088,16 +1087,14 @@ CURLcode Curl_ConnectHTTPProxyTunnel(struct connectdata *conn,

    while((nread<BUFSIZE) && (keepon && !error)) {

      if(data->set.timeout) {
      /* if timeout is requested, find out how much remaining time we have */
        timeout = data->set.timeout - /* timeout time */
      long check = timeout - /* timeout time */
        Curl_tvdiff(Curl_tvnow(), conn->now)/1000; /* spent time */
        if(timeout <=0 ) {
          failf(data, "Proxy connection aborted due to timeout");
      if(check <=0 ) {
        failf(data, "Proxy CONNECT aborted due to timeout");
        error = SELECT_TIMEOUT; /* already too little time */
        break;
      }
      }

      /* timeout each second and check the timeout */
      switch (Curl_select(tunnelsocket, CURL_SOCKET_BAD, 1000)) {