[tor-dev] regarding control spec for hidden service descriptor

grarpamp grarpamp at gmail.com
Mon Sep 2 08:54:45 UTC 2013

> I am currently working on ticket 8510:
> https://trac.torproject.org/projects/tor/ticket/8510
> However, I notice that in the control spec, there is no event related to
> hidden service descriptors. Should we add a new event in the spec?
> For example, we can have something like the following:
> HS_DESC SP REQUESTED SP OnionAddress SP DescptorID SP AuthType SP HsDir SP
> Any thoughts?

The above basics seem fine.

The controller also needs to accept queries for onion descriptors, eg:
 getinfo n.onion [network]

If the descriptor is not cached, or it is cached but it is just now checked
at query time and found to be expired, set cache to NULL, then fetch and
cache it.
If the descriptor is cached and not expired, allow an optional 'network'
flag to force a refetch from the network and cache it again, but do not
update cache unless the refetch was successful.
Now the current descriptor is cached or NULL, decode and print all the
fields contained within it (all the v2 fields for example). I would suggest
one line per field.
'getinfo ...' always prints an additional special return header field line:
 'n.onion status <status>', where <status> is 'fetchfail' or 'fetchok'
 or 'fromcache' depending on above modes/results.
and also always prints the cached descriptor labels and data fields (if cache is
NULL, just print empty date fields).

More information about the tor-dev mailing list