version 1.359, 2017/04/30 23:28:41 |
version 1.360, 2017/05/26 19:34:12 |
|
|
return 0; |
return 0; |
} |
} |
|
|
/* proto version 1.5 overloads CLOSE_CONFIRMATION with OCLOSE */ |
|
/* ARGSUSED */ |
/* ARGSUSED */ |
int |
int |
channel_input_oclose(int type, u_int32_t seq, void *ctxt) |
channel_input_oclose(int type, u_int32_t seq, void *ctxt) |
|
|
return 0; |
return 0; |
packet_check_eom(); |
packet_check_eom(); |
chan_rcvd_oclose(c); |
chan_rcvd_oclose(c); |
return 0; |
|
} |
|
|
|
/* ARGSUSED */ |
|
int |
|
channel_input_close_confirmation(int type, u_int32_t seq, void *ctxt) |
|
{ |
|
int id = packet_get_int(); |
|
Channel *c = channel_lookup(id); |
|
|
|
if (c == NULL) |
|
packet_disconnect("Received close confirmation for " |
|
"out-of-range channel %d.", id); |
|
if (channel_proxy_upstream(c, type, seq, ctxt)) |
|
return 0; |
|
packet_check_eom(); |
|
if (c->type != SSH_CHANNEL_CLOSED && c->type != SSH_CHANNEL_ABANDONED) |
|
packet_disconnect("Received close confirmation for " |
|
"non-closed channel %d (type %d).", id, c->type); |
|
channel_free(c); |
|
return 0; |
return 0; |
} |
} |
|
|