#8403 (moved) was great, but since we decided to implement the PT-outgoing-proxy feature we should also mention how it works in pt-spec.txt (since that's where people who want to develop PTs look at)
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related.
Learn more.
"If the pluggable transport proxy detects that the TOR_PT_PROXY environment variable is set, it attempts connecting to it." I think anyone who has tried implementing this proposal has ignored the "attempts connecting to it" part. See for example comment:4:ticket:12125.
Trying to connect first doesn't make sense in many situations. For instance, tor may start up multiple transport plugins but only use one of them--they all shouldn't be doing a test probe to the same proxy. Not all transports use a single long-lived connection. meek-client is passing its proxy configuration on to the browser extension, and it is the browser extension that actually connects to the proxy--there's no way to "connect" to the proxy at startup.
I propose wording like
If the value of the TOR_PT_PROXY environment variable is a proxy URLusable by the pluggable transport plugin, the plugin writes to stdout: PROXY DONEOtherwise, it writes PROXY-ERROR <errormessage>
If the client PT finds out that the TOR_PT_PROXY environmentvariable is set, the PT is expected to use that as an outgoingproxy.
I would prefer something like:
If the client PT is provided with a TOR_PT_PROXY environmentvariable, it MUST make all outgoing network connections via thesupplied proxy. If it is unable to do so for any reason (eg:malformed value, unsupported proxy type, unreachable proxyaddress), it MUST return a `PROXY_ERROR` and terminate.
Adjust language to taste. The hard-failure requirement should explicitly be listed in the pt-spec instead of being buried in a proposal (as a MUST).