[tor-bugs] #6733 [Firefox Patch Issues]: Patch Firefox to allow addons to set SOCKS username+password per request
Tor Bug Tracker & Wiki
torproject-admin at torproject.org
Wed Oct 17 16:33:55 UTC 2012
#6733: Patch Firefox to allow addons to set SOCKS username+password per request
----------------------------------+-----------------------------------------
Reporter: mikeperry | Owner: benb
Type: enhancement | Status: needs_information
Priority: major | Milestone:
Component: Firefox Patch Issues | Version:
Keywords: interview | Parent: #3455
Points: | Actualpoints:
----------------------------------+-----------------------------------------
Comment(by ben):
Data flow:
My first approach would be to extend nsIProxyInfo with username and
hostname, then to let nsISocketProvider.newSocket()/addToSocket() accept
nsIProxyInfo instead of individual proxy values. This allows to pass the
username from nsSocketTransport2.cpp to nsISOCKSIOLayer.cpp, which
implements SOCKS and can send the username to the proxy.
Before nsSocketTransport: Luckily,
nsISocketTransportService.createTransport() already accepts nsIProxyInfo.
createTransport is called directly by the protocol implementations
including http. nsHttpChannel implements nsIProxiesChannel, which allows
access to the nsIProxyInfo.
So, you should be able to:
var httpChannel = .....QueryInterface(Ci.nsIHttpChannel);
assert(httpChannel instanceof Ci.nsIHttpChannel);
assert(httpChannel instanceof Ci.nsIProxiedChannel);
var proxy = httpChannel.proxyInfo;
proxy.username = "abc";
proxy.password = "def";
I have yet to verify *when* you would have to do that, and whether the
APIs allows you to do that at all before the proxy connection is
physically opened.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/6733#comment:8>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list