From ef33a8c17713a52546b54e1034679d3ebdb038af Mon Sep 17 00:00:00 2001 From: Ruben Nijveld Date: Fri, 13 Dec 2024 15:48:56 +0100 Subject: [PATCH] Release 1.4.0 --- CHANGELOG.md | 16 +++ Cargo.lock | 37 +++--- Cargo.toml | 4 +- docs/man/ntp-ctl.8.md | 2 +- docs/man/ntp-daemon.8.md | 2 +- docs/man/ntp-metrics-exporter.8.md | 2 +- docs/man/ntp.toml.5.md | 2 +- docs/precompiled/man/ntp-ctl.8 | 2 +- docs/precompiled/man/ntp-daemon.8 | 2 +- docs/precompiled/man/ntp-metrics-exporter.8 | 2 +- docs/precompiled/man/ntp.toml.5 | 2 +- fuzz/Cargo.lock | 123 +++++++++++++++++--- 12 files changed, 149 insertions(+), 47 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 869824fec..94baa6a81 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +## [1.4.0] - 2024-12-13 + +### Added +- Support for GPS based sources via a GPSd socket +- Added a setting to allow disabling of colors in our logs (`observability.ansi-colors`) + +### Changed +- Fallback to V4 should V5 not work for some reason (if NTPv5 is enabled) +- Make the NTP version of a source configurable +- We now support rustls from 0.21 and up, to allow compilation on more targets + +### Fixed +- Force sync did not work when a single source was configured +- Fix incorrect indexing in decode of ReferenceIdRequest for NTPv5 messages + ## [1.3.1] - 2024-11-28 ### Changed @@ -249,6 +264,7 @@ process. - Fixed a bug in peer dispersion calculation which resulted in overly pessimistic dispersion estimates. +[1.4.0]: https://github.com/pendulum-project/ntpd-rs/compare/v1.3.1...v1.4.0 [1.3.1]: https://github.com/pendulum-project/ntpd-rs/compare/v1.3.0...v1.3.1 [1.3.0]: https://github.com/pendulum-project/ntpd-rs/compare/v1.2.3...v1.3.0 [1.2.3]: https://github.com/pendulum-project/ntpd-rs/compare/v1.2.2...v1.2.3 diff --git a/Cargo.lock b/Cargo.lock index 1fec21cfe..f40f4558e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -115,15 +115,15 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ac0150caa2ae65ca5bd83f25c7de183dea78d4d366469f148435e2acfbad0da" +checksum = "325918d6fe32f23b19878fe4b34794ae41fc19ddbe53b10571a4874d44ffd39b" [[package]] name = "cc" -version = "1.2.1" +version = "1.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd9de9f2205d5ef3fd67e685b0df337994ddd4495e2a28d185500d0e1edfea47" +checksum = "9157bbaa6b165880c27a4293a474c91cdcf265cc68cc829bf10be0964a391caf" dependencies = [ "shlex", ] @@ -268,17 +268,11 @@ version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" -[[package]] -name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - [[package]] name = "indexmap" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" +checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" dependencies = [ "equivalent", "hashbrown", @@ -344,11 +338,10 @@ dependencies = [ [[package]] name = "mio" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ - "hermit-abi", "libc", "wasi", "windows-sys 0.52.0", @@ -356,7 +349,7 @@ dependencies = [ [[package]] name = "ntp-proto" -version = "1.3.1" +version = "1.4.0" dependencies = [ "aead", "aes-siv", @@ -379,7 +372,7 @@ dependencies = [ [[package]] name = "ntpd" -version = "1.3.1" +version = "1.4.0" dependencies = [ "async-trait", "clock-steering", @@ -399,7 +392,7 @@ dependencies = [ [[package]] name = "nts-pool-ke" -version = "1.3.1" +version = "1.4.0" dependencies = [ "ntp-proto", "rustls 0.23.20", @@ -760,9 +753,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "socket2" -version = "0.5.7" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +checksum = "c970269d99b64e60ec3bd6ad27270092a5394c4e309314b18ae3fe575695fbe8" dependencies = [ "libc", "windows-sys 0.52.0", @@ -782,9 +775,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.89" +version = "2.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d46482f1c1c87acd84dea20c1bf5ebff4c757009ed6bf19cfd36fb10e92c4e" +checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" dependencies = [ "proc-macro2", "quote", diff --git a/Cargo.toml b/Cargo.toml index 005b83f0e..718f6d119 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,7 +12,7 @@ resolver = "2" # Global settings for our crates [workspace.package] -version = "1.3.1" +version = "1.4.0" edition = "2021" license = "Apache-2.0 OR MIT" repository = "https://github.com/pendulum-project/ntpd-rs" @@ -67,4 +67,4 @@ zeroize = "1.7" # our own crates used as dependencies, same version as the workspace version # NOTE: keep this part at the bottom of the file, do not change this line -ntp-proto = { version = "1.3.1", path = "./ntp-proto", default-features = false, features = ["__internal-api"] } +ntp-proto = { version = "1.4.0", path = "./ntp-proto", default-features = false, features = ["__internal-api"] } diff --git a/docs/man/ntp-ctl.8.md b/docs/man/ntp-ctl.8.md index 36112dcca..fcd0452c7 100644 --- a/docs/man/ntp-ctl.8.md +++ b/docs/man/ntp-ctl.8.md @@ -1,5 +1,5 @@ # NAME diff --git a/docs/man/ntp-daemon.8.md b/docs/man/ntp-daemon.8.md index e2c880639..a04fdb9e7 100644 --- a/docs/man/ntp-daemon.8.md +++ b/docs/man/ntp-daemon.8.md @@ -1,5 +1,5 @@ # NAME diff --git a/docs/man/ntp-metrics-exporter.8.md b/docs/man/ntp-metrics-exporter.8.md index 92baf0934..efe168335 100644 --- a/docs/man/ntp-metrics-exporter.8.md +++ b/docs/man/ntp-metrics-exporter.8.md @@ -1,5 +1,5 @@ # NAME diff --git a/docs/man/ntp.toml.5.md b/docs/man/ntp.toml.5.md index a4e899f5b..19b8ac513 100644 --- a/docs/man/ntp.toml.5.md +++ b/docs/man/ntp.toml.5.md @@ -1,5 +1,5 @@ # NAME diff --git a/docs/precompiled/man/ntp-ctl.8 b/docs/precompiled/man/ntp-ctl.8 index 7b755d48f..b89b5e819 100644 --- a/docs/precompiled/man/ntp-ctl.8 +++ b/docs/precompiled/man/ntp-ctl.8 @@ -14,7 +14,7 @@ . ftr VB CB . ftr VBI CBI .\} -.TH "NTP-CTL" "8" "" "ntpd-rs 1.3.1" "ntpd-rs" +.TH "NTP-CTL" "8" "" "ntpd-rs 1.4.0" "ntpd-rs" .hy .SH NAME .PP diff --git a/docs/precompiled/man/ntp-daemon.8 b/docs/precompiled/man/ntp-daemon.8 index 6204756b6..43ba48d59 100644 --- a/docs/precompiled/man/ntp-daemon.8 +++ b/docs/precompiled/man/ntp-daemon.8 @@ -14,7 +14,7 @@ . ftr VB CB . ftr VBI CBI .\} -.TH "NTP-DAEMON" "8" "" "ntpd-rs 1.3.1" "ntpd-rs" +.TH "NTP-DAEMON" "8" "" "ntpd-rs 1.4.0" "ntpd-rs" .hy .SH NAME .PP diff --git a/docs/precompiled/man/ntp-metrics-exporter.8 b/docs/precompiled/man/ntp-metrics-exporter.8 index bf9dd41dd..59d34cc03 100644 --- a/docs/precompiled/man/ntp-metrics-exporter.8 +++ b/docs/precompiled/man/ntp-metrics-exporter.8 @@ -14,7 +14,7 @@ . ftr VB CB . ftr VBI CBI .\} -.TH "NTP-METRICS-EXPORTER" "8" "" "ntpd-rs 1.3.1" "ntpd-rs" +.TH "NTP-METRICS-EXPORTER" "8" "" "ntpd-rs 1.4.0" "ntpd-rs" .hy .SH NAME .PP diff --git a/docs/precompiled/man/ntp.toml.5 b/docs/precompiled/man/ntp.toml.5 index a397e4fea..d38e7e4d5 100644 --- a/docs/precompiled/man/ntp.toml.5 +++ b/docs/precompiled/man/ntp.toml.5 @@ -14,7 +14,7 @@ . ftr VB CB . ftr VBI CBI .\} -.TH "NTP.TOML" "5" "" "ntpd-rs 1.3.1" "ntpd-rs" +.TH "NTP.TOML" "5" "" "ntpd-rs 1.4.0" "ntpd-rs" .hy .SH NAME .PP diff --git a/fuzz/Cargo.lock b/fuzz/Cargo.lock index 34d2f55e8..9e0f2ba9f 100644 --- a/fuzz/Cargo.lock +++ b/fuzz/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "aead" @@ -48,6 +48,12 @@ dependencies = [ "derive_arbitrary", ] +[[package]] +name = "bitflags" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" + [[package]] name = "block-buffer" version = "0.10.4" @@ -65,9 +71,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "cc" -version = "1.2.1" +version = "1.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd9de9f2205d5ef3fd67e685b0df337994ddd4495e2a28d185500d0e1edfea47" +checksum = "9157bbaa6b165880c27a4293a474c91cdcf265cc68cc829bf10be0964a391caf" dependencies = [ "jobserver", "libc", @@ -101,6 +107,22 @@ dependencies = [ "digest", ] +[[package]] +name = "core-foundation" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" + [[package]] name = "cpufeatures" version = "0.2.16" @@ -202,9 +224,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.166" +version = "0.2.168" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2ccc108bbc0b1331bd061864e7cd823c0cab660bbe6970e66e2c0614decde36" +checksum = "5aaeb2981e0606ca11d79718f8bb01164f1d6ed75080182d3abf017e6d244b6d" [[package]] name = "libfuzzer-sys" @@ -234,7 +256,7 @@ dependencies = [ [[package]] name = "ntp-proto" -version = "1.3.1" +version = "1.4.0" dependencies = [ "aead", "aes-siv", @@ -242,6 +264,8 @@ dependencies = [ "md-5", "rand 0.8.5", "rustls", + "rustls-native-certs", + "rustls-pemfile", "serde", "tracing", "zeroize", @@ -262,6 +286,12 @@ version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + [[package]] name = "pin-project-lite" version = "0.2.15" @@ -341,14 +371,14 @@ dependencies = [ "libc", "spin", "untrusted", - "windows-sys", + "windows-sys 0.52.0", ] [[package]] name = "rustls" -version = "0.23.19" +version = "0.23.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "934b404430bb06b3fae2cba809eb45a1ab1aecd64491213d7c3301b88393f8d1" +checksum = "5065c3f250cbd332cd894be57c40fa52387247659b14a2d6041d121547903b1b" dependencies = [ "log", "once_cell", @@ -359,6 +389,28 @@ dependencies = [ "zeroize", ] +[[package]] +name = "rustls-native-certs" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5bfb394eeed242e909609f56089eecfe5fda225042e8b171791b9c95f5931e5" +dependencies = [ + "openssl-probe", + "rustls-pemfile", + "rustls-pki-types", + "schannel", + "security-framework", +] + +[[package]] +name = "rustls-pemfile" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "rustls-pki-types" version = "1.10.0" @@ -376,20 +428,52 @@ dependencies = [ "untrusted", ] +[[package]] +name = "schannel" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f29ebaa345f945cec9fbbc532eb307f0fdad8161f281b6369539c8d84876b3d" +dependencies = [ + "windows-sys 0.59.0", +] + +[[package]] +name = "security-framework" +version = "2.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" +dependencies = [ + "bitflags", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa39c7303dc58b5543c94d22c1766b0d31f2ee58306363ea622b10bbc075eaa2" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "serde" -version = "1.0.215" +version = "1.0.216" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f" +checksum = "0b9781016e935a97e8beecf0c933758c97a5520d32930e460142b4cd80c6338e" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.215" +version = "1.0.216" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0" +checksum = "46f859dbbf73865c6627ed570e78961cd3ac92407a2d117204c49232485da55e" dependencies = [ "proc-macro2", "quote", @@ -416,9 +500,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.89" +version = "2.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d46482f1c1c87acd84dea20c1bf5ebff4c757009ed6bf19cfd36fb10e92c4e" +checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" dependencies = [ "proc-macro2", "quote", @@ -495,6 +579,15 @@ dependencies = [ "windows-targets", ] +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets", +] + [[package]] name = "windows-targets" version = "0.52.6"