diff options
author | Kamil Dudka <kdudka@redhat.com> | 2011-12-25 22:37:24 +0100 |
---|---|---|
committer | Kamil Dudka <kdudka@redhat.com> | 2011-12-25 22:37:24 +0100 |
commit | 9f7f6a62ff3bf2fcf87c9ff64c6c090c1940fd70 (patch) | |
tree | ae9c2e458dbcebea159aa4276f1ac7186c47044b | |
parent | 98292bcdd043612760967f850aa41f55c2652973 (diff) |
transfer: avoid unnecessary timeout event when waiting for 100-continue
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
-rw-r--r-- | RELEASE-NOTES | 2 | ||||
-rw-r--r-- | lib/transfer.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 304380c69..1d569b3b5 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -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 diff --git a/lib/transfer.c b/lib/transfer.c index af48253b1..21bf2464c 100644 --- a/lib/transfer.c +++ b/lib/transfer.c @@ -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); |