[tor-bugs] #3523 [Tor]: Allow controllers to post HS descriptors to the HSDir system

Tor Bug Tracker & Wiki blackhole at torproject.org
Fri Mar 27 14:41:13 UTC 2015


#3523: Allow controllers to post HS descriptors to the HSDir system
-----------------------------+-----------------------------------
     Reporter:  rransom      |      Owner:
         Type:  enhancement  |     Status:  needs_revision
     Priority:  minor        |  Milestone:  Tor: 0.2.7.x-final
    Component:  Tor          |    Version:
   Resolution:               |   Keywords:  maybe-proposal tor-hs
Actual Points:               |  Parent ID:  #8993
       Points:               |
-----------------------------+-----------------------------------

Comment (by dgoulet):

 > Hmm. Perhaps something like
 https://gist.github.com/Yawning/b41f29b6893dcdb83cc1 may resolve the
 remaining issues (NB: Untested because I don't have a HS descriptor etc.).
 >
 > Make sure I didn't mess anything up, and probably start seeking a 2nd
 reviewer (dgoulet maybe since he also has been doing control port stuff
 recently).

 Here is the actual gist ;) -->
 https://gist.github.com/Yawning/3feb8c26c3be3355f0e3

 I was reviewing but then you fixed the patch with the above so my review
 is a bit useless now ;). As for the `memchr() and *cp++ = '\n'` thingy,
 that's just plain bad. Assigning something to an originally const char
 pointer is not advise. Actually, if that memory was not in a writable
 section, you hit a big segfault. POSTDESCRIPTOR code should be fixed
 because this is very very bad practice.

 The rest of the patch is fine. I'll have another look at the next revision
 :).

 Here is my review of the tor-spec:

 * This will be problematic because parser and library expect `HSAddress`
 and `AuthType` even if none can be provided. This is why AuthType has a
 "NOAUTH" value and HSAddress, with #14847, will have a "UNKNOWN" value.
 Thus, I would suggest not putting them optional.
 {{{
 - "650" SP "HS_DESC" SP Action SP HSAddress SP AuthType SP HsDir [SP
 DescriptorID]
 - [SP "REASON=" Reason]
 + "650" SP "HS_DESC" SP Action [SP HSAddress] [SP AuthType] SP HsDir
 + [SP DescriptorID] [SP "REASON=" Reason]
 }}}
 * `Server = Fingerprint`, you should allow `LongName` instead.
 `node_get_by_hex_id()` in the code supports that format.
 * "are provide" --> "are provided" ?
 * `Descriptor` should be defined. Again, like in #14847:
 {{{
 Descriptor = The text of the descriptor formatted as specified
 in rend-spec.txt section 1.3 or empty string on failure.
 }}}

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


More information about the tor-bugs mailing list