diff options
Diffstat (limited to 'lib/ssluse.c')
| -rw-r--r-- | lib/ssluse.c | 29 | 
1 files changed, 3 insertions, 26 deletions
| diff --git a/lib/ssluse.c b/lib/ssluse.c index 0083a4153..e8a2e03c9 100644 --- a/lib/ssluse.c +++ b/lib/ssluse.c @@ -1448,40 +1448,17 @@ ossl_connect_step2(struct connectdata *conn,  {    struct SessionHandle *data = conn->data;    int err; -  long has_passed;    struct ssl_connect_data *connssl = &conn->ssl[sockindex];    DEBUGASSERT(ssl_connect_2 == connssl->connecting_state               || ssl_connect_2_reading == connssl->connecting_state               || ssl_connect_2_writing == connssl->connecting_state); -  /* Find out if any timeout is set. If not, use 300 seconds. -     Otherwise, figure out the most strict timeout of the two possible one -     and then how much time that has elapsed to know how much time we -     allow for the connect call */ -  if(data->set.timeout && data->set.connecttimeout) { -    /* get the most strict timeout of the ones converted to milliseconds */ -    if(data->set.timeout<data->set.connecttimeout) -      *timeout_ms = data->set.timeout; -    else -      *timeout_ms = data->set.connecttimeout; -  } -  else if(data->set.timeout) -    *timeout_ms = data->set.timeout; -  else if(data->set.connecttimeout) -    *timeout_ms = data->set.connecttimeout; -  else -    /* no particular time-out has been set */ -    *timeout_ms = DEFAULT_CONNECT_TIMEOUT; - -  /* Evaluate in milliseconds how much time that has passed */ -  has_passed = Curl_tvdiff(Curl_tvnow(), data->progress.t_startsingle); - -  /* subtract the passed time */ -  *timeout_ms -= has_passed; +  /* Find out how much more time we're allowed */ +  *timeout_ms = Curl_timeleft(conn, NULL, TRUE);    if(*timeout_ms < 0) { -    /* a precaution, no need to continue if time already is up */ +    /* no need to continue if time already is up */      failf(data, "SSL connection timeout");      return CURLE_OPERATION_TIMEDOUT;    } | 
