Hi Andreas,
What gmoonen describes is not possible because each channel has a
window size, which is updated on user read (channel_read) and not just
channel_poll. So, this behaviour is localy possible (on small sizes)
but does not expand to megabytes of data.
Regards,
Aris
Andreas Schneider a écrit :
[17:18:53] <gmoonen> Owe and one more small issue i found in
ssh_handle_packets() if you have a slow computer (or select for detection of
data) and a fast network you can get a almost inf loop when doing a command
which receives alot of data (like cat /dev/zero)
[17:19:12] <gmoonen> bacause everytime a packet has been processed there is
already data available on the network socket.
[17:21:12] <gmoonen> Event I see at my local code: poll says bytes available,
packet_read reads it, packet_translate translates it, and session_parse does
it's work, and the poll function already sees more data again
[17:21:31] <gmoonen> Command i'm using is "while true; do echo 'xxxxxxx';
done;"
[17:21:56] <gmoonen> I tell because the enter (\n) seems to split op the
different packets which are available
[17:22:24] <gmoonen> Every poll there is 8 or 16 bytes available (for data,
those xxxxxxx)
[17:22:41] <gmoonen> (There is more available, but that is the result data
size)