Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
b7ab218
Split NTP protocol specific snapshot from SystemSnapshot
rnijveld Feb 27, 2026
a907356
Remove stratum from Measurement
rnijveld Feb 27, 2026
a379e51
Remove OneWaySourceSnapshot/OneWaySourceUpdate
rnijveld Feb 27, 2026
4c673fd
Remove server id from NtpSnapshot and make it stateless.
davidv1992 Mar 4, 2026
c0473e5
Make systemsnapshot not be stateful.
davidv1992 Mar 4, 2026
d3846a7
Split ntp-specific parts out of ntp_proto::system.
davidv1992 Mar 4, 2026
f296cb1
Make communication between NtpManager and Server implicit.
davidv1992 Mar 4, 2026
bb7256d
Move ntp source creation into the ntp manager.
davidv1992 Apr 10, 2026
3192076
Enable setting usability status of source on sourcecontroller.
davidv1992 Apr 10, 2026
4b1c344
Update oneway source usability via the source controller.
davidv1992 Apr 10, 2026
9dc2ad0
Have ntp_source indicate usability itself.
davidv1992 Apr 10, 2026
d27d3fe
Remove source usability setting via global controller.
davidv1992 Apr 10, 2026
a993d49
Have sources directly put their snapshots in the ntp managers table.
davidv1992 Apr 10, 2026
8dd420f
Make take_control idempotent on TimeSyncController itself.
davidv1992 Apr 10, 2026
68218cc
Store snapshot update before handling measurement.
davidv1992 Apr 10, 2026
44b6312
Make ntp snapshot generation resilient to unknown servers.
davidv1992 Apr 10, 2026
0e205ca
Move accumulated step threshold into time snapshot.
davidv1992 Apr 10, 2026
1cdc82d
Remove source controllers from parent timesync controller on drop.
davidv1992 Apr 10, 2026
a6e3041
Also use synchronization config for initialization of NtpServerInfo.
davidv1992 Apr 10, 2026
3d769f2
Remove system from ntp-proto.
davidv1992 Apr 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 14 additions & 14 deletions fuzz/fuzz_targets/handle.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,16 @@ use std::{
borrow::Cow,
io::{Cursor, Write},
net::IpAddr,
sync::{Arc, RwLock},
time::Duration,
};

use libfuzzer_sys::fuzz_target;
use ntp_proto::{
test_cookie,
v5::{BloomFilter, ServerId},
EncryptResult, ExtensionField, ExtensionHeaderVersion, FilterAction, FilterList,
HandleInnerData, KeySetProvider, NtpClock, NtpDuration, NtpLeapIndicator, NtpTimestamp,
NtpVersion, ReferenceId, Server, ServerConfig, ServerReason, ServerResponse, ServerStatHandler,
SystemSnapshot, TimeSnapshot,
test_cookie, v5::BloomFilter, EncryptResult, ExtensionField, ExtensionHeaderVersion,
FilterAction, FilterList, HandleInnerData, KeySetProvider, NtpClock, NtpDuration,
NtpLeapIndicator, NtpServerInfo, NtpSnapshot, NtpTimestamp, NtpVersion, ReferenceId, Server,
ServerConfig, ServerReason, ServerResponse, ServerStatHandler, TimeSnapshot,
};
use rand::{rngs::StdRng, set_thread_rng, SeedableRng};

Expand Down Expand Up @@ -93,7 +92,7 @@ fuzz_target!(|parts: (

let ip = IpAddr::from(parts.2);

let mut server = Server::new(
let mut server = Server::new_internal(
ServerConfig {
denylist,
allowlist,
Expand All @@ -105,10 +104,12 @@ fuzz_target!(|parts: (
TestClock {
cur: NtpTimestamp::from_seconds_nanos_since_ntp_era(100, 0),
},
SystemSnapshot {
stratum: 1,
reference_id: ReferenceId::NONE,
accumulated_steps_threshold: Some(NtpDuration::from_seconds(0.0)),
Arc::new(RwLock::new(NtpServerInfo {
ntp_snapshot: NtpSnapshot {
stratum: 1,
reference_id: ReferenceId::NONE,
bloom_filter: BloomFilter::new(),
},
time_snapshot: TimeSnapshot {
precision: NtpDuration::from_seconds(0.00001),
root_delay: NtpDuration::from_seconds(0.01),
Expand All @@ -119,10 +120,9 @@ fuzz_target!(|parts: (
root_variance_cubic: 0.0,
leap_indicator: NtpLeapIndicator::NoWarning,
accumulated_steps: NtpDuration::from_seconds(0.0),
accumulated_steps_threshold: None,
},
bloom_filter: BloomFilter::new(),
server_id: ServerId::new(&mut rand::thread_rng()),
},
})),
keyset,
);

Expand Down
9 changes: 5 additions & 4 deletions ntp-proto/src/algorithm/kalman/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -388,7 +388,11 @@ impl<C: NtpClock> InternalTimeSyncController for KalmanClockController<C> {
algo_config,
freq_offset,
desired_freq: 0.0,
timedata: TimeSnapshot::default(),
timedata: TimeSnapshot {
accumulated_steps_threshold: synchronization_config
.accumulated_step_panic_threshold,
..TimeSnapshot::default()
},
in_startup: true,
})
}
Expand Down Expand Up @@ -553,7 +557,6 @@ mod tests {
offset: NtpDuration::from_seconds(1700.0 + noise),
localtime: algo.clock.current_time,

stratum: 0,
root_delay: NtpDuration::default(),
root_dispersion: NtpDuration::default(),
leap: NtpLeapIndicator::NoWarning,
Expand Down Expand Up @@ -801,7 +804,6 @@ mod tests {
offset: NtpDuration::from_seconds(1700.0 + noise),
localtime: algo.clock.current_time,

stratum: 0,
root_delay: NtpDuration::default(),
root_dispersion: NtpDuration::default(),
leap: NtpLeapIndicator::NoWarning,
Expand Down Expand Up @@ -856,7 +858,6 @@ mod tests {
offset: NtpDuration::from_seconds(-3600.0 + noise),
localtime: algo.clock.current_time,

stratum: 0,
root_delay: NtpDuration::default(),
root_dispersion: NtpDuration::default(),
leap: NtpLeapIndicator::NoWarning,
Expand Down
Loading
Loading