Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I wonder if any of the other ntp implementations (chrony et al) suffer from this same issue?


Yeah, it's an issue with NTP the "protocol" not NTP the "program".


To expand on this, NTP uses timestamps with 32 bit seconds (plus fractions of a second), so if you manually step your clock some multiple of ~136 years, the protocol inputs will be the exact same so you'd have no way of knowing you were off from the server.

However, you could imagine an NTP implementation which hardcodes the approximate starting time to get the right era. You'd only have to recompile every lifetime or so to keep it up to date.


> However, you could imagine an NTP implementation which hardcodes the approximate starting time to get the right era. You'd only have to recompile every lifetime or so to keep it up to date.

Yep, see "NTP pivot dates" [0]:

> When ntpd(8) receives a unresolved timestamp from an upstream server that timestamp could be based in any era ... To resolve this ambiguity, NTP also uses an internal pivot date ... An ntpd(8) instance’s pivot date will be the date it was compiled and built.

[0]: https://docs.ntpsec.org/latest/rollover.html#ntp_pivots




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: