[tor-bugs] #11612 [meek]: tbb bundle with meek takes (literally) hours to connect

Tor Bug Tracker & Wiki blackhole at torproject.org
Tue Sep 9 00:11:49 UTC 2014


#11612: tbb bundle with meek takes (literally) hours to connect
-----------------------------+--------------------
     Reporter:  cypherpunks  |      Owner:  dcf
         Type:  defect       |     Status:  closed
     Priority:  normal       |  Milestone:
    Component:  meek         |    Version:
   Resolution:  fixed        |   Keywords:
Actual Points:               |  Parent ID:
       Points:               |
-----------------------------+--------------------
Changes (by dcf):

 * status:  needs_information => closed
 * resolution:   => fixed


Comment:

 Replying to [comment:6 dcf]:
 > I think I found the cause of the problem. The Firefox helper requires
 the request from meek-client to be received all at once in one read; i.e.,
 it doesn't buffer and concatenate multiple reads:
 >  * https://gitweb.torproject.org/pluggable-
 transports/meek.git/blob/b1f6a7ece3adaf8a781a5a97877fcf0f20c736a7:/firefox/components/main.js#l362
 > During initial bootstrapping, there are several large requests (up to
 ~80000 bytes after base64) that the helper is required to read in one go.
 It's not surpising that the OS might split such a large payload across
 multiple packets, even on a localhost interface. If I modify meek-client
 to split its write into two writes, I can reproduce the bootstrapping
 failure.

 No, I was wrong—the code was already trying to buffer multiple read
 events. But there was a bug in that code that only arose when it took two
 or more reads to fill a buffer. I wrote a long explanation in the commit
 message:
  * https://gitweb.torproject.org/pluggable-
 transports/meek.git/commitdiff/5b51cf7d301c6f8d5fd3a939dea602c7484111ed
 I'm pretty sure this is the source of the problem. If you want to test it,
 you can patch your main.js file to remove the second argument to the
 `this.buf.subarray` call. I'll ask for this fix to go into the next Tor
 Browser alpha release.

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


More information about the tor-bugs mailing list