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: