mirror of
https://gitlab.com/chrony/chrony.git
synced 2025-12-03 18:45:07 -05:00
ntp: don't check for synchronization loop in special reference modes
If a special reference mode is enabled, always pass the test for synchronization loop. This allows chronyd using the initstepslew directive (or the -q/-Q option) to accept time from its own clients after restart as is documented in the chrony.conf man page. This was broken since update to NTPv4.
This commit is contained in:
@@ -1348,7 +1348,8 @@ receive_packet(NTP_Packet *message, struct timeval *now, double now_err, NCR_Ins
|
|||||||
|
|
||||||
/* Test D requires that the remote peer is not synchronised to us to
|
/* Test D requires that the remote peer is not synchronised to us to
|
||||||
prevent a synchronisation loop */
|
prevent a synchronisation loop */
|
||||||
testD = message->stratum <= 1 || pkt_refid != UTI_IPToRefid(&local_addr->ip_addr);
|
testD = message->stratum <= 1 || REF_GetMode() != REF_ModeNormal ||
|
||||||
|
pkt_refid != UTI_IPToRefid(&local_addr->ip_addr);
|
||||||
} else {
|
} else {
|
||||||
offset = delay = dispersion = 0.0;
|
offset = delay = dispersion = 0.0;
|
||||||
sample_time = *now;
|
sample_time = *now;
|
||||||
|
|||||||
Reference in New Issue
Block a user