提交 0630eabe 编写于 作者: Y youngwolf

Support up to 16 characters for the username and password of SOCKS5.

上级 79352dc7
......@@ -75,7 +75,7 @@ public:
return false;
//without following setting, socks4::client_socket will be downgraded to normal client_socket
//socket_ptr->set_target_addr(6000, "127.0.0.1"); //target server address, original server address becomes SOCK4 server address
//socket_ptr->set_target_addr(9527, "172.27.0.14"); //target server address, original server address becomes SOCK4 server address
return socket_ptr->send_msg(std::move(msg));
}
......@@ -126,7 +126,7 @@ int main(int argc, const char* argv[])
client.set_server_addr(port, ip);
//without following setting, socks5::single_client will be downgraded to normal single_client
//client.set_target_addr(6000, "127.0.0.1"); //target server address, original server address becomes SOCK4 server address
//client.set_target_addr(9527, "172.27.0.14"); //target server address, original server address becomes SOCK5 server address
//client.set_auth("ascs", "ascs"); //can be omitted if the SOCKS5 server support non-auth
client2.set_server_addr(port + 100, ip);
......
......@@ -176,11 +176,11 @@ private:
res_len = 0;
req[0] = 1;
req[1] = (char) std::min(username.size(), (size_t) 8);
req[1] = (char) std::min(username.size(), (size_t) 16);
memcpy(std::next(req, 2), username.data(), (size_t) req[1]);
req[2 + req[1]] = (char) std::min(password.size(), (size_t) 8);
req[2 + req[1]] = (char) std::min(password.size(), (size_t) 16);
memcpy(std::next(req, 3 + req[1]), password.data(), (size_t) req[2 + req[1]]);
req_len = 2 + req[1] + 1 + req[2 + req[1]];
req_len = 1 + 1 + req[1] + 1 + req[2 + req[1]];
asio::async_write(this->next_layer(), asio::buffer(req, req_len),
this->make_handler_error_size([this](const asio::error_code& ec, size_t bytes_transferred) {this->send_handler(ec, bytes_transferred);}));
......@@ -331,7 +331,7 @@ private:
}
private:
char req[24], res[24];
char req[40], res[24];
size_t req_len, res_len;
int step;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册