version 1.104, 2001/04/10 07:46:58 |
version 1.105, 2001/04/10 12:15:23 |
|
|
packet_put_int(c->remote_id); |
packet_put_int(c->remote_id); |
packet_send(); |
packet_send(); |
c->type = SSH_CHANNEL_CLOSED; |
c->type = SSH_CHANNEL_CLOSED; |
debug("Closing channel %d after input drain.", c->self); |
debug("channel %d: closing after input drain.", c->self); |
} |
} |
} |
} |
|
|
|
|
have = buffer_len(&c->input); |
have = buffer_len(&c->input); |
|
|
debug2("channel %d: pre_dynamic: have %d", c->self, have); |
debug2("channel %d: pre_dynamic: have %d", c->self, have); |
buffer_dump(&c->input); |
/* buffer_dump(&c->input); */ |
/* check if the fixed size part of the packet is in buffer. */ |
/* check if the fixed size part of the packet is in buffer. */ |
if (have < 4) { |
if (have < 4) { |
/* need more */ |
/* need more */ |
|
|
} else if (compat13) { |
} else if (compat13) { |
buffer_consume(&c->output, buffer_len(&c->output)); |
buffer_consume(&c->output, buffer_len(&c->output)); |
c->type = SSH_CHANNEL_INPUT_DRAINING; |
c->type = SSH_CHANNEL_INPUT_DRAINING; |
debug("Channel %d status set to input draining.", c->self); |
debug("channel %d: status set to input draining.", c->self); |
} else { |
} else { |
chan_read_failed(c); |
chan_read_failed(c); |
} |
} |
|
|
} |
} |
if(c->input_filter != NULL) { |
if(c->input_filter != NULL) { |
if (c->input_filter(c, buf, len) == -1) { |
if (c->input_filter(c, buf, len) == -1) { |
debug("filter stops channel %d", c->self); |
debug("channel %d: filter stops", c->self); |
chan_read_failed(c); |
chan_read_failed(c); |
} |
} |
} else { |
} else { |
|
|
return -1; |
return -1; |
} else if (compat13) { |
} else if (compat13) { |
buffer_consume(&c->output, buffer_len(&c->output)); |
buffer_consume(&c->output, buffer_len(&c->output)); |
debug("Channel %d status set to input draining.", c->self); |
debug("channel %d: status set to input draining.", c->self); |
c->type = SSH_CHANNEL_INPUT_DRAINING; |
c->type = SSH_CHANNEL_INPUT_DRAINING; |
} else { |
} else { |
chan_write_failed(c); |
chan_write_failed(c); |