Comment 1 for bug 782165

Revision history for this message
MikeCamel (mike-hingston) wrote :

From "main-session.c":

static void
set_socks_proxy_from_gconf (void)
{
 GConfClient *client;
 gchar *mode, *host;
 gint port;

 client = mail_config_get_gconf_client ();

 mode = gconf_client_get_string (client, MODE_PROXY, NULL);
 if (!g_strcmp0(mode, "manual")) {
  host = gconf_client_get_string (client, KEY_SOCKS_HOST, NULL); /* NULL-GError */
  port = gconf_client_get_int (client, KEY_SOCKS_PORT, NULL); /* NULL-GError */
  camel_session_set_socks_proxy (session, host, port);
  g_free (host);
 }
 g_free (mode);
}

Unless I'm misunderstanding this, it looks like SOCKS is always enabled if the Network Proxy setting is "manual". Not only is this silly unless we've specifically set SOCKS, but it's also quite likely that there may be no SOCKS setting, so at the very least we should check whether KEY_SOCKS_HOST is null already, because if it is, we should disable SOCKS.