SL-2797 SOCKS5 not working reliably
parent
29f0a7808f
commit
36be78e54f
|
|
@ -265,7 +265,7 @@ LLSocket::~LLSocket()
|
|||
void LLSocket::setBlocking(S32 timeout)
|
||||
{
|
||||
// set up the socket options
|
||||
ll_apr_warn_status(apr_socket_timeout_set(mSocket, timeout));
|
||||
ll_apr_warn_status(apr_socket_timeout_set(mSocket, timeout)); // Sets both receive and send timeout SO_RCVTIMEO, SO_SNDTIMEO
|
||||
ll_apr_warn_status(apr_socket_opt_set(mSocket, APR_SO_NONBLOCK, 0));
|
||||
ll_apr_warn_status(apr_socket_opt_set(mSocket, APR_SO_SNDBUF, LL_SEND_BUFFER_SIZE));
|
||||
ll_apr_warn_status(apr_socket_opt_set(mSocket, APR_SO_RCVBUF, LL_RECV_BUFFER_SIZE));
|
||||
|
|
|
|||
|
|
@ -473,7 +473,8 @@ static apr_status_t tcp_blocking_handshake(LLSocket::ptr_t handle, char * dataou
|
|||
rv = apr_socket_send(apr_socket, dataout, &outlen);
|
||||
if (APR_SUCCESS != rv)
|
||||
{
|
||||
LL_WARNS("Proxy") << "Error sending data to proxy control channel, status: " << rv << LL_ENDL;
|
||||
char buf[MAX_STRING];
|
||||
LL_WARNS("Proxy") << "Error sending data to proxy control channel, status: " << rv << " " << apr_strerror(rv, buf, MAX_STRING) << LL_ENDL;
|
||||
ll_apr_warn_status(rv);
|
||||
}
|
||||
else if (expected_len != outlen)
|
||||
|
|
@ -483,13 +484,16 @@ static apr_status_t tcp_blocking_handshake(LLSocket::ptr_t handle, char * dataou
|
|||
rv = -1;
|
||||
}
|
||||
|
||||
ms_sleep(1);
|
||||
|
||||
if (APR_SUCCESS == rv)
|
||||
{
|
||||
expected_len = maxinlen;
|
||||
rv = apr_socket_recv(apr_socket, datain, &maxinlen);
|
||||
if (rv != APR_SUCCESS)
|
||||
{
|
||||
LL_WARNS("Proxy") << "Error receiving data from proxy control channel, status: " << rv << LL_ENDL;
|
||||
char buf[MAX_STRING];
|
||||
LL_WARNS("Proxy") << "Error receiving data from proxy control channel, status: " << rv << " " << apr_strerror(rv, buf, MAX_STRING) << LL_ENDL;
|
||||
ll_apr_warn_status(rv);
|
||||
}
|
||||
else if (expected_len < maxinlen)
|
||||
|
|
|
|||
Loading…
Reference in New Issue