Miroslav Lichvar pushed to branch master at chrony / chrony
Commits: ee9d721b by Miroslav Lichvar at 2023-11-20T13:33:45+01:00 socket: set close-on-exec on all reusable sockets Set the CLOEXEC flag on all reusable sockets in the initialization to avoid leaking them to sendmail (mailonchange directive) in case the chrony configuration doesn't use all sockets provided by systemd. - - - - - 0aa4d5ac by Miroslav Lichvar at 2023-11-21T12:38:39+01:00 socket: provide function for closing reusable sockets - - - - - 9c6eaccc by Miroslav Lichvar at 2023-11-21T12:38:41+01:00 nts: close reusable sockets in helper process Close all reusable sockets when the NTS-KE server helper is forked. It is not supposed to have access to any of the server sockets, just the socket for getting requests from the main process and the syslog socket. - - - - - 2d2642bb by Miroslav Lichvar at 2023-11-21T12:38:41+01:00 ntp: fix presend in interleaved mode The presend option in interleaved mode uses two presend requests instead of one to get an interleaved response from servers like chrony which delay the first interleaved response due to an optimization saving timestamps only for clients actually using the interleaved mode. After commit 0ae6f2485b97 ("ntp: don't use first response in interleaved mode") the first interleaved response following the two presend responses in basic mode is dropped as the preferred set of timestamps minimizing error in delay was already used by the second sample in basic mode. There are only three responses in the burst and no sample is accumulated. Increasing the number of presend requests to three to get a fourth sample would be wasteful. Instead, allow reusing timestamps of the second presend sample in basic mode, which is never accumulated. Reported-by: Aaron Thompson Fixes: 0ae6f2485b97 ("ntp: don't use first response in interleaved mode") - - - - - 4e362958 by Miroslav Lichvar at 2023-11-21T12:38:41+01:00 ntp: allow reusing timestamps of unused samples When switching from basic mode to interleaved mode following a response which wasn't accumulated due to failed test A, B, C, or D, allow timestamps of the failed sample to be reused in interleaved mode, i.e. replacing the server's less accurate transmit timestamp with a more accurate timestamp server can turn a failed sample into acceptable one. Move the presend check into test A to simplify the code. - - - - - cbee464c by Miroslav Lichvar at 2023-11-21T12:38:41+01:00 sources: reselect after resetting selected source Avoid showing in the sources report a selected source which has no samples (e.g. after replacement). - - - - - 5dd288dc by Miroslav Lichvar at 2023-11-21T12:38:41+01:00 sources: reselect earlier when removing selected source When a selected source is being removed, reset the instance and rerun the selection while the source is still marked as selected. This forces a "Can't synchronise" message to be logged when all sources are removed. Reported-by: Thomas Lange <tho...@corelatus.se> - - - - - 1a15be1e by Miroslav Lichvar at 2023-11-21T12:38:41+01:00 sources: drop unreachable log message With forced reselection during source removal selected_source_index can only be INVALID_SOURCE if there are no sources. The "Can't synchronise: no sources" message couldn't be logged even before that as SRC_ReselectSource() resets the index before calling SRC_SelectSource(). Replace the message with an assertion. - - - - - 6 changed files: - ntp_core.c - nts_ke_server.c - socket.c - socket.h - sources.c - test/simulation/114-presend View it on GitLab: https://gitlab.com/chrony/chrony/-/compare/b6eec0068a384bc6fdfc36965b3da459ecd9d170...1a15be1e9e0f541057d55f3d4ab09fb69cadd6be -- View it on GitLab: https://gitlab.com/chrony/chrony/-/compare/b6eec0068a384bc6fdfc36965b3da459ecd9d170...1a15be1e9e0f541057d55f3d4ab09fb69cadd6be You're receiving this email because of your account on gitlab.com.