Evolution 2.32.2 in Natty mindlessly uses socks proxy environment

Bug #782165 reported by Simon Fraser
208
This bug affects 43 people
Affects Status Importance Assigned to Milestone
evolution (Ubuntu)
Fix Committed
High
Unassigned

Bug Description

Binary package hint: evolution

System->Preferences->Network Proxy has a web proxy set, and if the 'Use the same proxy for all protocols' checkbox is selected, Evolution attempts to connect to a non-existant socks proxy when trying to reach an IMAP server. This is a change in behaviour from Maverick.

Initial symptoms are that Evolution hangs when trying to reach the IMAP server - `tcptrack -i eth0` and strace show connections to the configured http proxy, and then an IMAP connection to 127.0.0.1. Unchecking the 'use the same proxy for all protocols' box and individually setting the proxy for the other lines fixes the issue.

This occurs even when Evolution has 'Direct connection to the internet' set in its own Network Preferences.

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.

Revision history for this message
Pedro Villavicencio (pedro) wrote :

There's a fix for proxies on this branch: http://git.gnome.org/browse/evolution/commit/?id=6057792e7d42d490c93f79b57b74baed20b8e4df ; probably it fix the issue (haven't tried yet though)

Changed in evolution (Ubuntu):
status: New → Confirmed
importance: Undecided → Medium
Changed in evolution (Ubuntu):
assignee: nobody → Canonical Desktop Team (canonical-desktop-team)
importance: Medium → High
Changed in evolution (Ubuntu):
assignee: Canonical Desktop Team (canonical-desktop-team) → Rodrigo Moya (rodrigo-moya)
Revision history for this message
Rodrigo Moya (rodrigo-moya) wrote :

Mike, that commit that Pedro points to (which contains the code you pasted) is indeed wrong, but it's fixed by this other commit

http://git.gnome.org/browse/evolution/commit/?h=gnome-2-32&id=517023edcb2468e76786511b0ada27025e18caa6

so I was going to apply to our packages, but of course we already have it, as this was added in 2.31.x, so not sure what's going on. Investigating further...

Revision history for this message
Rodrigo Moya (rodrigo-moya) wrote :

hmm, btw, does this happen when you change the settings and leave evolution running after doing so? Or does it continue doing the wrong thing even after restarting evolution? If the former, it might be an easy fix

Revision history for this message
Noel Shelton (noel-noelshelton) wrote :

Evolution uses the gnome proxy settings as they were when you opened it. Subsequent changes to settings do not seem to affect evolution as long as it is open. Once you close Evolution, you must make the gnome proxy settings compatible with Evolution before re-opening it again.

Revision history for this message
Florian Echtler (floe) wrote :

I'd also like to add another aspect to this bug: even when a valid global SOCKS proxy is configured, evolution will _always_ try to use the proxy, regardless of the entries in the global ignore list.

Changed in evolution (Ubuntu):
assignee: Rodrigo Moya (rodrigo-moya) → nobody
Revision history for this message
Jörg Frings-Fürst (jff-de) wrote :

natty not longer supported
please change status to Won't Fix

Revision history for this message
Jörg Frings-Fürst (jff-de) wrote :

change status to Fix Committed

Changed in evolution (Ubuntu):
status: Confirmed → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.