]> granicus.if.org Git - curl/commitdiff
transfer: avoid unnecessary timeout event when waiting for 100-continue
authorKamil Dudka <kdudka@redhat.com>
Sun, 25 Dec 2011 21:37:24 +0000 (22:37 +0100)
committerKamil Dudka <kdudka@redhat.com>
Sun, 25 Dec 2011 21:37:24 +0000 (22:37 +0100)
The commit 9dd85bc unintentionally changed the way we compute the time
spent waiting for 100-continue.  In particular, when using a SSL client
certificate, the time spent by SSL handshake was included and could
cause the CURL_TIMEOUT_EXPECT_100 timeout to be mistakenly fired up.

Bug: https://bugzilla.redhat.com/767490
Reported by: Mamoru Tasaka

RELEASE-NOTES
lib/transfer.c

index 304380c698f8a64489ae1bd3be1d0629ab2b0e3d..1d569b3b5f06e88d020ee6bb5e95e50726f04559 100644 (file)
@@ -47,6 +47,7 @@ This release includes the following bugfixes:
  o timer: restore PRETRANSFER timing [27]
  o libcurl.m4: Fix quoting arguments of AC_LANG_PROGRAM [28]
  o appconnect time fixed for non-blocking connect ssl backends [29]
+ o do not include SSL handshake into time spent waiting for 100-continue [32]
 
 This release includes the following known bugs:
 
@@ -97,3 +98,4 @@ References to bug reports and discussions on issues:
  [29] = http://curl.haxx.se/mail/lib-2011-12/0211.html
  [30] = http://curl.haxx.se/libcurl/c/curl_easy_setopt.html#CURLOPTACCEPTTIMOUTMS
  [31] = http://curl.haxx.se/mail/lib-2011-12/0133.html
+ [32] = https://bugzilla.redhat.com/767490
index af48253b1ede50080dec27ba906c151eceb8acec..21bf2464c91b47a5c547a6ef46df83fb05681522 100644 (file)
@@ -2364,7 +2364,7 @@ Curl_setup_transfer(
          (data->state.proto.http->sending == HTTPSEND_BODY)) {
         /* wait with write until we either got 100-continue or a timeout */
         k->exp100 = EXP100_AWAITING_CONTINUE;
-        k->start100 = k->start;
+        k->start100 = Curl_tvnow();
 
         /* set a timeout for the multi interface */
         Curl_expire(data, CURL_TIMEOUT_EXPECT_100);