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: