Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
Trac
Trac
  • Project overview
    • Project overview
    • Details
    • Activity
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Operations
    • Operations
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Create a new issue
  • Issue Boards

GitLab is used only for code review, issue tracking and project management. Canonical locations for source code are still https://gitweb.torproject.org/ https://git.torproject.org/ and git-rw.torproject.org.

  • Legacy
  • TracTrac
  • Issues
  • #17903

Closed (moved)
Open
Opened Dec 20, 2015 by teor@teor

router_pick_trusteddirserver_impl should distinguish between fallbacks and authorities

router_pick_directory_server_impl currently prioritises directories in the following order:

  • tunneled
    • mirrors
    • overloaded mirrors
    • authorities (trusted)
  • direct
    • mirrors
    • overloaded mirrors
    • authorities (trusted)

But router_pick_trusteddirserver_impl uses the following order:

  • tunneled
    • fallbacks + authorities
    • overloaded fallbacks + authorities
  • direct
    • fallbacks + authorities
    • overloaded fallbacks + authorities

I suggest we change it to:

  • tunneled
    • fallbacks
    • overloaded fallbacks
    • authorities
  • direct
    • fallbacks
    • overloaded fallbacks
    • authorities

We should do this for consistency, and to help with #17847 (moved) (unifying these two functions).

(This doesn't make much practical difference, because authorities are weighted 1.0, and fallbacks are weighted ~100,000.0, so authorities get selected very rarely. However, this would modify the effect of the DirAuthorityFallbackRate torrc option.)

If we do this, let's refactor the code so it's all in one place, probably using a macro.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Tor: unspecified
Milestone
Tor: unspecified
Assign milestone
Time tracking
None
Due date
None
Reference: legacy/trac#17903