[tor-bugs] #12614 [Pluggable transport]: Design a good way to pass transport options to child PTs

Tor Bug Tracker & Wiki blackhole at torproject.org
Mon Jul 21 19:30:41 UTC 2014


#12614: Design a good way to pass transport options to child PTs
-------------------------------------+---------------------------
     Reporter:  infinity0            |      Owner:  RushingWookie
         Type:  defect               |     Status:  new
     Priority:  normal               |  Milestone:
    Component:  Pluggable transport  |    Version:
   Resolution:                       |   Keywords:  fog
Actual Points:                       |  Parent ID:
       Points:                       |
-------------------------------------+---------------------------

Comment (by RushingWookie):

 Ok, heres a couple of syntaxes

 This syntax attaches the name of each pt to the kv pairs individually.

 1. `ptname1-key1=val1 ptname1-key2=val2 ptname2-key1=val1
 ptname2-key2=val2`

 It looks alright, but I dont like to have to repeat the pt name before
 each key val. It does make each key-val pair completely separate so if tor
 needs to store them internally in a hash then this works. But I took a
 look at how tor parses the bridge lines and I think it uses a smartlist
 (Please correct me if I've got this wrong)

 In this case, the syntax is
 2. `pt=ptname1 key1=val1 key2=val2; pt=ptname2 key1=val1 key2=val2 etc`

 When transmitted in the SOCKS handshake, the semi colon separating the
 groups of options would be escaped so the SOCKS line would be
 `pt1=trebuchet;key1=val1;key2=val2\;pt2=obfs3;key1=val1;key2=val2`

 This looks fairly clean and is easy to parse. If tor is using a hash
 internally to store key vals then this won't work.

 This syntax is
 3. `fog-child=n key1=val1 key2=val2; fog-child=n key1=val1 key2=val2;`
 This one doesn't need to have the pt named and this is an advantage and a
 disadvantage. For key vals that can be given to multiple transports and
 depend on their position in the chain, it works well. But it may be
 confusing if the chain is editted and the key vals are not updated
 accordingly.

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


More information about the tor-bugs mailing list