aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamil Dudka <kdudka@redhat.com>2011-12-25 22:37:24 +0100
committerKamil Dudka <kdudka@redhat.com>2011-12-25 22:37:24 +0100
commit9f7f6a62ff3bf2fcf87c9ff64c6c090c1940fd70 (patch)
treeae9c2e458dbcebea159aa4276f1ac7186c47044b
parent98292bcdd043612760967f850aa41f55c2652973 (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-NOTES2
-rw-r--r--lib/transfer.c2
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);