[tor-bugs] #11101 [Tor]: Bridges should report implementation versions of their pluggable transports

Tor Bug Tracker & Wiki blackhole at torproject.org
Sat Mar 15 12:04:00 UTC 2014


#11101: Bridges should report implementation versions of their pluggable transports
-----------------------------+--------------------------------
     Reporter:  arma         |      Owner:
         Type:  enhancement  |     Status:  new
     Priority:  normal       |  Milestone:  Tor: 0.2.6.x-final
    Component:  Tor          |    Version:
   Resolution:               |   Keywords:
Actual Points:               |  Parent ID:
       Points:               |
-----------------------------+--------------------------------

Comment (by asn):

 Replying to [comment:1 sysrqb]:
 > (Not having followed the scramblesuit review, this is a general answer)
 >
 > For advertising to a third-party which version of a PT the bridge runs
 the extra-info document will be the place to do it. The pt spec places
 some restrictions on the name:
 >
 > {{{
 >   Method names MUST be C identifiers. That is, method names must begin
 >   with a letter or underscore and the rest of the characters can be
 >   letters, numbers or underscores. No length limit is imposed. The
 >   relevant regular expression is: "[a-zA-Z_][a-zA-Z0-9_]*".
 > }}}
 >
 > so if we amend dir-spec to specify that the `transport` line in the
 extra-info document can include the version by appending a -version_number
 suffix to the name, then this can be retrieved and removed by other
 players (e.g. bridgedb, metrics, etc), e.g. obfsproxy-0.2.6. I'm
 interested if there's a better way than this, though.
 >

 Another kludgy way of doing this would be to define a special ''internal''
 k=v parameter (call it `_version` or something) that gets passed as part
 of the `transport` line `arglist` to BridgeDB, but BridgeDB doesn't give
 it to clients. The `_version` parameter would state the version of the PT.

 In both cases, BridgeDB has to do processing before passing bridges to the
 clients. For example, in the `obfs3-0.2.6` case, it would have to strip
 `-0.2.6` out, and only pass `obfs3`

 > The only catch (that I know of) is that the PT will need to tell tor its
 version number, and I'm not aware of an available mechanism for this (but
 maybe I missed it).

 Indeed there is not. It can be done through the `SMETHOD` line.

 This is not a terrible amount of work, and it's probably worth it. Better
 less-kludgy solutions are welcome.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/11101#comment:2>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list