GNOME Bugzilla – Bug 616191
gconf key .../http_proxy/ignore_hosts is a list, not a string
Last modified: 2010-09-03 08:24:42 UTC
I could be totally barking up the wrong tree here given that I don't know the libedataserver API, but in libedataserver/e-proxy.c there is this code: ignore = gconf_client_get_list (client, RIGHT_KEY (HTTP_IGNORE_HOSTS), GCONF_VALUE_STRING, NULL); if (ignore) { g_slist_foreach (ignore, (GFunc) ep_parse_ignore_host, proxy); g_slist_foreach (ignore, (GFunc) g_free, NULL); g_slist_free (ignore); } In particular I notice the constant "GCONF_VALUE_STRING". In my local configuration however /system/http_proxy/ignore_hosts is a list, not a string. Am I just misinterpreting the APIs being used here?
It's a list of strings. GCONF_VALUE_STRING specifies the list element type. However our handling of the /apps/evolution/shell/network_config/ignore_hosts key is totally botched on the Evolution side. See bug #580623. (I would greatly prefer ditching our own Network Preferences and just always using the desktop-wide settings. It's a mess otherwise.)
Hrm. Interesting. In Evolution's "No Proxy for:" I have a space separated list: example example.com and in /apps/evolution/shell/network_config/ignore_hosts I indeed have a simple GConf string: example example.com If I edit the setting in evolution to comma separate it, it's still a simple string in GConf, now with commas embedded. Is it supposed to be a list type like the /system/http_proxy/ignore_hosts?
Oh. I just looked at bug 580623. So it really is supposed to be just a simple string (with a list in it)? Is it supposed to be space or comma separated?
Regardless, even using the system settings, the ignore list is simply not working. In my /system/http_proxy/ignore_hosts one of the list items I have is "localhost" yet caldav still insists on using the proxy for "caldav://localhost/. I really, really ,really hate the mess that is proxy configuration in gnome/linux. I don't think there is a single application that handles it all properly. ~sigh~
In Evolution's (and every other app that has botched it up) defense, this is something that should be handled by the platform (i.e. gnome, libsoup) transparently so that it's not left up to every application to botch up. I have seen movement in libsoup on this issue, but I think it's pretty slow going, sadly.
(In reply to comment #3) > Oh. I just looked at bug 580623. So it really is supposed to be just a simple > string (with a list in it)? Is it supposed to be space or comma separated? Actually no, I think I got it backwards in bug #580623. It think it was meant to mimic /system/http_proxy/ignore_hosts but the Evolution preferences botched it up.
(In reply to comment #5) > In Evolution's (and every other app that has botched it up) defense, this is > something that should be handled by the platform (i.e. gnome, libsoup) > transparently so that it's not left up to every application to botch up. Agreed, and now that libgio has networking capabilities, the GNOME platform has a central place to do proxy handling.
What with this bug now? It's basically a duplicate of bug #580623, as of its initial description, but then it also seems that it turned into "ignore list doesn't work", which may also be caused by the mentioned issue with GConf key type, so I believe both is relevant to that bug and it can be safely marked as a duplicate. Feel free to reopen, if you disagree. *** This bug has been marked as a duplicate of bug 580623 ***
And seeing a help for Network Preferences, it expects a comma-separated list of addresses in the ignore host entry.