[tor-bugs] #12844 [Tor]: Allow Tor2Web mode to specify its own Rendezvous Point

Tor Bug Tracker & Wiki blackhole at torproject.org
Mon Sep 22 18:23:51 UTC 2014


#12844: Allow Tor2Web mode to specify its own Rendezvous Point
------------------------+--------------------------------
     Reporter:  asn     |      Owner:
         Type:  task    |     Status:  needs_revision
     Priority:  normal  |  Milestone:  Tor: 0.2.6.x-final
    Component:  Tor     |    Version:
   Resolution:          |   Keywords:  tor-hs
Actual Points:          |  Parent ID:
       Points:          |
------------------------+--------------------------------

Comment (by asn):

 Replying to [comment:11 nickm]:
 > 1. Why disable cannibalization when we're using this feature?  I'm not
 sure what the benefit is supposed to be, and I don't see it explained
 above.
 >

 I tried to explain in comment:2.

 Cannibalization does not enforce a last  hop in the case of RP circuits:
 https://gitweb.torproject.org/tor.git/blob/00fafe9ab43a6ee8ca5d1338995f9c64b338bdc1:/src/or/circuituse.c#l1704

 If I wanted to allow canibalization, I would either have to extend to a
 4th hop (the wanted RP) or only accept canibalization when the last hop is
 the wanted RP. So I decided to not tinker with that part of the code, and
 disable canibalization for RP circuits completely.

 BTW, note that cannibalization is only disabled for client RP circuits
 (`purpose == CIRCUIT_PURPOSE_C_ESTABLISH_REND`) if
 `Tor2webRendezvousPoints` is enabled.

 Is there a better behavior?


 > 2. I'd be more comfortable if the code here were mostly #if'd out when
 we aren't building with tor2web mode.  (e.g, if the
 pick_tor2web_rendezvous node didn't exist for most builds.)
 >

 Me too. But I'm calling these functions from the unittests. Should I #if
 out the unittests too?

 Unfortunately, I just checked and the `test` binary does not work when
 Tor2web-mode is enabled...
 {{{
 $ ./src/test/test
 Sep 22 21:22:55.408 [err] This copy of Tor was compiled to run in 'tor2web
 mode'. It can only be run with the Tor2webMode torrc option enabled.
 Sep 22 21:22:55.408 [err] set_options(): Bug: Acting on config options
 left us in a broken state. Dying.
 }}}

 > 3. Should we safe_str_client() our choice of rendezvous point?
 >

 Done and pushed!

 > Other than that, does it look okay to me.  Does it work?

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


More information about the tor-bugs mailing list