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.