1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-10 01:48:00 +00:00
putty-source/proxy
Simon Tatham 5fdce31eca sshproxy: fix handling of connection closure.
Now we always respond to backend disconnection or connection_fatal by
calling plug_closing. And we always do it in a toplevel callback, so
that when the Plug responds by calling our Socket close method (which
frees us), nothing re-entrant happens.

Also, the handling of notify_remote_disconnect is brought into line
with the spec in putty.h, which says it can be sent redundantly (when
already disconnected) or spuriously (when not even disconnected at
all), so the toplevel callback queued by that method will check first.

After this change, failures during connection_setup are now handled
_mostly_ sensibly: if the proxy connection fails, then the main
connection gets enough information to pass a sensible connection_fatal
on to the real front end.

This also fixes the assertion failure mentioned in the TODO comment,
replacing it with a reasonably sensible connection_fatal() - although
I still think that in that situation it might be better not to have a
dialog box at all.
2021-11-06 14:48:26 +00:00
..
cproxy.c Move proxy-related source files into a subdirectory. 2021-10-30 17:29:24 +01:00
interactor.c Remove unnecessary interactor_announce() calls. 2021-11-06 14:48:26 +00:00
nocproxy.c Move proxy-related source files into a subdirectory. 2021-10-30 17:29:24 +01:00
noproxy.c Pass an Interactor to new_connection(). 2021-10-30 18:19:56 +01:00
nosshproxy.c Pass an Interactor to new_connection(). 2021-10-30 18:19:56 +01:00
pproxy.c Move proxy-related source files into a subdirectory. 2021-10-30 17:29:24 +01:00
proxy.c Pass an Interactor to new_connection(). 2021-10-30 18:19:56 +01:00
proxy.h Move proxy-related source files into a subdirectory. 2021-10-30 17:29:24 +01:00
sshproxy.c sshproxy: fix handling of connection closure. 2021-11-06 14:48:26 +00:00