aboutsummaryrefslogtreecommitdiff
path: root/lib/http.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2008-08-04 22:07:50 +0000
committerDaniel Stenberg <daniel@haxx.se>2008-08-04 22:07:50 +0000
commited50e3f1b4bfafa9f0cb16626f6edd93e06cd14c (patch)
tree8bf61e06eb9c38f8802cce8361957f0cb40654a4 /lib/http.c
parent3a499099af52ddc69a3647767521c99c9e9c42e4 (diff)
- Yehoshua Hershberg found a problem that would make libcurl re-use a
connection with the multi interface even if a previous use of it caused a CURLE_PEER_FAILED_VERIFICATION to get returned. I now make sure that failed SSL connections properly close the connections.
Diffstat (limited to 'lib/http.c')
-rw-r--r--lib/http.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/http.c b/lib/http.c
index 173de8edc..a2a5cd1f5 100644
--- a/lib/http.c
+++ b/lib/http.c
@@ -1815,8 +1815,11 @@ static CURLcode https_connecting(struct connectdata *conn, bool *done)
/* perform SSL initialization for this socket */
result = Curl_ssl_connect_nonblocking(conn, FIRSTSOCKET, done);
- if(result)
+ if(result) {
+ conn->bits.close = TRUE; /* a failed connection is marked for closure
+ to prevent (bad) re-use or similar */
return result;
+ }
return CURLE_OK;
}