SOCKS: various fixes to API and code

This commit is contained in:
2015-07-23 04:07:30 +02:00
parent c34bb483ca
commit 4a89572089
3 changed files with 43 additions and 26 deletions

View File

@@ -4472,13 +4472,6 @@ irc_setup_connector_socks (struct server *s,
socks_connector_init (connector, &s->ctx->poller);
s->socks_conn = connector;
// FIXME: the SOCKS connector may outlive these values
connector->hostname = socks_host;
// FIXME: memory leak
connector->service = xstrdup_printf ("%" PRIi64, socks_port_int);
connector->username = get_config_string (s->config, "socks_username");
connector->password = get_config_string (s->config, "socks_password");
connector->user_data = s;
connector->on_connecting = irc_on_socks_connecting;
connector->on_error = irc_on_connector_error;
@@ -4494,7 +4487,11 @@ irc_setup_connector_socks (struct server *s,
return false;
}
socks_connector_run (connector);
char *service = xstrdup_printf ("%" PRIi64, socks_port_int);
socks_connector_run (connector, socks_host, service,
get_config_string (s->config, "socks_username"),
get_config_string (s->config, "socks_password"));
free (service);
return true;
}