make unverified consensus ISOTime accessible through Tor's ControlPort
Currently only verified, accepted Tor consensus ISOTime is available. Quote [Tor control protocol](https://gitweb.torproject.org/torspec.git/tree/control-spec.txt): ``` "consensus/valid-after" "consensus/fresh-until" "consensus/valid-until" Each of these produces an ISOTime describing part of the lifetime of the current (valid, accepted) consensus that Tor has. [New in Tor 0.2.6.3-alpha] ``` Unverified consensus ISOTime is unavailable. This information is interesting in context for anonymity distributions and secure network time synchronization, usability and whatnot. Used by Tails' [tordate](https://git-tails.immerda.ch/tails/tree/config/chroot_local-includes/etc/NetworkManager/dispatcher.d/20-time.sh) or Whonix's [anondate](https://www.whonix.org/wiki/Dev/TimeSync#anondate). However, these tools rely on parsing Tor's log, which is [fragile](https://labs.riseup.net/code/issues/8977). It would be nice, if something like * `consensus-unverified/valid-after` * `consensus-unverified/fresh-until`, * and `consensus-unverified/valid-until` where accessible through Tor's ControlPort. ``` Each of these produces an ISOTime describing part of the lifetime of the unverified (invalid, rejected) consensus that Tor has. [New in Tor 0.2.7.x-...] ``` This feature requests completes the related one `make certificate lifetime accessible through Tor's ControlPort` (legacy/trac#16822). Use cases: * clock slightly off: verified consensus (already implemented: legacy/trac#10395) * clock more off: unverified consensus (this ticket) * clock a lot off: certificate lifetime (legacy/trac#16822)
issue