mirror of
https://repo.or.cz/socat.git
synced 2025-07-12 06:33:24 +00:00
Test script socks5server-echo.sh for new tests SOCKS5CONNECT_TCP4 and SOCKS5LISTEN_TCP4
This commit is contained in:
parent
e7df880af5
commit
29f9e4db92
8 changed files with 223 additions and 51 deletions
14
xio-socks5.c
14
xio-socks5.c
|
@ -53,7 +53,7 @@ static int xioopen_socks5(int argc, const char *argv[], struct opt *opts, int xi
|
|||
|
||||
const struct addrdesc xioaddr_socks5_connect = { "SOCKS5-CONNECT", 1+XIO_RDWR, xioopen_socks5, GROUP_FD|GROUP_SOCKET|GROUP_SOCK_IP4|GROUP_SOCK_IP6|GROUP_IP_TCP|GROUP_IP_SOCKS|GROUP_CHILD|GROUP_RETRY, SOCKS5_COMMAND_CONNECT, 0, 0 HELP(":<socks-server>[:<socks-port>]:<target-host>:<target-port>") };
|
||||
|
||||
const struct addrdesc xioaddr_socks5_listen = { "SOCKS5-LISTEN", 1+XIO_RDWR, xioopen_socks5, GROUP_FD|GROUP_SOCKET|GROUP_SOCK_IP4|GROUP_SOCK_IP6|GROUP_IP_TCP|GROUP_CHILD|GROUP_RETRY, SOCKS5_COMMAND_BIND, 0, 0 HELP(":<socks-server>[:<socks-port>]:<listen-host>:<listen-port>") };
|
||||
const struct addrdesc xioaddr_socks5_listen = { "SOCKS5-LISTEN", 1+XIO_RDWR, xioopen_socks5, GROUP_FD|GROUP_SOCKET|GROUP_SOCK_IP4|GROUP_SOCK_IP6|GROUP_IP_TCP|GROUP_IP_SOCKS|GROUP_CHILD|GROUP_RETRY, SOCKS5_COMMAND_BIND, 0, 0 HELP(":<socks-server>[:<socks-port>]:<listen-host>:<listen-port>") };
|
||||
|
||||
static const char * _xioopen_socks5_strerror(uint8_t r)
|
||||
{
|
||||
|
@ -188,6 +188,8 @@ static int _xioopen_socks5_handshake(struct single *sfd, int level)
|
|||
return STAT_RETRYLATER;
|
||||
}
|
||||
|
||||
Debug2("received SOCKS5 server hello %02x %02x",
|
||||
server_hello_ptr[0], server_hello_ptr[1]);
|
||||
Info2("received SOCKS5 server hello version=%d method=%d",
|
||||
server_hello.version,
|
||||
server_hello.method);
|
||||
|
@ -332,6 +334,12 @@ static int _xioopen_socks5_read_reply(
|
|||
}
|
||||
return STAT_RETRYLATER;
|
||||
}
|
||||
Debug5("received SOCKS5 reply %02x %02x %02x %02x %02x",
|
||||
((unsigned char *)reply+bytes_read)[0],
|
||||
((unsigned char *)reply+bytes_read)[1],
|
||||
((unsigned char *)reply+bytes_read)[2],
|
||||
((unsigned char *)reply+bytes_read)[3],
|
||||
((unsigned char *)reply+bytes_read)[4]);
|
||||
bytes_read += result;
|
||||
|
||||
/* Once we've read 5 bytes, figure out total message length and
|
||||
|
@ -518,10 +526,6 @@ static int xioopen_socks5(
|
|||
bool lowport = false;
|
||||
char infobuff[256];
|
||||
|
||||
if (!xioparms.experimental) {
|
||||
Error1("%s: use option --experimental to acknowledge unmature state", argv[0]);
|
||||
return STAT_NORETRY;
|
||||
}
|
||||
if (argc < 4 || argc > 5) {
|
||||
xio_syntax(argv[0], 4, argc-1, addrdesc->syntax);
|
||||
return STAT_NORETRY;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue