[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [tor-bugs] #3022 [Tor Relay]: Caches should no longer cache v2 networkstatus documents



#3022: Caches should no longer cache v2 networkstatus documents
-----------------------+----------------------------------------------------
 Reporter:  nickm      |          Owner:                    
     Type:  defect     |         Status:  needs_review      
 Priority:  major      |      Milestone:  Tor: 0.2.2.x-final
Component:  Tor Relay  |        Version:                    
 Keywords:             |         Parent:                    
   Points:             |   Actualpoints:                    
-----------------------+----------------------------------------------------

Comment(by mikeperry):

 Replying to [comment:8 arma]:
 > Replying to [comment:7 mikeperry]:
 > > Is there current logic in tor that might cause it to not fetch listed
 Running consensus descriptors? Or is FetchUselessDescriptors currently
 only about fetching non-Running descriptors?
 >
 > FetchUselessDescriptors does that, and also one other thing:
 > {{{
 > int
 > directory_too_idle_to_fetch_descriptors(or_options_t *options, time_t
 now)
 > {
 >   return !directory_caches_dir_info(options) &&
 >          !options->FetchUselessDescriptors &&
 >          rep_hist_circbuilding_dormant(now);
 > }
 > }}}
 > which causes update_consensus_router_descriptor_downloads() to short-
 circuit if true. So, no fetching descriptors (even running ones) if you
 haven't needed circuits lately.

 Does rep_hist_circbuilding_dormant(now) care about circuit purpose and who
 attaches streams? What if only controller circuits are built, and tor only
 sees port 443 in use, and the controller always has a 443 circuit ready
 before attempted use, and furthermore, if __LeaveStreamsUnattached is set,
 so tor never even sees that it needs to try to attach port 443 streams?

 It looks to me as if rep_hist_note_used_port() will not be called if
 LeaveStreamsUnattached is set.

 Am I right in this? This means that I won't fetch any descriptors if only
 the controller is building circuits and attaching them, unless
 FetchUselessDescriptors is set?


 Wrt this bug, I don't think the bw auth use of the option anything to do
 with v2 networkstatus documents, nor does it have anything to do with the
 need to fetch non-Running descriptors.. It is only about making sure Tor
 doesn't decide to stop downloading descriptors, which I believe I've
 experienced in the past, early on in the exit scanner and bw auth
 development. The code paths I mention above seem to show that this is
 still true.

-- 
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/3022#comment:10>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs