[chrony-dev] [Git][chrony/chrony][master] 8 commits: socket: set close-on-exec on all reusable sockets

[ Thread Index | Date Index | More chrony.tuxfamily.org/chrony-dev Archives ]


Title: GitLab

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 <thomas@xxxxxxxxxxxx>
    
  • 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:



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/