mirror of
https://gitlab.com/chrony/chrony.git
synced 2025-12-07 11:45:06 -05:00
leapdb: support leap-seconds.list as second source
The existing implementation of getting leap second information from a timezone in get_tz_leap() relies on non-portable C library behaviour. Specifically, mktime is not required to return '60' in the tm_sec field when a leap second is inserted leading to "Timezone right/UTC failed leap second check, ignoring" errors on musl based systems. This patch adds support for getting leap second information from the leap-seconds.list file included with tzdata and adds a new configuration directive leapseclist to switch on the feature.
This commit is contained in:
committed by
Miroslav Lichvar
parent
83f90279b0
commit
53823b9f1c
@@ -680,9 +680,10 @@ trusted and required source.
|
||||
*tai*:::
|
||||
This option indicates that the reference clock keeps time in TAI instead of UTC
|
||||
and that *chronyd* should correct its offset by the current TAI-UTC offset. The
|
||||
<<leapsectz,*leapsectz*>> directive must be used with this option and the
|
||||
database must be kept up to date in order for this correction to work as
|
||||
expected. This option does not make sense with PPS refclocks.
|
||||
<<leapsectz,*leapsectz*>> or <<leapseclist,*leapseclist*>> directive must be
|
||||
used with this option and the database must be kept up to date in order for
|
||||
this correction to work as expected. This option does not make sense with PPS
|
||||
refclocks.
|
||||
*local*:::
|
||||
This option specifies that the reference clock is an unsynchronised clock which
|
||||
is more stable than the system clock (e.g. TCXO, OCXO, or atomic clock) and
|
||||
@@ -1269,6 +1270,19 @@ $ TZ=right/UTC date -d 'Dec 31 2008 23:59:60'
|
||||
Wed Dec 31 23:59:60 UTC 2008
|
||||
----
|
||||
|
||||
[[leapseclist]]*leapseclist* _file_::
|
||||
This directive specifies the path to a file containing a list of leap seconds
|
||||
and TAI-UTC offsets in NIST/IERS format. It is recommended to use
|
||||
the file _leap-seconds.list_ usually included with the system timezone
|
||||
database. The behaviour of this directive is otherwise equivalent to
|
||||
<<leapsectz,*leapsectz*>>.
|
||||
+
|
||||
An example of this directive is:
|
||||
+
|
||||
----
|
||||
leapseclist /usr/share/zoneinfo/leap-seconds.list
|
||||
----
|
||||
|
||||
[[makestep]]*makestep* _threshold_ _limit_::
|
||||
Normally *chronyd* will cause the system to gradually correct any time offset,
|
||||
by slowing down or speeding up the clock as required. In certain situations,
|
||||
|
||||
Reference in New Issue
Block a user