try to recover socks5 connection on buggy proxy client

This commit is contained in:
pagxir
2015-10-31 22:16:02 +08:00
parent d5f77c447b
commit 7331accab3
+8
View File
@@ -358,6 +358,14 @@ static void server_recv_cb(EV_P_ ev_io *w, int revents)
char *send_buf = (char *)&response;
send(server->fd, send_buf, sizeof(response), 0);
server->stage = 1;
int off = (buf[1] & 0xff) + 2;
if (buf[0] == 0x05 && off < r) {
memmove(buf, buf + off, r - off);
r -= off;
continue;
}
return;
} else if (server->stage == 1) {
struct socks5_request *request = (struct socks5_request *)buf;