[tor-bugs] #9013 [BridgeDB]: BridgeDB should pass pluggable transport shared-secrets to clients

Tor Bug Tracker & Wiki blackhole at torproject.org
Sat Aug 17 15:22:14 UTC 2013


#9013: BridgeDB should pass pluggable transport shared-secrets to clients
----------------------+-----------------------------------------------------
 Reporter:  asn       |          Owner:  isis    
     Type:  defect    |         Status:  assigned
 Priority:  normal    |      Milestone:          
Component:  BridgeDB  |        Version:          
 Keywords:  pt        |         Parent:          
   Points:            |   Actualpoints:          
----------------------+-----------------------------------------------------
Changes (by isis):

  * owner:  => isis
  * status:  new => assigned


Comment:

 Okay, I read over 642ea61bda70f2dafbd89e27aa91a5d452888358 in
 [https://gitweb.torproject.org/user/asn/tor.git/shortlog/refs/heads/bug8978
 asn's bug8978 branch]. It's just an unlimited number of unsanitised
 `key=value` pairs.

 From #9445:
 > The `[arglist]` portion of an <strikethough>extra-info</strikethrough>
 descriptor `transport` string is somewhat problematic, with
 [https://gitweb.torproject.org/torspec.git/commit/a01bb8e8e285d644c2e59c0ea788e45bf37470f4
 the current way that it is specified] -- though it does make sense to be
 spec'd this way. Basically, '''tor does no sanitisation of the `transport`
 line `[arglist]`''' for a pluggable transport sending args, because it is
 within the treat model to assume that the transport is a trusted
 application.
 >
 >However, '''this puts all the responsibility of parsing on BridgeDB'''.
 Which is also fine, and much more doable in Python than in C...it's just
 that '''writers of pluggable transports which they would like to see
 deployed need to create a spec, and need to create a ticket for BridgeDB
 that points to the spec and says exactly what BridgeDB should parse
 for.'''

 Another minor source of confusion, in little-t tor, the `[arglist]` is
 carried around as a comma-separated string, whereas in the actual bridge
 extra-info descriptors it seems to be space-separated like this:
 {{{
 transport obfs3 11.22.33.44:443 [exec /usr/local/bin/obfsproxy managed]
 }}}
 and so it's not actually following the `[arglist]`
 [https://gitweb.torproject.org/user/asn/torspec.git/commitdiff/27eaaaeaa79d800f81643d0c4333a6906e673db3
 specification]. If I understood that spec correctly, it should be like
 this:
 {{{
 transport obfs3 11.22.33.44:443
 [ARGS:exec=/usr/local/bin/obfsproxy,runtime=managed]
 }}}
 or something.

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


More information about the tor-bugs mailing list