mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-01-25 09:12:24 +00:00
If the SSH server sends us CHANNEL_CLOSE for a channel on which we're
sitting on a pile of buffered data waiting for WINDOW_ADJUSTs, we should throw away that buffered data, because the CHANNEL_CLOSE tells us that we won't be receiving those WINDOW_ADJUSTs, and if we hang on to the data and keep trying then it'll prevent ssh_channel_try_eof from sending the CHANNEL_EOF which is a prerequisite of sending our own CHANNEL_CLOSE. [originally from svn r9953]
This commit is contained in:
parent
4f457ff7f2
commit
eaea69ef53
9
ssh.c
9
ssh.c
@ -7093,6 +7093,15 @@ static void ssh2_msg_channel_close(Ssh ssh, struct Packet *pktin)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Abandon any buffered data we still wanted to send to this
|
||||||
|
* channel. Receiving a CHANNEL_CLOSE is an indication that
|
||||||
|
* the server really wants to get on and _destroy_ this
|
||||||
|
* channel, and it isn't going to send us any further
|
||||||
|
* WINDOW_ADJUSTs to permit us to send pending stuff.
|
||||||
|
*/
|
||||||
|
bufchain_clear(&c->v.v2.outbuffer);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Send outgoing EOF.
|
* Send outgoing EOF.
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user