|
|
cURL Mailing List Monthly Index Single Mail
curl-tracker mailing list Archives
[ curl-Bugs-2958179 ] SSL handshake may loop forever
From: SourceForge.net <noreply_at_sourceforge.net>
Date: Fri, 26 Feb 2010 23:30:19 +0000
Bugs item #2958179, was opened at 2010-02-24 21:13
Please note that this message will contain a full copy of the comment thread,
Initial Comment:
But ssluse.c's ossl_connect_common() function has a loop where it attempts to perform ossl_connect_step2() inside a loop. If the socket is non-blocking, it will do this until the timeout is hit (which may be forever).
I fixed this by changing the following:
retcode = ossl_connect_step2(conn, sockindex);
to
return ossl_connect_step2(conn, sockindex);
There doesn't seem to be any problem with this as what you'll get from curl_multi_perform() is CURLM_CALL_MULTI_PERFORM indicating you should call curl_multi_perform() some more. I'm not sure what impact this has on curl_easy_perform() though.
Another solution, which maybe works with curl_easy_perform() if this one does not, is to have any registered progress callback called in this loop. The progress callback can return non-zero to make the call give up. But this is slightly less flexible because maybe I just want to do some other work before letting libcurl continue, and not to abort the entire transfer.
(BTW - Sorry for not replying to comments posted on the bug I filed earlier; I did not receive notification emails until it got closed.)
----------------------------------------------------------------------
>Comment By: Daniel Stenberg (bagder)
Message:
diff -u -p -r1.252 ssluse.c
----------------------------------------------------------------------
You can respond by visiting:
These mail archives are generated by hypermail. |
Page updated November 12, 2010.
web site info