[tor-bugs] #13338 [Tor]: Rewrite tor-fw-helper in Go (or another memory-safe language)

Tor Bug Tracker & Wiki blackhole at torproject.org
Sun Nov 2 13:58:03 UTC 2014


#13338: Rewrite tor-fw-helper in Go (or another memory-safe language)
-----------------------------+------------------------------
     Reporter:  arma         |      Owner:  yawning
         Type:  enhancement  |     Status:  needs_review
     Priority:  minor        |  Milestone:  Tor: unspecified
    Component:  Tor          |    Version:
   Resolution:               |   Keywords:  flashproxy
Actual Points:               |  Parent ID:  #5213
       Points:               |
-----------------------------+------------------------------

Comment (by yawning):

 Replying to [comment:21 dcf]:
 > Posting this from a go-fw-helper–enabled flashproxy Tor Browser. I
 suppose it would stop working after a while because flashproxy-client is
 not renewing the mappings, but for now it's working great.

 Depends on which protocol it happened to use.  If it's UPnP it should work
 indefinitely, as long as the router doesn't reboot/misbehave.  I could
 crank up the default lease time for NAT-PMP as a short term workaround
 (the current default value is from the RFC though) as well.

 > What I did:
 >  1.
 >     {{{
 > cp ~/go-fw-helper/go-fw-helper Browser/TorBrowser/Tor/tor-fw-helper
 > }}}
 >  2. Edit Browser/TorBrowser/Data/Tor/torrc-defaults:
 >     {{{
 > ClientTransportPlugin flashproxy exec
 ./TorBrowser/Tor/PluggableTransports/flashproxy-client --register --port-
 forwarding-helper TorBrowser/Tor/tor-fw-helper --log flashproxy-client.log
 --unsafe-logging :0 :9000
 > }}}
 >  3. Allowed UDP from the gateway router and TCP port 9000 in my local
 firewall.

 Ooof.  As something I should document somewhere, the UPnP documentation
 mentions that certain routers do not support the internal port and the
 external port being different.  I'm not sure what the failure mode would
 be like in this case (given how awful some of the UPnP implementations in
 the wild are, I would assume the worst).

 > So, let's get this into Tor Browser. BTW I still think you should name
 your version tor-fw-helper and just replace the current program of that
 name. Like (py)obfsproxy, the implementation language isn't a useful thing
 to have in a program's name.

 Hmm.  Ok.  I can rename the repo sometime soon, I still need to figure out
 where in the tp.o git repository tree this codebase should live in as well
 (and if we have plans to do anything with the old codebase).

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


More information about the tor-bugs mailing list