Miroslav Lichvar pushed to branch master at chrony / chrony


Commits:
7ff74d9e by Miroslav Lichvar at 2023-09-12T08:02:36+02:00
conf: fix reloading modified sources specified by IP address

When reloading a modified source from sourcedir which is ordered before
the original source (e.g. maxpoll was decreased), the new source is
added before the original one is removed. If the source is specified by
IP address, the addition fails due to the conflict with the original
source. Sources specified by hostname don't conflict. They are resolved
later (repeatedly if the resolver provides only conflicting addresses).

Split the processing of sorted source lists into two phases, so all
modified sources are removed before they are added again to avoid the
conflict.

Reported-by: Thomas Lange <tho...@corelatus.se>

- - - - -
37deee71 by Miroslav Lichvar at 2023-09-12T08:03:23+02:00
conf: cast subtraction operands in source comparison

Cast the values to int to not break the sorting in case they are changed
to unsigned types.

- - - - -
aa819632 by Miroslav Lichvar at 2023-09-12T08:11:25+02:00
conf: improve log message for failed additions in sources reload

Describe the error status in the log message when adding a source from
sourcedir failed.

- - - - -
a74b6327 by Miroslav Lichvar at 2023-09-12T10:31:36+02:00
siv: add support for AES-GCM-SIV in gnutls

Add support for AES-128-GCM-SIV in the current development code of
gnutls. There doesn't seem to be an API to get the cipher's minimum and
maximum nonce length and it doesn't check for invalid lengths. Hardcode
and check the limits in chrony for now.

- - - - -
55893152 by Miroslav Lichvar at 2023-09-12T10:31:36+02:00
configure: don't try AES-SIV-CMAC in nettle when disabled

Avoid confusing message when --without-nettle is specified.

- - - - -
f2d7baa9 by Miroslav Lichvar at 2023-09-12T10:36:23+02:00
configure: prefer gnutls over nss and tomcrypt for hashing

Reorder the tests in the configure script to prefer gnutls over nss and
tomcrypt as its support includes AES-CMAC.

- - - - -
e08a0ee6 by Miroslav Lichvar at 2023-09-26T14:58:42+02:00
doc: don't require same version for experimental features

- - - - -
bf616eaf by Miroslav Lichvar at 2023-09-26T15:00:06+02:00
util: add conversion between intervals and NTP 64-bit format

This will be needed to save PTP correction in NTP timestamp format.

- - - - -
05f4f79c by Miroslav Lichvar at 2023-09-26T15:01:24+02:00
ntp: rename exp1 extension field

Rename the exp1 extension field to exp_mono_root (monotonic timestamp +
root delay/dispersion) to better distinguish it from future experimental
extension fields.

- - - - -
85db8e3a by Miroslav Lichvar at 2023-09-26T15:02:06+02:00
ntp: assert size of exp_mono_root field

- - - - -
07134f26 by Miroslav Lichvar at 2023-09-26T15:03:33+02:00
ntp: add function for detection of experimental fields

- - - - -
b0267475 by Miroslav Lichvar at 2023-09-26T15:10:19+02:00
ntp: extend local timestamp for PTP correction

Add two new fields to the NTP_Local_Timestamp structure:
- receive duration as the time it takes to receive the ethernet frame,
  currently known only with HW timestamping
- network correction as a generalized PTP correction

The PTP correction is provided by transparent clocks in the correction
field of PTP messages to remove the receive, processing and queueing
delays of network switches and routers. Only one-step end-to-end unicast
transparent clocks are useful for NTP-over-PTP. Two-step transparent
clocks use follow-up messages and peer-to-peer transparent clocks don't
handle delay requests.

The RX duration will be included in the network correction to compensate
for asymmetric link speeds of the server and client as the NTP RX
timestamp corresponds to the end of the reception (in order to
compensate for the asymmetry in the normal case when no corrections
are applied).

- - - - -
6372a9f9 by Miroslav Lichvar at 2023-09-26T15:14:13+02:00
ntp: save PTP correction from NTP-over-PTP messages

When the RX duration is known (HW timestamping), save the PTP correction
from received PTP messages in the local RX timestamp.

- - - - -
d9ae724c by Miroslav Lichvar at 2023-09-26T15:14:13+02:00
ntp: add extension field to provide network correction

To be able to verify PTP corrections, the client will need to know both
the correction of the request received by the server and the correction
of the response. Add a new experimental NTP extension field that the
clients will use to request the correction and servers return the
value.

- - - - -
8eef6310 by Miroslav Lichvar at 2023-09-26T15:14:13+02:00
ntp: add server support for network correction

Provide the network correction (PTP correction + RX duration) of the
request in the new extension field if included in the request and
NTP-over-PTP is enabled.

- - - - -
70cdd8b1 by Miroslav Lichvar at 2023-09-26T15:14:13+02:00
ntp: add client support for network correction

If the network correction is known for both the request and response,
and their sum is not larger that the measured peer delay, allowing the
transparent clocks to be running up to 100 ppm faster than the client's
clock, apply the corrections to the NTP offset and peer delay. Don't
correct the root delay to not change the estimated maximum error.

- - - - -


29 changed files:

- candm.h
- client.c
- cmdmon.c
- cmdparse.c
- conf.c
- configure
- doc/chrony.conf.adoc
- ntp.h
- ntp_core.c
- ntp_core.h
- ntp_io.c
- ntp_io.h
- ntp_io_linux.c
- ntp_sources.c
- ntp_sources.h
- siv_gnutls.c
- stubs.c
- test/compilation/002-scanbuild
- test/compilation/003-sanitizers
- test/simulation/110-chronyc
- test/simulation/142-ptpport → test/simulation/142-ntpoverptp
- test/simulation/144-exp1 → test/simulation/144-monoroot
- test/simulation/test.common
- test/system/008-confload
- test/unit/ntp_core.c
- test/unit/ntp_sources.c
- test/unit/util.c
- util.c
- util.h


View it on GitLab: 
https://gitlab.com/chrony/chrony/-/compare/43320a1d6b3ef0e35ef377e3b0899990f31023ac...70cdd8b1ef77a5eca4bb41b8b7c42a77b0923ba8

-- 
View it on GitLab: 
https://gitlab.com/chrony/chrony/-/compare/43320a1d6b3ef0e35ef377e3b0899990f31023ac...70cdd8b1ef77a5eca4bb41b8b7c42a77b0923ba8
You're receiving this email because of your account on gitlab.com.


Reply via email to