Il giorno dom, 26/04/2009 alle 09.48 +0200, Mike Hommey ha scritto: > On Sun, Apr 26, 2009 at 09:46:15AM +0200, Giuseppe Sacco wrote: > > Il giorno sab, 25/04/2009 alle 10.15 +0200, Mike Hommey ha scritto: > > > On Sat, Apr 25, 2009 at 09:56:54AM +0200, Giuseppe Sacco wrote: > > > > Hi Mike, > > > > > > > > Il giorno ven, 24/04/2009 alle 22.30 +0200, Mike Hommey ha scritto: > > > > [...] > > > > > I'm not sure iceweasel uses gnome settings, but uses what gnome > > > > > exports > > > > > in the *_proxy environment variable. Can you check what they look > > > > > like? > > > > > > > > giuse...@scarafaggio:~/src/django/mberi$ env | grep prox > > > > http_proxy=http://192.168.1.53:3128/ > > > > no_proxy=localhost,127.0.0.0/8,192.168.0.0/16,scarafaggio > > > > > > I'm pretty sure iceweasel doesn't support the CIDR notation (e.g. > > > 127.0.0.0/8). > > > > I think iceweasel completely ignore the no_proxy variable, since this > > does not work either: > > > > $ killall iceweasel > > $ env no_proxy=127.0.0.1,localhost,127.0.0.0/8,192.168.0.0/16,scarafaggio \ > > iceweasel http://127.0.0.1/ > > > > still load the web page via proxy server. > > What about no_proxy=127.0.0.1?
nope. I just checked sources for debian package 3.0.9-1. I found two different ways of checking the proxy settings. The first one uses all environment variable, the second one use gconf. If using env vars, the problem is in file toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp, function IsInNoProxyList(...) where this comparison is used: if (port == -1 || port == aPort) { nsDependentCSubstring hostStr(pos, colon); // By using StringEndsWith instead of an equality comparator, we can include sub-domains if (StringEndsWith(aHost, hostStr, nsCaseInsensitiveCStringComparator())) return PR_TRUE; } so, since this is a string comparison, this is not working for CIDR. I don't know why it is using the proxy for http://127.0.0.1/ when no_proxy is just 127.0.0.1. Maybe the proxy If using gconf, as I think it is my case, is uses *GConf* functions in the same source. In this case it accept exclusion lists like hostname ipv4address CIDR *.domain.tld To check for CIDR, it convert both addresses (the proxy specified one and the url) to ipv6 and then it use memcmp. I do believe, it uses gconf, since this command still get the page via proxy: $ env no_proxy= http_proxy= iceweasel http://127.0.0.1/ my proxy setting, via gconf, are: $ for i in /system/proxy/mode /system/proxy/autoconfig_url \ /system/http_proxy/use_http_proxy \ /system/http_proxy/ignore_hosts \ /system/http_proxy/use_same_proxy ; do echo -n $i:; gconftool-2 --get $i; done /system/proxy/mode:manual /system/proxy/autoconfig_url: /system/http_proxy/use_http_proxy:true /system/http_proxy/ignore_hosts:[localhost,127.0.0.0/8,192.168.0.0/16,scarafaggio] /system/http_proxy/use_same_proxy:true Bye, Giuseppe -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org