version 1.323, 2013/06/07 15:37:52 |
version 1.324, 2013/07/12 00:19:58 |
|
|
u_int8_t atyp; |
u_int8_t atyp; |
} s5_req, s5_rsp; |
} s5_req, s5_rsp; |
u_int16_t dest_port; |
u_int16_t dest_port; |
u_char *p, dest_addr[255+1], ntop[INET6_ADDRSTRLEN]; |
char dest_addr[255+1], ntop[INET6_ADDRSTRLEN]; |
|
u_char *p; |
u_int have, need, i, found, nmethods, addrlen, af; |
u_int have, need, i, found, nmethods, addrlen, af; |
|
|
debug2("channel %d: decode socks5", c->self); |
debug2("channel %d: decode socks5", c->self); |
|
|
buffer_consume(&c->input, sizeof(s5_req)); |
buffer_consume(&c->input, sizeof(s5_req)); |
if (s5_req.atyp == SSH_SOCKS5_DOMAIN) |
if (s5_req.atyp == SSH_SOCKS5_DOMAIN) |
buffer_consume(&c->input, 1); /* host string length */ |
buffer_consume(&c->input, 1); /* host string length */ |
buffer_get(&c->input, (char *)&dest_addr, addrlen); |
buffer_get(&c->input, &dest_addr, addrlen); |
buffer_get(&c->input, (char *)&dest_port, 2); |
buffer_get(&c->input, (char *)&dest_port, 2); |
dest_addr[addrlen] = '\0'; |
dest_addr[addrlen] = '\0'; |
free(c->path); |
free(c->path); |