[tor-bugs] #7822 [Pluggable transport]: Create an ezpt pluggable transports wrapper
Tor Bug Tracker & Wiki
blackhole at torproject.org
Fri Jan 17 03:36:17 UTC 2014
#7822: Create an ezpt pluggable transports wrapper
-------------------------------------+--------------------------
Reporter: dcf | Owner: asn
Type: project | Status: needs_review
Priority: normal | Milestone:
Component: Pluggable transport | Version:
Resolution: | Keywords: easy
Actual Points: | Parent ID:
Points: |
-------------------------------------+--------------------------
Comment (by dcf):
Replying to [comment:13 asn]:
> OK. I did a code review.
>
> The code looks OK and I don't think it screws up with obfsproxy
internals that much.
>
> I think I'd be up for merging this now, and potentially remove it in the
future if we make a dedicated ezpt program. David what do you think?
You should merge it if you think it makes sense. You should ask: How do
you see it being used as implemented?
I worry a bit that the objective drifted to "implement a stdin–stdout
filter at all costs" from "implement an easy way to prototype transports."
I feel like this is a transport that would have been good to first
prototype as a shell script. Maybe ezpt would be a good application of
goptlib? It has the SOCKS and extorport stuff you need. It would probably
be only 100 lines on top of each of the example plugins.
I don't think we should encourage the use of commands like tr, nor even
mention the possibility in documentation. It's probably not safe to expose
random commands to the network.
I don't think ezpt should make itself responsible for the buffering of its
subprocesses; i.e., I think the stdbuf stuff should be removed. I
understand the reason for it. But this is a
[http://perldoc.perl.org/perlipc.html#Bidirectional-Communication-with-
Another-Process well-known problem] ("buffering is really going to ruin
your day") with a lot of workarounds--we shouldn't codify just one of them
without at least an examination of the alternatives. People can always
stdbuf their own commands if that works for them. This also ties in with
not plugging unsuspecting programs to ezpt.
I also tend to think that there's no reason to try and get multiple
transports running in the same process. Process isolation exists for a
reason, and it works really well. Personally I would want each separate
ezpt to be in a separate process, for better robustness. Running in one
process is fine too, but I don't think we should compromise anything else
to make it possible.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/7822#comment:15>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list