- libcurl-NSS now tries to reconnect with TLS disabled in case it detects

a broken TLS server. However it does not happen if SSL version is selected
  manually. The approach was originally taken from PSM. Kaspar Brand helped me
  to complete the patch. Original bug reports:
  https://bugzilla.redhat.com/525496
  https://bugzilla.redhat.com/527771
This commit is contained in:
Kamil Dudka 2009-11-12 11:16:31 +00:00
parent d547d00f2c
commit 571309dc3e
4 changed files with 62 additions and 3 deletions

View file

@ -2572,10 +2572,11 @@ CURLcode Curl_retry_request(struct connectdata *conn,
if(data->set.upload && !(conn->protocol&PROT_HTTP))
return CURLE_OK;
if((data->req.bytecount +
if(/* workaround for broken TLS servers */ data->state.ssl_connect_retry ||
((data->req.bytecount +
data->req.headerbytecount == 0) &&
conn->bits.reuse &&
!data->set.opt_no_body) {
!data->set.opt_no_body)) {
/* We got no data, we attempted to re-use a connection and yet we want a
"body". This might happen if the connection was left alive when we were
done using it before, but that was closed when we wanted to read from