[tor-bugs] #2401 [Tor Hidden Services]: rend_cache_store(): We already have a v2 descriptor for service xxxxx

Tor Bug Tracker & Wiki torproject-admin at torproject.org
Tue May 10 00:06:47 UTC 2011


#2401: rend_cache_store(): We already have a v2 descriptor for service xxxxx
------------------------------------+---------------------------------------
    Reporter:  prof7bit             |       Owner:  rransom           
        Type:  defect               |      Status:  closed            
    Priority:  major                |   Milestone:  Tor: 0.2.2.x-final
   Component:  Tor Hidden Services  |     Version:  Tor: unspecified  
  Resolution:  not a bug            |    Keywords:                    
      Parent:                       |      Points:                    
Actualpoints:                       |  
------------------------------------+---------------------------------------
Changes (by rransom):

  * status:  assigned => closed
  * resolution:  => not a bug


Comment:

 Replying to [comment:7 arma]:
 > I wonder if this bug still applies to 0.2.2, given that we dropped the
 v0 hidden service descriptors.

 The log message prof7bit is complaining about can't occur in 0.2.2.x (even
 though the code to emit it was left in), because the 0.2.2.x branch
 doesn't fetch v0 HS descriptors.  It is also not a bug.

 The “We already have a v2 descriptor” message can only occur when Tor has
 just fetched a ''v0'' descriptor; it will happily replace a v2 descriptor
 with another v2 descriptor, or replace a v0 descriptor with another v0
 descriptor.  The client code shouldn't replace a v2 descriptor with a v0
 descriptor or vice versa, for at least two reasons:

  * If the client replaces a v2 descriptor with a v0 descriptor, and later
 retrieves another copy of the same v2 descriptor it had before, it won't
 notice that that's the same descriptor, it'll try all of the introduction
 points in that descriptor again and fail, and ''then'' it'll go looking
 for another descriptor.
  * If the client replaces a v0 descriptor with a v2 descriptor at the
 wrong time, it will trigger #1930 and fail to connect to the HS outright.


 The only actual bug shown in prof7bit's reports here is the following:
 {{{
 Jan 22 15:02:38.010 [info] rend_cache_store_v2_desc_as_client(): We
 already have this service descriptor gtvsxxxxxxxxxxxx.
 }}}
 This is also not a bug in the client code or hidden service server code.
 It is a bug in the directory authorities' assignment of the HSDir flag:
 the set of relays with the HSDir flag needs to remain fairly stable in
 order for the HS directory system to work, but instead the set of HSDir
 relays changes significantly in nearly every new consensus.  In this case,
 the client fetched a descriptor from an HSDir relay which had an old
 descriptor because it was using a different consensus from the one that
 the hidden service server had.  #2649 is one of the tickets opened for
 this issue.

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


More information about the tor-bugs mailing list