Skip to content
GitLab
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 330
    • Issues 330
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 31
    • Merge requests 31
  • 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
  • #16458
Closed (moved) (moved)
Open
Issue created Jun 28, 2015 by teor@teor

torspec references UTC, but tor uses unix time (leap second handling)

When the various torspec documents specify time, they refer to UTC. But the implementations used by at least Linux, *BSD and OS X are based on the Unix time epoch.

This makes a difference to how leap seconds are handled: UTC includes leap seconds, but unix time excludes them.

We should:

  • ensure that none of the security properties of tor depend on leap seconds either being present or absent, either individually or in aggregate:
  • every minute is not 60 seconds long (and equivalently for hour, day, week)
  • some epoch times can repeat or be missing
  • UTC and Unix time differ by approximately 30 seconds
  • check how the current Linux, BSD, Windows and OS X implementations handle leap seconds (in roughly that order of priority)
  • consider and document tor's handling of leap seconds

See:

  • https://en.wikipedia.org/wiki/Leap_second
  • https://en.wikipedia.org/wiki/Unix_time
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking