[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