version 1.262, 2015/01/14 20:05:27 |
version 1.263, 2015/01/19 19:52:16 |
|
|
static struct global_confirms global_confirms = |
static struct global_confirms global_confirms = |
TAILQ_HEAD_INITIALIZER(global_confirms); |
TAILQ_HEAD_INITIALIZER(global_confirms); |
|
|
/*XXX*/ |
|
extern Kex *xxx_kex; |
|
|
|
void ssh_process_session2_setup(int, int, int, Buffer *); |
void ssh_process_session2_setup(int, int, int, Buffer *); |
|
|
/* Restores stdin to blocking mode. */ |
/* Restores stdin to blocking mode. */ |
|
|
client_process_buffered_input_packets(void) |
client_process_buffered_input_packets(void) |
{ |
{ |
dispatch_run(DISPATCH_NONBLOCK, &quit_pending, |
dispatch_run(DISPATCH_NONBLOCK, &quit_pending, |
compat20 ? xxx_kex : NULL); |
compat20 ? active_state->kex : NULL); |
} |
} |
|
|
/* scan buf[] for '~' before sending data to the peer */ |
/* scan buf[] for '~' before sending data to the peer */ |
|
|
if (compat20 && session_closed && !channel_still_open()) |
if (compat20 && session_closed && !channel_still_open()) |
break; |
break; |
|
|
rekeying = (xxx_kex != NULL && !xxx_kex->done); |
rekeying = (active_state->kex != NULL && !active_state->kex->done); |
|
|
if (rekeying) { |
if (rekeying) { |
debug("rekeying in progress"); |
debug("rekeying in progress"); |
|
|
channel_after_select(readset, writeset); |
channel_after_select(readset, writeset); |
if (need_rekeying || packet_need_rekeying()) { |
if (need_rekeying || packet_need_rekeying()) { |
debug("need rekeying"); |
debug("need rekeying"); |
xxx_kex->done = 0; |
active_state->kex->done = 0; |
kex_send_kexinit(xxx_kex); |
kex_send_kexinit(active_state->kex); |
need_rekeying = 0; |
need_rekeying = 0; |
} |
} |
} |
} |
|
|
|
|
/* Report bytes transferred, and transfer rates. */ |
/* Report bytes transferred, and transfer rates. */ |
total_time = get_current_time() - start_time; |
total_time = get_current_time() - start_time; |
packet_get_state(MODE_IN, NULL, NULL, NULL, &ibytes); |
packet_get_bytes(&ibytes, &obytes); |
packet_get_state(MODE_OUT, NULL, NULL, NULL, &obytes); |
|
verbose("Transferred: sent %llu, received %llu bytes, in %.1f seconds", |
verbose("Transferred: sent %llu, received %llu bytes, in %.1f seconds", |
(unsigned long long)obytes, (unsigned long long)ibytes, total_time); |
(unsigned long long)obytes, (unsigned long long)ibytes, total_time); |
if (total_time > 0) |
if (total_time > 0) |