[tor-bugs] #10671 [Pluggable transport]: Pluggable Transports: Improve method of transferring parameters to client-side transports

Tor Bug Tracker & Wiki blackhole at torproject.org
Thu Jan 23 19:06:48 UTC 2014


#10671: Pluggable Transports: Improve method of transferring parameters to client-
side transports
-------------------------------------+--------------------
     Reporter:  asn                  |      Owner:  asn
         Type:  enhancement          |     Status:  new
     Priority:  normal               |  Milestone:
    Component:  Pluggable transport  |    Version:
   Resolution:                       |   Keywords:
Actual Points:                       |  Parent ID:  #10629
       Points:                       |
-------------------------------------+--------------------

Comment (by dcf):

 e) We make `socks4a` one of the possible `CMETHOD` SOCKS types (along with
 the existing `socks4` and `socks5`), and pass IPv6 addresses as if they
 were host names. Benefits: works with IPv6 (like `socks5`) and has
 unlimited credentials length (like `socks4`). Another benefit: would allow
 Tor to pass host names to pluggable transports (currently it always pre-
 resolves names that you put in a `Bridge` line).

 Downside: it's not safe for PTs to advertise `socks4a` unless they know
 that the tor they are talking to supports it. So we'd either have to bump
 {{{
 TOR_PT_MANAGED_TRANSPORT_VER=2
 }}}
 or (better) make a new variable
 {{{
 TOR_PT_CMETHOD_PROXY_TYPES=socks4,socks5,socks4a
 }}}
 whose default value would be `socks4,socks5`. The nice thing about this is
 that PTs only need to implement SOCKS4a. If they get `socks4a` in
 `TOR_PT_CMETHOD_PROXY_TYPES` (new tor), then they send `socks4a` in their
 `CMETHOD` lines. Otherwise (old tor), they send `socks4`, for which their
 SOCKS4a code also suffices.

 This idea is actually how I assumed tor worked when I added SOCKS to
 goptlib. (I thought that `socks4` was really SOCKS4a, but I was wrong.)
 http://godoc.org/git.torproject.org/pluggable-
 transports/goptlib.git#SocksConn.Grant
 https://gitweb.torproject.org/pluggable-
 transports/goptlib.git/blob/5a089f3f33bab6b066baad3911dc6e0d8231ce1c:/socks.go#l159

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


More information about the tor-bugs mailing list