version 1.78, 2019/01/19 21:31:32 |
version 1.79, 2019/01/19 21:35:25 |
|
|
#include "clientloop.h" |
#include "clientloop.h" |
#include "ssherr.h" |
#include "ssherr.h" |
|
|
#include "opacket.h" /* XXX */ |
|
extern struct ssh *active_state; /* XXX */ |
|
|
|
/* from ssh.c */ |
/* from ssh.c */ |
extern int tty_flag; |
extern int tty_flag; |
extern Options options; |
extern Options options; |
|
|
struct Forward *rfwd; |
struct Forward *rfwd; |
Channel *c; |
Channel *c; |
struct sshbuf *out; |
struct sshbuf *out; |
|
u_int port; |
int r; |
int r; |
|
|
if ((c = channel_by_id(ssh, fctx->cid)) == NULL) { |
if ((c = channel_by_id(ssh, fctx->cid)) == NULL) { |
|
|
rfwd->connect_host, rfwd->connect_port); |
rfwd->connect_host, rfwd->connect_port); |
if (type == SSH2_MSG_REQUEST_SUCCESS) { |
if (type == SSH2_MSG_REQUEST_SUCCESS) { |
if (rfwd->listen_port == 0) { |
if (rfwd->listen_port == 0) { |
rfwd->allocated_port = packet_get_int(); |
if ((r = sshpkt_get_u32(ssh, &port)) != 0) |
|
fatal("%s: packet error: %s", |
|
__func__, ssh_err(r)); |
|
if (port > 65535) { |
|
fatal("Invalid allocated port %u for " |
|
"mux remote forward to %s:%d", port, |
|
rfwd->connect_host, rfwd->connect_port); |
|
} |
|
rfwd->allocated_port = (int)port; |
debug("Allocated port %u for mux remote forward" |
debug("Allocated port %u for mux remote forward" |
" to %s:%d", rfwd->allocated_port, |
" to %s:%d", rfwd->allocated_port, |
rfwd->connect_host, rfwd->connect_port); |
rfwd->connect_host, rfwd->connect_port); |
|
|
if (cctx->want_agent_fwd && options.forward_agent) { |
if (cctx->want_agent_fwd && options.forward_agent) { |
debug("Requesting authentication agent forwarding."); |
debug("Requesting authentication agent forwarding."); |
channel_request_start(ssh, id, "auth-agent-req@openssh.com", 0); |
channel_request_start(ssh, id, "auth-agent-req@openssh.com", 0); |
packet_send(); |
if ((r = sshpkt_send(ssh)) != 0) |
|
fatal("%s: packet error: %s", __func__, ssh_err(r)); |
} |
} |
|
|
client_session2_setup(ssh, id, cctx->want_tty, cctx->want_subsys, |
client_session2_setup(ssh, id, cctx->want_tty, cctx->want_subsys, |