Trac: Description: The control-spec does have it specified (see section 4.1.25) but Tor doesn't provide it.
to
The control-spec does have it specified (see section 4.1.25) but Tor doesn't provide it for both RECEIVED and FAILED. Summary: Missing descriptor ID in the failed HS_DESC control event to Missing descriptor ID in some HS_DESC control event
Right now it's pretty difficult to print the descriptor ID every time without some "significant" change to Tor on how HS descriptor query are handled. Ticket #15816 (moved) is part of the solution which would help us fix the full issue.
For now, we can print it when a descriptor ID is used for the fetch (HSFETCH command).
In get_desc_id_from_query(), is it possible that the set of directories we knew about when we launched the query will not match the set that we know about when we call get_desc_id_from_query()? This could happen if we get a new networkstatus in between.
Does get_desc_id_from_query() return a (binary) digest or a hex string or a base32 string or what? It should be documented.
I think so yes, we have already HS control test, I'll see what I can do.
In get_desc_id_from_query(), is it possible that the set of directories we knew about when we launched the query will not match the set that we know about when we call get_desc_id_from_query()? This could happen if we get a new networkstatus in between.
Hrm... indeed, new consensus, churn occurs and thus we have an erroneous HSDir list. Fix to that seems to keep our responsible HSDir in rend_data but that's a bit more complicated because that means one different rend_data per HSDir connection. So would keeping the full list of HSDir fingerprint a reasonable idea?
Does get_desc_id_from_query() return a (binary) digest or a hex string or a base32 string or what? It should be documented.
This came up for the UPLOADED event as well. It would be really nice if the descriptor ID was provided, so that the event can be used to determine if a new HS should be reachable or not.
Yawning mentioned the UPLOADED action. I just checked and that still reports as 'UNKNOWN'. Should that be a separate ticket?
Yeah let's make another ticket about it because this one is already merged and I've looked to adding it to the UPLOADED event and it's a bit more work.