mirror of
https://github.com/moparisthebest/curl
synced 2024-11-08 02:25:06 -05:00
77cfeadfa6
John-Mark Bell filed bug #3000052 that identified a problem (with an associated patch) with the OpenSSL handshake state machine when the multi interface is used: Performing an https request using a curl multi handle and using select or epoll to wait for events results in a hang. It appears that the cause is the fix for bug #2958179, which makes ossl_connect_common unconditionally return from the step 2 loop when fetching from a multi handle. When ossl_connect_step2 has completed, it updates connssl->connecting_state to ssl_connect_3. ossl_connect_common will then return to the caller, as a multi handle is in use. Eventually, the client code will call curl_multi_fdset to obtain an updated fdset to select or epoll on. For https requests, curl_multi_fdset will cause https_getsock to be called. https_getsock will only return a socket handle if the connecting_state is ssl_connect_2_reading or ssl_connect_2_writing. Therefore, the client will never obtain a valid fdset, and thus not drive the multi handle, resulting in a hang. (http://curl.haxx.se/bug/view.cgi?id=3000052)
46 lines
1.5 KiB
Plaintext
46 lines
1.5 KiB
Plaintext
Curl and libcurl 7.21.0
|
|
|
|
Public curl releases: 116
|
|
Command line options: 138
|
|
curl_easy_setopt() options: 179
|
|
Public functions in libcurl: 58
|
|
Known libcurl bindings: 39
|
|
Contributors: 794
|
|
|
|
This release includes the following changes:
|
|
|
|
o added the --proto and -proto-redir options
|
|
o new configure option --enable-threaded-resolver
|
|
o improve TELNET ability with libcurl
|
|
o added support for PolarSSL
|
|
o added support for FTP wildcard matching and downloads
|
|
o added support for RTMP
|
|
|
|
This release includes the following bugfixes:
|
|
|
|
o prevent needless reverse name lookups
|
|
o detect GSS on ancient Linux distros
|
|
o GnuTLS: EOF caused error when it wasn't
|
|
o GnuTLS: SSL handshake phase is non-blocking
|
|
o -J/--remote-header-name strips CRLF
|
|
o MSVC makefiles now use ws2_32.lib instead of wsock32.lib
|
|
o -O crash on windows
|
|
o SSL handshake timeout underflow in libcurl-NSS
|
|
o multi interface missed storing connection time
|
|
o broken CRL support in libcurl-NSS
|
|
o ignore response-body on redirect even if compressed
|
|
o OpenSSL handshake state-machine for multi interface
|
|
|
|
This release includes the following known bugs:
|
|
|
|
o see docs/KNOWN_BUGS (http://curl.haxx.se/docs/knownbugs.html)
|
|
|
|
This release would not have looked like this without help, code, reports and
|
|
advice from friends like these:
|
|
|
|
Rainer Canavan, Paul Howarth, Jerome Vouillon, Ruslan Gazizov, Yang Tse,
|
|
Kamil Dudka, Alex Bligh, Ben Greear, Hoi-Ho Chan, Howard Chu, Dirk Manske,
|
|
Pavel Raiskup, John-Mark Bell
|
|
|
|
Thanks! (and sorry if I forgot to mention someone)
|