Opened 7 years ago

Closed 6 years ago

Last modified 5 years ago

#10131 closed defect (wontfix)

Clarify whether "*" takes the place of an entire managed transport list

Reported by: dcf Owned by: asn
Priority: Low Milestone:
Component: Circumvention/Pluggable transport Version:
Severity: Keywords: needs-spec-change
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

In this paragraph:

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.

it's not clear whether something like this is allowed and whether it is
the same as just "*":

ServerTransportPlugin foo,*,bar exec </path/to/binary>

The way I read it, "*" has the special meaning of "all transports" only
when it appears by itself. This interpretation is supported by some
later text:

A managed proxy is configured as
   ServerTransportPlugin <methods> exec </path/to/binary> [options]
or
   ServerTransportPlugin * exec </path/to/binary> [options]
"TOR_PT_CLIENT_TRANSPORTS" -- A comma-separated list of which
methods this client should enable, or * if all methods should
be enabled.  The proxy SHOULD ignore methods that it doesn't
recognize.
"TOR_PT_SERVER_TRANSPORTS" -- A comma-separated list of server
methods that the proxy should support, or * if all methods
should be enabled.

The attached patch clarifies the text to match the above interpretation. If that interpretation is wrong, then we should add a "foo,*,bar" example and specify what happens in that case.

Child Tickets

Attachments (1)

0001-Clarify-that-takes-the-place-of-an-entire-method-lis.patch (2.3 KB) - added by dcf 7 years ago.

Download all attachments as: .zip

Change History (10)

comment:1 Changed 7 years ago by asn

Parent ID: #3725
Status: newneeds_review

Adding #3725 as the father of this ticket. Wildcard transports need more work.

Fortunately, we are a long way from a big number of transports.

comment:2 Changed 7 years ago by dcf

pyptlib allows "*" to appear as an element in a list of other transports. It sets the allTransportsEnabled which is read later.

goptlib uses the interpretation that only the exact string "*" has a special meaning. It causes the library to immediately return user's entire transport list.

Another interesting use case for "*": flashproxy-client wants to support the two transport names "flashproxy" and "websocket" as aliases. You can ask for either one in TOR_PT_CLIENT_TRANSPORTS and flashproxy-client will open up a listener for you. But when we get "*", we only want to use one of them (flashproxy), not both.

comment:3 Changed 7 years ago by asn

Keywords: needs-spec-change added

comment:4 Changed 6 years ago by yawning

Per: https://lists.torproject.org/pipermail/tor-dev/2015-March/008491.html

I'm tempted to think that this should be removed entirely, especially considering the tor side support code for this has yet to be written.

comment:5 in reply to:  4 Changed 6 years ago by asn

Replying to yawning:

Per: https://lists.torproject.org/pipermail/tor-dev/2015-March/008491.html

I'm tempted to think that this should be removed entirely, especially considering the tor side support code for this has yet to be written.

sounds reasonable to me. i guess we should wontfix this ticket and #3725?

comment:6 Changed 6 years ago by yawning

Yeah, file a separate ticket for updating the PT spec for this change and wontfix the two I think, unless dcf objects (though the tor-dev@ thread was his, so I don't see that happening).

comment:7 Changed 6 years ago by dcf

Do it!

I'll rip all the code out of goptlib!

comment:8 in reply to:  6 Changed 6 years ago by asn

Resolution: wontfix
Status: needs_reviewclosed

Replying to yawning:

Yeah, file a separate ticket for updating the PT spec for this change and wontfix the two I think, unless dcf objects (though the tor-dev@ thread was his, so I don't see that happening).

OK, opened #15612 and WONTFIXing this and #3725.

comment:9 Changed 5 years ago by dcf

Parent ID: #3725

I ripped all the "*" code from goptlib in 65fc8d72ec.

Note: See TracTickets for help on using tickets.