1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-09 17:38:00 +00:00
putty-source/proxy
Simon Tatham a864f7bb57 Support interactive password prompts in Telnet proxy.
The Telnet proxy system is not a proper network protocol - we have no
reliable way to receive communication from the proxy telling us
whether a password is even required. However, we _do_ know (a) whether
the keywords '%user' or '%pass' appeared in the format string stored
in the Conf, and (b) whether we actually had a username or a password
to substitute into them. So that's how we know whether to ask for a
username or a password: if the format string asks for them and the
Conf doesn't provide them, we prompt for them at startup.

This involved turning TelnetProxyNegotiator into a coroutine (matching
all the other proxy types, but previously, it was the only one simple
enough not to need to be one), so that it can wait until a response
arrives to that prompt. (And also, as it turned out, so that it can
wait until setup is finished before even presenting the prompt!)

It also involves having format_telnet_command grow an extra output
parameter, in the form of 'unsigned *flags', with which it can
communicate back to the caller that a username or password was wanted
but not found. The other clients of that function (the local proxy
implementations) don't use those flags, but if necessary, they could.
2021-11-19 18:33:51 +00:00
..
cproxy.c Reorganise proxy system into coroutines. 2021-11-19 15:09:17 +00:00
http.c Reorganise proxy system into coroutines. 2021-11-19 15:09:17 +00:00
interactor.c Fix Plink's handling of interactor_announce() blank lines. 2021-11-06 14:48:26 +00:00
nocproxy.c Reorganise proxy system into coroutines. 2021-11-19 15:09:17 +00: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 Send ProxyNegotiator output even when pn->done is set. 2021-11-19 16:39:25 +00:00
proxy.h Support interactive password prompts in Telnet proxy. 2021-11-19 18:33:51 +00:00
socks4.c Reorganise proxy system into coroutines. 2021-11-19 15:09:17 +00:00
socks5.c Support interactive password prompts in SOCKS 5. 2021-11-19 15:40:10 +00:00
socks.h Pull out SOCKS protocol constants into a header. 2021-11-19 15:09:17 +00:00
sshproxy.c New Seat query, has_mixed_input_stream(). 2021-11-06 14:48:26 +00:00
telnet.c Support interactive password prompts in Telnet proxy. 2021-11-19 18:33:51 +00:00