Loading CHANGES +2 −0 Original line number Original line Diff line number Diff line Loading @@ -7,6 +7,8 @@ Changelog Changelog Daniel S (3 October 2007) Daniel S (3 October 2007) - Yang Tse, fix issue related with the use of ares_timeout() result. - Alexey Pesternikov introduced CURLOPT_OPENSOCKETFUNCTION and - Alexey Pesternikov introduced CURLOPT_OPENSOCKETFUNCTION and CURLOPT_OPENSOCKETDATA to set a callback that allows an application to CURLOPT_OPENSOCKETDATA to set a callback that allows an application to replace the socket() call used by libcurl. It basically allows the app to replace the socket() call used by libcurl. It basically allows the app to Loading RELEASE-NOTES +1 −0 Original line number Original line Diff line number Diff line Loading @@ -33,6 +33,7 @@ This release includes the following bugfixes: o re-used handle transfers with SFTP o re-used handle transfers with SFTP o curl_easy_escape() problem with byte values >= 128 o curl_easy_escape() problem with byte values >= 128 o handles chunked-encoded CONNECT responses o handles chunked-encoded CONNECT responses o misuse of ares_timeout() result This release includes the following known bugs: This release includes the following known bugs: Loading lib/hostares.c +5 −4 Original line number Original line Diff line number Diff line Loading @@ -109,7 +109,8 @@ int Curl_resolv_getsock(struct connectdata *conn, { { struct timeval maxtime; struct timeval maxtime; struct timeval timeout; struct timeval timebuf; struct timeval *timeout; int max = ares_getsock(conn->data->state.areschannel, int max = ares_getsock(conn->data->state.areschannel, (int *)socks, numsocks); (int *)socks, numsocks); Loading @@ -117,10 +118,10 @@ int Curl_resolv_getsock(struct connectdata *conn, maxtime.tv_sec = CURL_TIMEOUT_RESOLVE; maxtime.tv_sec = CURL_TIMEOUT_RESOLVE; maxtime.tv_usec = 0; maxtime.tv_usec = 0; ares_timeout(conn->data->state.areschannel, &maxtime, &timeout); timeout = ares_timeout(conn->data->state.areschannel, &maxtime, &timebuf); Curl_expire(conn->data, Curl_expire(conn->data, (timeout.tv_sec * 1000) + (timeout.tv_usec/1000) ); (timeout->tv_sec * 1000) + (timeout->tv_usec/1000)); return max; return max; } } Loading Loading @@ -254,7 +255,7 @@ CURLcode Curl_wait_for_resolv(struct connectdata *conn, tvp = ares_timeout(data->state.areschannel, &store, &tv); tvp = ares_timeout(data->state.areschannel, &store, &tv); /* use the timeout period ares returned to us above */ /* use the timeout period ares returned to us above */ ares_waitperform(conn, tv.tv_sec * 1000 + tv.tv_usec/1000); ares_waitperform(conn, tvp->tv_sec * 1000 + tvp->tv_usec/1000); if(conn->async.done) if(conn->async.done) break; break; Loading Loading
CHANGES +2 −0 Original line number Original line Diff line number Diff line Loading @@ -7,6 +7,8 @@ Changelog Changelog Daniel S (3 October 2007) Daniel S (3 October 2007) - Yang Tse, fix issue related with the use of ares_timeout() result. - Alexey Pesternikov introduced CURLOPT_OPENSOCKETFUNCTION and - Alexey Pesternikov introduced CURLOPT_OPENSOCKETFUNCTION and CURLOPT_OPENSOCKETDATA to set a callback that allows an application to CURLOPT_OPENSOCKETDATA to set a callback that allows an application to replace the socket() call used by libcurl. It basically allows the app to replace the socket() call used by libcurl. It basically allows the app to Loading
RELEASE-NOTES +1 −0 Original line number Original line Diff line number Diff line Loading @@ -33,6 +33,7 @@ This release includes the following bugfixes: o re-used handle transfers with SFTP o re-used handle transfers with SFTP o curl_easy_escape() problem with byte values >= 128 o curl_easy_escape() problem with byte values >= 128 o handles chunked-encoded CONNECT responses o handles chunked-encoded CONNECT responses o misuse of ares_timeout() result This release includes the following known bugs: This release includes the following known bugs: Loading
lib/hostares.c +5 −4 Original line number Original line Diff line number Diff line Loading @@ -109,7 +109,8 @@ int Curl_resolv_getsock(struct connectdata *conn, { { struct timeval maxtime; struct timeval maxtime; struct timeval timeout; struct timeval timebuf; struct timeval *timeout; int max = ares_getsock(conn->data->state.areschannel, int max = ares_getsock(conn->data->state.areschannel, (int *)socks, numsocks); (int *)socks, numsocks); Loading @@ -117,10 +118,10 @@ int Curl_resolv_getsock(struct connectdata *conn, maxtime.tv_sec = CURL_TIMEOUT_RESOLVE; maxtime.tv_sec = CURL_TIMEOUT_RESOLVE; maxtime.tv_usec = 0; maxtime.tv_usec = 0; ares_timeout(conn->data->state.areschannel, &maxtime, &timeout); timeout = ares_timeout(conn->data->state.areschannel, &maxtime, &timebuf); Curl_expire(conn->data, Curl_expire(conn->data, (timeout.tv_sec * 1000) + (timeout.tv_usec/1000) ); (timeout->tv_sec * 1000) + (timeout->tv_usec/1000)); return max; return max; } } Loading Loading @@ -254,7 +255,7 @@ CURLcode Curl_wait_for_resolv(struct connectdata *conn, tvp = ares_timeout(data->state.areschannel, &store, &tv); tvp = ares_timeout(data->state.areschannel, &store, &tv); /* use the timeout period ares returned to us above */ /* use the timeout period ares returned to us above */ ares_waitperform(conn, tv.tv_sec * 1000 + tv.tv_usec/1000); ares_waitperform(conn, tvp->tv_sec * 1000 + tvp->tv_usec/1000); if(conn->async.done) if(conn->async.done) break; break; Loading