[tor-bugs] #12538 [Tor]: Make all relays automatically be dir caches

Tor Bug Tracker & Wiki blackhole at torproject.org
Fri Nov 6 12:56:24 UTC 2015


#12538: Make all relays automatically be dir caches
-------------------------------------------------+-------------------------
 Reporter:  cypherpunks                          |          Owner:
     Type:  task                                 |         Status:
 Priority:  High                                 |  needs_review
Component:  Tor                                  |      Milestone:  Tor:
 Severity:  Normal                               |  0.2.8.x-final
 Keywords:  tor-guard, tor-relay, prop237,       |        Version:  Tor:
  026-triaged-1, sebastian-review,               |  unspecified
  027-triaged-1-out, 028-triage, 028-triaged,    |     Resolution:
  mike-can, pre028-patch                         |  Actual Points:
Parent ID:                                       |         Points:
  Sponsor:                                       |  medium/large
-------------------------------------------------+-------------------------

Comment (by asn):

 Replying to [comment:68 nickm]:
 > `feature12538_rebased_7` in my public repository is rebased on master,
 with the NotDir/BelieveNotDir stuff removed, and the bugs mentioned above
 fixed.
 >
 > My only remaining issue is:
 > > * I worry about the definition of dir_server_mode(). Possibly, if we
 have advertised that we're a dirserver, we should actually be a dirserver?
 >

 What are we worrying about here? What do you mean "actually be a
 dirserver"?
 `dir_server_mode()` is:
 {{{
 int
 dir_server_mode(const or_options_t *options)
 {
   if (!options->DirCache)
     return 0;
   return (server_mode(options) || options->DirPort_set) &&
           router_should_be_directory_server(options, 0);
 }
 }}}

 An awkward thing I noticed is that in `router_build_fresh_descriptor()` we
 do:
 {{{
   ri->supports_tunnelled_dir_requests = dir_server_mode(options);
 }}}
 which could be false if our router had a `DirPort` but no support for
 tunneled dir conns. However, looking at the code, I think there is no way
 for this to happen, since all relays with `DirCache` enabled also support
 tunneled dir conns. So I think the code is OK here.

 ---

 BTW, do we have plans for deprecating the DirPort completely? So changing
 the client logic to use `BEGIN_DIR` for everything, and eventually ripping
 off the DirPort code from tor?

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


More information about the tor-bugs mailing list