version 1.324.2.1, 2013/11/08 01:33:56 |
version 1.325, 2013/09/13 06:54:34 |
|
|
if ((c = channel_lookup(id)) == NULL) |
if ((c = channel_lookup(id)) == NULL) |
fatal("channel_register_expect: %d: bad id", id); |
fatal("channel_register_expect: %d: bad id", id); |
|
|
cc = xcalloc(1, sizeof(*cc)); |
cc = xmalloc(sizeof(*cc)); |
cc->cb = cb; |
cc->cb = cb; |
cc->abandon_cb = abandon_cb; |
cc->abandon_cb = abandon_cb; |
cc->ctx = ctx; |
cc->ctx = ctx; |
|
|
s5_rsp.command = SSH_SOCKS5_SUCCESS; |
s5_rsp.command = SSH_SOCKS5_SUCCESS; |
s5_rsp.reserved = 0; /* ignored */ |
s5_rsp.reserved = 0; /* ignored */ |
s5_rsp.atyp = SSH_SOCKS5_IPV4; |
s5_rsp.atyp = SSH_SOCKS5_IPV4; |
((struct in_addr *)&dest_addr)->s_addr = INADDR_ANY; |
|
dest_port = 0; /* ignored */ |
dest_port = 0; /* ignored */ |
|
|
buffer_append(&c->output, &s5_rsp, sizeof(s5_rsp)); |
buffer_append(&c->output, &s5_rsp, sizeof(s5_rsp)); |
buffer_append(&c->output, &dest_addr, sizeof(struct in_addr)); |
buffer_put_int(&c->output, ntohl(INADDR_ANY)); /* bind address */ |
buffer_append(&c->output, &dest_port, sizeof(dest_port)); |
buffer_append(&c->output, &dest_port, sizeof(dest_port)); |
return 1; |
return 1; |
} |
} |