>Synopsis: rdate(8): manual: -o option has incorrect max date
>Category: man amd64
>Environment:
System : OpenBSD 7.8
Details : OpenBSD 7.8 (GENERIC) #6: Fri Mar 20 10:18:06 MDT 2026
[email protected]:/usr/src/sys/arch/amd64/compile/GENERIC
Architecture: OpenBSD.amd64
Machine : amd64
>Description:
The manual page for rdate(8) states, for the -o option:
-o Use an RFC 868 TCP protocol server instead of SNTP. This
protocol is obsolete as it is not capable of representing dates
past January 19, 2038 03:14:07 GMT.
According to RFC 868, the time protocol's Epoch is 1900-01-01
00:00:00 UTC, not the Unix Epoch, 1970-01-01 UTC. The integer
is an unsigned 32-bit int.
The maximum date, then, is:
datetime.datetime.fromtimestamp(2**32 - 1 - 2208988800, datetime.UTC)
datetime.datetime(2036, 2, 7, 6, 28, 15, tzinfo=datetime.timezone.utc)
>Fix:
-o Use an RFC 868 TCP protocol server instead of SNTP. This
protocol is obsolete as it is not capable of representing dates
past Thu Feb 7 06:28:15 UTC 2036.