[tor-bugs] #15816 [Tor]: HS Descriptor Fetch retry behavior is broken.

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Apr 29 19:41:56 UTC 2015


#15816: HS Descriptor Fetch retry behavior is broken.
-------------------------+--------------------------------
     Reporter:  yawning  |      Owner:
         Type:  defect   |     Status:  needs_revision
     Priority:  major    |  Milestone:  Tor: 0.2.7.x-final
    Component:  Tor      |    Version:  Tor: 0.2.7
   Resolution:           |   Keywords:  SponsorR tor-hs
Actual Points:           |  Parent ID:
       Points:  medium   |
-------------------------+--------------------------------
Changes (by special):

 * status:  needs_review => needs_revision


Comment:

 025e135155dd70febbc98eef0fa6bbc7ef32f7f6

 rendclient.c:
 {{{
 +  } else if (query->desc_id_fetch[0] != '\0') {
 +    ret = fetch_v2_desc_by_descid(query->desc_id_fetch, query, hsdirs);
 }}}

 Another case where those are used as strings. This one will make 1/256
 descriptors fail.

 rendcommon.c:
 {{{
 + * needed. Both can be given but the onion address will always be used
 first
 + * to make a descriptor fetch.
 }}}
 Does that mean the descriptor id will be ignored, or that it will be used
 after the onion id, or do we not know? If there isn't any logical behavior
 when both are non-NULL, maybe it shouldn't accept both.

 98fd8a65471ada74e49710f5f112394298e869d2

 purge_hid_serv_from_last_hid_serv_requests docs need to be updated,
 especially to mention that it takes an unencoded desc_id of DIGEST_LEN
 bytes.

 a35440dca4e93ec4caf9ff88d9122a96314fbc32

 rendclient.c:
 {{{
 +      /* Not equal from what we currently have so purge the last hid serv
 +       * request cache and update the descriptor ID with the new value.
 */
 +      purge_hid_serv_from_last_hid_serv_requests(descriptor_id);
 }}}

 This purges the new descriptor id, not the old one.

 Does it matter that when we updating descriptor IDs in
 fetch_v2_desc_by_addr, we don't touch IDs for all replicas?

 ---

 After that, I think this will be LGTM. Sorry I didn't read on and catch
 this stuff yesterday.

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


More information about the tor-bugs mailing list