[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