This is a discussion on Still confused about window adjustments within the OpenSSH Development forums, part of the Networking and Network Related category; Let's say, for concreteness, that I have a box A running an OpenSSH client, and a box B running ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
Let's say, for concreteness, that I have a box A running an OpenSSH
client, and a box B running an SSH server, which may or may not be OpenSSH. Looking in the OpenSSH code, I got the impression (this may be wrong; please let me know if it is) that on receiving a packet that consumes window space, A would check out whether or not its current window has to be adjusted. If it does then it immediately sends a window adjust packet to B. Now what happens if B has sent, say, three packets (1, 2 and 3) that consume window space space in the same network frame? B may have constructed the packets in such a way that they consume all the window space available at the time. However, if A examines 1 and determines that it needs to send a window adjust packet immediately (which may well happen) before examining 2 and 3, would it not be the case that, from that point onwards, A and B will have a different idea of the current window size? I am assuming that, when sending a window adjust packet, A changes the value of its internal window size counter correspondingly. If that is the case, when processing packets 2 and 3 A will be using a different measure of the window size than that used by B when it constructed them - which might well lead to a en eventual deadlock in the conversation between A and B. Is there anything to this, or am I totally off the mark here? Feedback from OpenSSH developers would be much appreciated. _______________________________________________ openssh-unix-dev mailing list openssh-unix-dev@mindrot.org https://lists.mindrot.org/mailman/li...enssh-unix-dev |