]> granicus.if.org Git - curl/commit
https_getsock: provided for schannel backend as well
authorChristian Hägele <haegele@teamviewer.com>
Mon, 9 Jul 2012 11:54:13 +0000 (13:54 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 9 Jul 2012 11:55:23 +0000 (13:55 +0200)
commitc42ca3e73a223b8ce9d655444755098c41fe0c08
tree527f9e704bdf6bcd4d2607b81c7be23865ca26c9
parent329be28d69e68b6021292491481b8ccd316392be
https_getsock: provided for schannel backend as well

The function https_getsock was only implemented properly when USE_SSLEAY
or USE_GNUTLS is defined, but it is also necessary for USE_SCHANNEL.

The problem occurs when Curl_read_plain or Curl_write_plain returns
CURLE_AGAIN. In that case CURL_OK is returned to the multi-interface an
the used socket is set to state CURL_POLL_REMOVE and the easy-state is
set to CURLM_STATE_PROTOCONNECT. This is fine, because later the socket
should be set to CURL_POLL_IN or CURL_POLL_OUT via multi_getsock. That's
where https_getsock is called and doesn't return any sockets.
lib/http.c