[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