[tor-bugs] #13788 [Tor Browser]: Meek bridges don't work in TB 4.5alpha1

Tor Bug Tracker & Wiki blackhole at torproject.org
Tue Dec 2 06:26:04 UTC 2014


#13788: Meek bridges don't work in TB 4.5alpha1
-----------------------------+----------------------
     Reporter:  cypherpunks  |      Owner:  tbb-team
         Type:  defect       |     Status:  new
     Priority:  normal       |  Milestone:
    Component:  Tor Browser  |    Version:
   Resolution:               |   Keywords:  meek
Actual Points:               |  Parent ID:
       Points:               |
-----------------------------+----------------------

Comment (by dcf):

 I tried this patch (copying the host and port from the URI into the
 "direct" nsIProxyInfo, rather than using empty values), but it didn't
 work. It also didnt' work if I hardcoded 443 for the port.
 {{{
 --- a/firefox/components/main.js
 +++ b/firefox/components/main.js
 @@ -149,3 +149,3 @@ MeekHTTPHelper.lookupStatus = function(status) {
  //   {"type": "socks4a", "host": "example.com", "port": 1080}
 -MeekHTTPHelper.buildProxyInfo = function(spec) {
 +MeekHTTPHelper.buildProxyInfo = function(spec, uri) {
      // https://developer.mozilla.org/en-
 US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIProxyInfo#Constants
 @@ -154,3 +154,3 @@ MeekHTTPHelper.buildProxyInfo = function(spec) {
          // "direct"; i.e., no proxy. This is the default.
 -        return MeekHTTPHelper.proxyProtocolService.newProxyInfo("direct",
 "", 0, flags, 0xffffffff, null);
 +        return MeekHTTPHelper.proxyProtocolService.newProxyInfo("direct",
 uri.host, uri.port, flags, 0xffffffff, null);
      } else if (spec.type === "http") {
 @@ -198,5 +198,7 @@ MeekHTTPHelper.LocalConnectionHandler.prototype = {

 +        var uri = MeekHTTPHelper.ioService.newURI(req.url, null, null);
 +
          // Check what proxy to use, if any.
          // dump("using proxy " + JSON.stringify(req.proxy) + "\n");
 -        var proxyInfo = MeekHTTPHelper.buildProxyInfo(req.proxy);
 +        var proxyInfo = MeekHTTPHelper.buildProxyInfo(req.proxy, uri);
          if (proxyInfo === null) {
 @@ -208,3 +210,2 @@ MeekHTTPHelper.LocalConnectionHandler.prototype = {
          // https://developer.mozilla.org/en-
 US/docs/XPCOM_Interface_Reference/nsIHttpChannel
 -        var uri = MeekHTTPHelper.ioService.newURI(req.url, null, null);
          this.channel =
 MeekHTTPHelper.httpProtocolHandler.newProxiedChannel(uri, proxyInfo, 0,
 null)
 }}}

 It seems that previously the code used `!mProxyHost.IsEmpty()` as the
 signal for a proxy being set, not merely `mProxyHost` being true. Maybe
 that old condition should be restored?
 https://gitweb.torproject.org/tor-
 browser.git/diff/netwerk/base/src/nsSocketTransport2.h?h=tor-
 browser-31.2.0esr-4.5-1&id=e0eaf6b471ae3bbc06066232a00f3b27c2bedeee

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/13788#comment:13>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list