[tor-bugs] #9349 [Flashproxy]: flashproxy facilitator: Allow clients to specify transports

Tor Bug Tracker & Wiki blackhole at torproject.org
Fri Sep 20 02:14:51 UTC 2013


#9349: flashproxy facilitator: Allow clients to specify transports
----------------------------+-------------------
     Reporter:  asn         |      Owner:  dcf
         Type:  task        |     Status:  new
     Priority:  normal      |  Milestone:
    Component:  Flashproxy  |    Version:
   Resolution:              |   Keywords:
Actual Points:              |  Parent ID:  #7167
       Points:              |
----------------------------+-------------------

Comment (by infinity0):

 Replying to [comment:17 asn]:
 > > `options.relays` should be indexed not by complete transport chains,
 but by transport chains excluding their last element. It should be
 possible for an obfs3|websocket client to talk to an obfs3|tcp relay, if
 there is a proxy that speaks both websocket and tcp. To be specific you
 should key by the tuple `("obfs3",)` and not `("obfs3", "websocket")`.
 > >
 >
 > Not yet done.

 I've gone ahead and completely re-done this part of the code, including
 ripping out the RegSet class. Instead we now have a separate Endpoints
 class to keep track of both client and server endpoints (separately of
 course).

 The added benefit is that we support MOAR THINGS. The obfs3|websocket ->
 obfs3|webrtc proxying now works in principle, as well as obfs3|websocket
 -> obfs3 (aka obfs3|raw-tcp) proxying for proxies that can open raw
 sockets. Additionally, the facilitator now has the ability to ask such raw
 proxies to work a websocket -> websocket tunnel, which wasn't possible
 with the previous "outermost-transport"-based design, which would have
 confined such raw proxies to work raw -> raw tunnels only.

 I know this is quite disruptive (282 insertions, 205 deletions) so I've
 also heavily documented the new class as well as written quite a lot of
 tests for it. I've also fixed a bunch of things, so that "make test"
 actually passes on the facilitator. You can see it here:

 https://github.com/infinity0/flashproxy/blob/bug9349_server/facilitator/facilitator

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


More information about the tor-bugs mailing list