Bug 111257
| Summary: | WebKitGTK fails to connect via HTTP if only SOCKS proxy is specified, but connects to HTTPS | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Christian Stadelmann <wk> |
| Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | Keywords: | Gtk, Soup |
| Priority: | P2 | ||
| Version: | 528+ (Nightly build) | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| URL: | https://bugzilla.gnome.org/show_bug.cgi?id=695029 | ||
Christian Stadelmann
Using current Epiphany 3.6.1, Eclipse 4.2.1, webkitgtk 1.10.2-2, etc. from Fedora 18
Steps to reproduce:
1. Configure a proxy in gnome-control-center only for SOCKS (e.g. tor without
privoxy/polipo/…)
2. Do not enable the other proxies (no hostname, port is set to 0)
3. start epiphany, try to access some sites
What is expected:
A) All traffic should be routed through TOR via SOCKS (if Epiphany supports
SOCKS which it does, at least partly)
B) (if Epiphany did not support SOCKS proxies) ignore proxy settings at all
What actually happens:
HTTPS connections work fine.
HTTP connections can not be established.
Epiphany can for example connect to https://en.wikipedia.org/wiki/Main_Page ,
but not to http://en.wikipedia.org/wiki/Main_Page
Same behavior for the internal browsers from liferea and eclipse
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Christian Stadelmann
For every HTTP-only URL webkit tries to load tor (the SOCKS proxy I currently use) logs:
~~~~~
[notice] Application asked to connect to port 0. Refusing.
[warn] socks4: Port or DestIP is zero. Rejecting.
[warn] Fetching socks handshake failed. Closing.
[warn] socks4: Port or DestIP is zero. Rejecting.
[warn] Fetching socks handshake failed. Closing.
~~~~~
Seems like webkitgtk or libsoup read all proxy settings and ignore that (according to the GSettings Schema http://git.gnome.org/browse/gsettings-desktop-schemas/tree/schemas/org.gnome.system.proxy.gschema.xml.in.in ) an empty host name or a port number 0 disables the proxy for that protocol. In other words: the data read from org.gnome.system.proxy.* is misinterpreted.
Christian Stadelmann
Fixed for me in Gnome 3.8 on Fedora 19. Thanks!