--- jcc.c.orig Fri Dec 12 13:52:53 2003 +++ jcc.c Fri Apr 7 14:50:10 2006 @@ -839,6 +839,7 @@ int server_body; int ms_iis5_hack = 0; int byte_count = 0; + unsigned int socks_retries = 0; const struct forward_spec * fwd; struct http_request *http; int len; /* for buffer sizes */ @@ -1185,7 +1186,10 @@ /* here we connect to the server, gateway, or the forwarder */ - csp->sfd = forwarded_connect(fwd, http, csp); + while ( (csp->sfd = forwarded_connect(fwd, http, csp)) + && (errno == EINVAL) && (socks_retries++ < 3)) + log_error(LOG_LEVEL_ERROR, "failed the %u. time to connect to %s. Trying again.", + socks_retries, http->hostport); if (csp->sfd == JB_INVALID_SOCKET) {