mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-05-28 23:34:49 -05:00
Make SSH proxying conditional on CONF_proxy_type!
In commit 0d3bb73608f1a5d, I introduced the new SSH / jump-host proxy type, which should be invoked by proxy.c when CONF_proxy_type is set to PROXY_SSH. In fact, I left out the check, so it's invoked by proxy.c _unconditionally_, after the check to see whether proxying is required at all. So any saved session configured with any other proxy type (other than PROXY_NONE) would be treated as PROXY_SSH by mistake. How embarrassing. I did remember at one point that I needed to fix this, but it fell out of my head before I pushed!
This commit is contained in:
parent
d008d235f3
commit
415927e9b0
9
proxy.c
9
proxy.c
@ -395,7 +395,9 @@ Socket *new_connection(SockAddr *addr, const char *hostname,
|
||||
bool oobinline, bool nodelay, bool keepalive,
|
||||
Plug *plug, Conf *conf)
|
||||
{
|
||||
if (conf_get_int(conf, CONF_proxy_type) != PROXY_NONE &&
|
||||
int type = conf_get_int(conf, CONF_proxy_type);
|
||||
|
||||
if (type != PROXY_NONE &&
|
||||
proxy_for_destination(addr, hostname, port, conf))
|
||||
{
|
||||
ProxySocket *ret;
|
||||
@ -403,9 +405,9 @@ Socket *new_connection(SockAddr *addr, const char *hostname,
|
||||
char *proxy_canonical_name;
|
||||
const char *proxy_type;
|
||||
Socket *sret;
|
||||
int type;
|
||||
|
||||
if ((sret = sshproxy_new_connection(addr, hostname, port, privport,
|
||||
if (type == PROXY_SSH &&
|
||||
(sret = sshproxy_new_connection(addr, hostname, port, privport,
|
||||
oobinline, nodelay, keepalive,
|
||||
plug, conf)) != NULL)
|
||||
return sret;
|
||||
@ -435,7 +437,6 @@ Socket *new_connection(SockAddr *addr, const char *hostname,
|
||||
ret->state = PROXY_STATE_NEW;
|
||||
ret->negotiate = NULL;
|
||||
|
||||
type = conf_get_int(conf, CONF_proxy_type);
|
||||
if (type == PROXY_HTTP) {
|
||||
ret->negotiate = proxy_http_negotiate;
|
||||
proxy_type = "HTTP";
|
||||
|
Loading…
x
Reference in New Issue
Block a user