If instead of a transport method, the torrc lists "*" for a managed proxy, Tor uses that proxy for all transport methods that the plugin supports. So "ClientTransportPlugin * exec /usr/libexec/tor/foobar" tells Tor that Tor should use the foobar plugin for every method that the proxy supports. See the "Managed proxy interface" section below for details on how Tor learns which methods a plugin supports.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items 0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Linked items 0
Link issues together to show that they're related.
Learn more.
This problem seems solvable, even though all the solutions I've
thought of are messy. Example of such a silly solution:
When Tor uses the wildcard transport in TOR_SERVER_TRANSPORTS, it also
places all the bindaddrs for all the transport it knows (from its
state file) to its TOR_PT_SERVER_BINDADDR environment variable. When the
transport proxy supports a transport that is also mentioned in the
_BINDADDR variable, it knows in which port to bind.
For example, if a transport proxy supports the pluggable transports
"one" and "two", and Tor in its state file has saved bindaddrs for the
transports "two", "sixteen" and "thirty", it will create the following
env vars:
When Tor uses the wildcard transport in TOR_SERVER_TRANSPORTS, it also
places all the bindaddrs for all the transport it knows (from its
state file) to its TOR_PT_SERVER_BINDADDR environment variable. When the
transport proxy supports a transport that is also mentioned in the
_BINDADDR variable, it knows in which port to bind.
This is the way I naturally interpreted the spec. You bind server ports that are
listed in TOR_PT_SERVER_BINDADDR
AND listed in TOR_PT_SERVER_TRANSPORTS
AND are one of our supported transports.
It's the intersection of three sets. When TOR_PT_SERVER_TRANSPORTS=*, you skip step 2 (i.e., intersect with the universe).