]> asedeno.scripts.mit.edu Git - PuTTY_svn.git/commit - unix/uxnet.c
Revamp of EOF handling in all network connections, pipes and other
authorSimon Tatham <anakin@pobox.com>
Tue, 13 Sep 2011 11:44:03 +0000 (11:44 +0000)
committerSimon Tatham <anakin@pobox.com>
Tue, 13 Sep 2011 11:44:03 +0000 (11:44 +0000)
commit8b3c7d6d132c779e029629fcb9bd932f48fd45dc
tree917c28f3b71ba7dec8c5726831de48cf88f2acb1
parent4a99aab22c64b541e4d1efbee83c5580a6462cf4
Revamp of EOF handling in all network connections, pipes and other
data channels. Should comprehensively fix 'half-closed', in principle,
though it's a big and complicated change and so there's a good chance
I've made at least one mistake somewhere.

All connections should now be rigorous about propagating end-of-file
(or end-of-data-stream, or socket shutdown, or whatever) independently
in both directions, except in frontends with no mechanism for sending
explicit EOF (e.g. interactive terminal windows) or backends which are
basically always used for interactive sessions so it's unlikely that
an application would be depending on independent EOF (telnet, rlogin).

EOF should now never accidentally be sent while there's still buffered
data to go out before it. (May help fix 'portfwd-corrupt', and also I
noticed recently that the ssh main session channel can accidentally
have MSG_EOF sent before the output bufchain is clear, leading to
embarrassment when it subsequently does send the output).

git-svn-id: http://svn.tartarus.org/sgt/putty@9279 cda61777-01e9-0310-a592-d414129be87e
23 files changed:
network.h
portfwd.c
proxy.c
proxy.h
pscp.c
psftp.c
putty.h
raw.c
rlogin.c
ssh.c
ssh.h
telnet.c
unix/gtkwin.c
unix/uxnet.c
unix/uxplink.c
unix/uxproxy.c
windows/window.c
windows/winhandl.c
windows/winnet.c
windows/winplink.c
windows/winproxy.c
windows/winstuff.h
x11fwd.c