Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Tor Tor
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 316
    • Issues 316
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 36
    • Merge requests 36
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • The Tor Project
  • Core
  • TorTor
  • Issues
  • #26931
Closed
Open
Created Jul 25, 2018 by George Kadianakis@asnContributor

Wrong service-side HSv3 hash ring for HSv3 once a day (low impact)

Here is another bug we found with dgoulet at HOPE:

In set_rotation_time() we set the next rotation time to next midnight:

  service->state.next_rotation_time =
    sr_state_get_start_time_of_current_protocol_run() +
    sr_state_get_protocol_run_duration();

Supposedly we do that because at next midnight the next SRV value is computed, and hence we want the next descriptor to use that next SRV value.

However there is of course no guarantee that the service has the consensus with the right SRV at that point, and actually there is no chance that's the case since the consensus is computed exactly at midnight.

This means that the first upload of the next descriptor is done with a wrong HSDir. We think that this should not actually impact reachability since that first descriptor upload should only be used by severely clock skewed clients.

We should investigate more.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking